LADSPA logarithmic handling patches from nickm and robsch
[ardour.git] / libs / ardour / session_events.cc
index bf1d9f1a09f3f80310cefc5db329928b6a0e2274..d631eda710a8a0bd34d49e0baf7f78e0c1f5bef0 100644 (file)
 #include <cmath>
 #include <unistd.h>
 
-#include <ardour/timestamps.h>
+#include "ardour/timestamps.h"
 
-#include <pbd/error.h>
+#include "pbd/error.h"
 #include <glibmm/thread.h>
 
-#include <ardour/ardour.h>
-#include <ardour/session.h>
-#include <ardour/audio_diskstream.h>
+#include "ardour/ardour.h"
+#include "ardour/session.h"
+#include "ardour/audio_diskstream.h"
 
 #include "i18n.h"
 
+using namespace std;
 using namespace ARDOUR;
 using namespace PBD;
 
@@ -41,6 +42,7 @@ static const char* event_names[] = {
        "SetDiskstreamSpeed",
        "Locate",
        "LocateRoll",
+       "LocateRollLocate",
        "SetLoop",
        "PunchIn",
        "PunchOut",
@@ -351,13 +353,20 @@ Session::process_event (Event* ev)
                _send_smpte_update = true;
                break;
 
+       case Event::LocateRollLocate:
+               // locate is handled by ::request_roll_at_and_return()
+               _requested_return_frame = ev->target_frame;
+               request_locate (ev->target2_frame, true);
+               break;
+
+
        case Event::SetTransportSpeed:
                set_transport_speed (ev->speed, ev->yes_or_no);
                break;
                
        case Event::PunchIn:
                // cerr << "PunchIN at " << transport_frame() << endl;
-               if (Config->get_punch_in() && record_status() == Enabled) {
+               if (config.get_punch_in() && record_status() == Enabled) {
                        enable_record ();
                }
                remove = false;
@@ -366,7 +375,7 @@ Session::process_event (Event* ev)
                
        case Event::PunchOut:
                // cerr << "PunchOUT at " << transport_frame() << endl;
-               if (Config->get_punch_out()) {
+               if (config.get_punch_out()) {
                        step_back_from_record ();
                }
                remove = false;