diff options
Diffstat (limited to 'libs/ardour/ardour/diskstream.h')
-rw-r--r-- | libs/ardour/ardour/diskstream.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/libs/ardour/ardour/diskstream.h b/libs/ardour/ardour/diskstream.h index eb6d936222..a81921b9f1 100644 --- a/libs/ardour/ardour/diskstream.h +++ b/libs/ardour/ardour/diskstream.h @@ -76,8 +76,8 @@ class IO; virtual float playback_buffer_load() const = 0; virtual float capture_buffer_load() const = 0; - void set_flag (Flag f) { _flags |= f; } - void unset_flag (Flag f) { _flags &= ~f; } + void set_flag (Flag f) { _flags = Flag (_flags | f); } + void unset_flag (Flag f) { _flags = Flag (_flags & ~f); } AlignStyle alignment_style() const { return _alignment_style; } void set_align_style (AlignStyle); @@ -104,9 +104,9 @@ class IO; void set_speed (double); void non_realtime_set_speed (); - Playlist* playlist () { return _playlist; } + boost::shared_ptr<Playlist> playlist () { return _playlist; } - virtual int use_playlist (Playlist *); + virtual int use_playlist (boost::shared_ptr<Playlist>); virtual int use_new_playlist () = 0; virtual int use_copy_playlist () = 0; @@ -205,7 +205,7 @@ class IO; virtual void playlist_changed (Change); virtual void playlist_modified (); - virtual void playlist_deleted (Playlist*); + virtual void playlist_deleted (boost::weak_ptr<Playlist>); virtual void finish_capture (bool rec_monitors_input) = 0; virtual void transport_stopped (struct tm&, time_t, bool abort) = 0; @@ -245,7 +245,8 @@ class IO; ARDOUR::Session& _session; ARDOUR::IO* _io; ChanCount _n_channels; - Playlist* _playlist; + + boost::shared_ptr<Playlist> _playlist; mutable gint _record_enabled; double _visible_speed; @@ -299,10 +300,9 @@ class IO; sigc::connection ports_created_c; sigc::connection plmod_connection; - sigc::connection plstate_connection; sigc::connection plgone_connection; - unsigned char _flags; + Flag _flags; }; }; /* namespace ARDOUR */ |