enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
[ardour.git] / libs / ardour / session_process.cc
index 6366abde7196137687307b8e1aa97ded9cbab551..eaa1d055038cf48b610933f40b3ca48da356f29e 100644 (file)
@@ -43,7 +43,7 @@
 
 #include "midi++/mmc.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using namespace ARDOUR;
 using namespace PBD;
@@ -130,10 +130,10 @@ int
 Session::no_roll (pframes_t nframes)
 {
        PT_TIMING_CHECK (4);
-       
+
        framepos_t end_frame = _transport_frame + nframes; // FIXME: varispeed + no_roll ??
        int ret = 0;
-       int declick = get_transport_declick_required();
+       int declick = (config.get_use_transport_fades() ? get_transport_declick_required() : false);
        boost::shared_ptr<RouteList> r = routes.reader ();
 
        if (_click_io) {
@@ -174,12 +174,12 @@ Session::no_roll (pframes_t nframes)
 int
 Session::process_routes (pframes_t nframes, bool& need_butler)
 {
-       int  declick = get_transport_declick_required();
+       int declick = (config.get_use_transport_fades() ? get_transport_declick_required() : false);
        boost::shared_ptr<RouteList> r = routes.reader ();
 
        const framepos_t start_frame = _transport_frame;
        const framepos_t end_frame = _transport_frame + floor (nframes * _transport_speed);
-       
+
        if (_process_graph) {
                DEBUG_TRACE(DEBUG::ProcessThreads,"calling graph/process-routes\n");
                if (_process_graph->process_routes (nframes, start_frame, end_frame, declick, need_butler) < 0) {
@@ -284,7 +284,7 @@ void
 Session::process_with_events (pframes_t nframes)
 {
        PT_TIMING_CHECK (3);
-       
+
        SessionEvent*  ev;
        pframes_t      this_nframes;
        framepos_t     end_frame;
@@ -358,6 +358,7 @@ Session::process_with_events (pframes_t nframes)
        }
 
        if (events.empty() || next_event == events.end()) {
+               try_run_lua (nframes); // also during export ?? ->move to process_without_events()
                process_without_events (nframes);
                return;
        }
@@ -425,6 +426,8 @@ Session::process_with_events (pframes_t nframes)
                                this_nframes = abs (floor(frames_moved / _transport_speed));
                        }
 
+                       try_run_lua (this_nframes);
+
                        if (this_nframes) {
 
                                click (_transport_frame, this_nframes);
@@ -1221,7 +1224,7 @@ Session::compute_stop_limit () const
                return max_framepos;
        }
 
-       
+
        bool const punching_in = (config.get_punch_in () && _locations->auto_punch_location());
        bool const punching_out = (config.get_punch_out () && _locations->auto_punch_location());
 
@@ -1254,12 +1257,15 @@ Session::compute_stop_limit () const
  */
 
 void
-Session::emit_route_signals () const
+Session::emit_route_signals ()
 {
+       // TODO use RAII to allow using these signals in other places
+       BatchUpdateStart(); /* EMIT SIGNAL */
        boost::shared_ptr<RouteList> r = routes.reader ();
        for (RouteList::const_iterator ci = r->begin(); ci != r->end(); ++ci) {
                (*ci)->emit_pending_signals ();
        }
+       BatchUpdateEnd(); /* EMIT SIGNAL */
 }
 
 void