debug flag for session destruction and waf option for boost SP debug
[ardour.git] / libs / ardour / ardour / session.h
index 6ac36f98b61badf8944a1b222931a905c7954cbe..48a7ce7a399f0a62bcc2757f41d7dec16f326042 100644 (file)
@@ -145,7 +145,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
                        RangeStop,
                        RangeLocate,
                        Overwrite,
-                       SetSlaveSource,
+                       SetSyncSource,
                        Audition,
                        InputConfigurationChange,
                        SetPlayAudioRange,
@@ -173,7 +173,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
                void*        ptr;
                bool         yes_or_no;
                nframes64_t  target2_frame;
-               SlaveSource  slave;
+               SyncSource   sync_source;
                Route*       route;
            };
 
@@ -320,6 +320,8 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
                return routes.reader ();
        }
 
+       boost::shared_ptr<RouteList> get_routes_with_internal_returns() const;
+
        uint32_t nroutes() const { return routes.reader()->size(); }
        uint32_t ntracks () const;
        uint32_t nbusses () const;
@@ -517,7 +519,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
                int input_channels, int output_channels, TrackMode mode = Normal, RouteGroup* route_group = 0, uint32_t how_many = 1
                );
 
-       RouteList new_audio_route (int input_channels, int output_channels, RouteGroup* route_group, uint32_t how_many);
+       RouteList new_audio_route (bool aux, int input_channels, int output_channels, RouteGroup* route_group, uint32_t how_many);
 
        std::list<boost::shared_ptr<MidiTrack> > new_midi_track (
                TrackMode mode = Normal, RouteGroup* route_group = 0, uint32_t how_many = 1
@@ -576,8 +578,9 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
        static sigc::signal<void> EndTimeChanged;
        static sigc::signal<void> TimecodeOffsetChanged;
 
-       void   request_slave_source (SlaveSource);
-       bool   synced_to_jack() const { return Config->get_slave_source() == JACK; }
+        std::vector<SyncSource> get_available_sync_options() const;
+       void   request_sync_source (SyncSource);
+        bool   synced_to_jack() const { return config.get_external_sync() && config.get_sync_source() == JACK; }
 
        double transport_speed() const { return _transport_speed; }
        bool   transport_stopped() const { return _transport_speed == 0.0f; }
@@ -1074,9 +1077,10 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
                               nframes_t this_delta, bool starting);
        void follow_slave_silently(nframes_t nframes, float slave_speed);
 
-       void set_slave_source (SlaveSource);
+        void use_sync_source (SyncSource);
+        void drop_sync_source ();
 
-       SlaveSource post_export_slave;
+        bool post_export_sync;
        nframes_t post_export_position;
 
        bool _exporting;
@@ -1475,7 +1479,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
        boost::shared_ptr<Playlist> XMLPlaylistFactory (const XMLNode&);
 
        void playlist_length_changed ();
-       void diskstream_playlist_changed (boost::shared_ptr<Diskstream>);
+       void diskstream_playlist_changed (boost::weak_ptr<Diskstream>);
 
        /* NAMED SELECTIONS */