X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fsource.h;h=bf92e5a6e47bc2855e7d71137438068b957699a6;hb=2b9dc7b380bb4e40171067f42b4010970869a57d;hp=1ffca509fd972ca52b060d3fa3760c52560ac04f;hpb=8713667ec1a6cc9ba56c07f763e5a422cc47fbef;p=ardour.git diff --git a/libs/ardour/ardour/source.h b/libs/ardour/ardour/source.h index 1ffca509fd..bf92e5a6e4 100644 --- a/libs/ardour/ardour/source.h +++ b/libs/ardour/ardour/source.h @@ -24,20 +24,17 @@ #include #include -#include #include "pbd/statefuldestructible.h" #include "ardour/ardour.h" #include "ardour/session_object.h" #include "ardour/data_type.h" -#include "ardour/readable.h" namespace ARDOUR { class Session; -class Playlist; -class Source : public SessionObject, public boost::noncopyable +class Source : public SessionObject { public: enum Flag { @@ -61,12 +58,12 @@ class Source : public SessionObject, public boost::noncopyable time_t timestamp() const { return _timestamp; } void stamp (time_t when) { _timestamp = when; } - virtual sframes_t length (sframes_t pos) const = 0; - virtual void update_length (sframes_t pos, sframes_t cnt) = 0; + virtual framecnt_t length (framepos_t pos) const = 0; + virtual void update_length (framepos_t pos, framecnt_t cnt) = 0; virtual const Glib::ustring& path() const = 0; - virtual nframes64_t natural_position() const { return 0; } + virtual framepos_t natural_position() const { return 0; } void mark_for_remove(); @@ -77,29 +74,21 @@ class Source : public SessionObject, public boost::noncopyable XMLNode& get_state (); int set_state (const XMLNode&, int version); - + bool destructive() const { return (_flags & Destructive); } bool writable () const { return (_flags & Writable); } virtual bool set_destructive (bool /*yn*/) { return false; } virtual bool length_mutable() const { return false; } - void use () { _in_use++; } - void disuse () { if (_in_use) { _in_use--; } } - - void add_playlist (boost::shared_ptr); - void remove_playlist (boost::weak_ptr); - - uint32_t used() const; - - static sigc::signal SourceCreated; - sigc::signal > Switched; + static PBD::Signal1 SourceCreated; + PBD::Signal1 > Switched; bool has_been_analysed() const; virtual bool can_be_analysed() const { return false; } virtual void set_been_analysed (bool yn); virtual bool check_for_analysis_data_on_disk(); - sigc::signal AnalysisChanged; + PBD::Signal0 AnalysisChanged; AnalysisFeatureList transients; std::string get_transients_path() const; @@ -123,11 +112,7 @@ class Source : public SessionObject, public boost::noncopyable mutable Glib::Mutex _analysis_lock; Glib::Mutex _playlist_lock; - typedef std::map, uint32_t > PlaylistMap; - PlaylistMap _playlists; - private: - uint32_t _in_use; void fix_writable_flags (); };