Rename internal sends when their send-to bus changes.
[ardour.git] / libs / ardour / session_events.cc
index 716ade0075abe64c463be427dae349230ee1fa8e..7304991948a9f62a27ba70e869102e925159045f 100644 (file)
@@ -23,6 +23,7 @@
 #include "ardour/timestamps.h"
 
 #include "pbd/error.h"
+#include "pbd/enumwriter.h"
 #include <glibmm/thread.h>
 
 #include "ardour/ardour.h"
@@ -38,28 +39,6 @@ using namespace PBD;
 
 MultiAllocSingleReleasePool Session::Event::pool ("event", sizeof (Session::Event), 512);
 
-static const char* event_names[] = {
-       "SetTransportSpeed",
-       "SetDiskstreamSpeed",
-       "Locate",
-       "LocateRoll",
-       "LocateRollLocate",
-       "SetLoop",
-       "PunchIn",
-       "PunchOut",
-       "RangeStop",
-       "RangeLocate",
-       "Overwrite",
-       "SetSlaveSource",
-       "Audition",
-       "InputConfigurationChange",
-       "SetAudioRange",
-       "SetMusicRange",
-       "SetPlayRange",
-       "StopOnce",
-       "AutoLoop"
-};
-
 void
 Session::add_event (nframes_t frame, Event::Type type, nframes_t target_frame)
 {
@@ -161,7 +140,7 @@ Session::merge_event (Event* ev)
                for (Events::iterator i = events.begin(); i != events.end(); ++i) {
                        if ((*i)->type == ev->type && (*i)->action_frame == ev->action_frame) {
                          error << string_compose(_("Session: cannot have two events of type %1 at the same frame (%2)."),
-                                                event_names[ev->type], ev->action_frame) << endmsg;
+                                                 enum_2_string (ev->type), ev->action_frame) << endmsg;
                                return;
                        }
                }
@@ -340,7 +319,7 @@ Session::process_event (Event* ev)
                        // cerr << "soft locate to " << ev->target_frame << endl;
                        start_locate (ev->target_frame, false, true, false);
                }
-               _send_smpte_update = true;
+               _send_timecode_update = true;
                break;
 
        case Event::LocateRoll:
@@ -351,7 +330,7 @@ Session::process_event (Event* ev)
                        // cerr << "soft locate to+roll " << ev->target_frame << endl;
                        start_locate (ev->target_frame, true, true, false);
                }
-               _send_smpte_update = true;
+               _send_timecode_update = true;
                break;
 
        case Event::LocateRollLocate:
@@ -362,7 +341,7 @@ Session::process_event (Event* ev)
 
 
        case Event::SetTransportSpeed:
-               set_transport_speed (ev->speed, ev->yes_or_no);
+               set_transport_speed (ev->speed, ev->yes_or_no, ev->second_yes_or_no);
                break;
 
        case Event::PunchIn:
@@ -414,8 +393,8 @@ Session::process_event (Event* ev)
                set_diskstream_speed (static_cast<Diskstream*> (ev->ptr), ev->speed);
                break;
 
-       case Event::SetSlaveSource:
-               set_slave_source (ev->slave);
+       case Event::SetSyncSource:
+               use_sync_source (ev->sync_source);
                break;
 
        case Event::Audition:
@@ -425,17 +404,12 @@ Session::process_event (Event* ev)
                break;
 
        case Event::InputConfigurationChange:
-               post_transport_work = PostTransportWork (post_transport_work | PostTransportInputChange);
+               add_post_transport_work (PostTransportInputChange);
                _butler->schedule_transport_work ();
                break;
 
-       case Event::SetAudioRange:
-               current_audio_range = ev->audio_range;
-               setup_auto_play ();
-               break;
-
-       case Event::SetPlayRange:
-               set_play_range (ev->yes_or_no);
+       case Event::SetPlayAudioRange:
+               set_play_range (ev->audio_range, (ev->speed == 1.0f));
                break;
 
        default: