X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudio_playlist_source.h;h=9c815fb238cdb1ab5618647ca636d29771c3c024;hb=fef79d46bb54c0e9179e54a0977eeb602e4b2db3;hp=273651b7d11c658acef894d1fd73663f90eda490;hpb=d6be900da002cde17570e742bcc48f1588f73dc9;p=ardour.git diff --git a/libs/ardour/ardour/audio_playlist_source.h b/libs/ardour/ardour/audio_playlist_source.h index 273651b7d1..9c815fb238 100644 --- a/libs/ardour/ardour/audio_playlist_source.h +++ b/libs/ardour/ardour/audio_playlist_source.h @@ -32,42 +32,42 @@ namespace ARDOUR { class AudioPlaylist; -class AudioPlaylistSource : public AudioSource, public PlaylistSource { - public: - virtual ~AudioPlaylistSource (); - - bool empty() const; - std::string peak_path (std::string audio_path); - uint32_t n_channels() const; - bool clamped_at_unity () const { return false; } - - framecnt_t read_unlocked (Sample *dst, framepos_t start, framecnt_t cnt) const; - framecnt_t write_unlocked (Sample *src, framecnt_t cnt); - - float sample_rate () const; - int setup_peakfile (); - - XMLNode& get_state (); - int set_state (const XMLNode&, int version); - - bool can_truncate_peaks() const { return false; } - bool can_be_analysed() const { return _length > 0; } - - protected: - friend class SourceFactory; - - AudioPlaylistSource (Session&, const PBD::ID& orig, const std::string& name, boost::shared_ptr, uint32_t chn, - frameoffset_t begin, framecnt_t len, Source::Flag flags); - AudioPlaylistSource (Session&, const XMLNode&); - - private: - uint32_t _playlist_channel; - std::string _peak_path; - - int set_state (const XMLNode&, int version, bool with_descendants); +class LIBARDOUR_API AudioPlaylistSource : public PlaylistSource, public AudioSource { +public: + virtual ~AudioPlaylistSource (); + bool empty() const; + std::string construct_peak_filepath (const std::string& audio_path, const bool in_session = false, const bool old_peak_name = false) const; + uint32_t n_channels() const; + bool clamped_at_unity () const { return false; } + + framecnt_t read_unlocked (Sample *dst, framepos_t start, framecnt_t cnt) const; + framecnt_t write_unlocked (Sample *src, framecnt_t cnt); + + float sample_rate () const; + int setup_peakfile (); + + XMLNode& get_state (); + int set_state (const XMLNode&, int version); + + bool can_truncate_peaks() const { return false; } + bool can_be_analysed() const { return _length > 0; } + +protected: + friend class SourceFactory; + + AudioPlaylistSource (Session&, const PBD::ID& orig, const std::string& name, boost::shared_ptr, uint32_t chn, + frameoffset_t begin, framecnt_t len, Source::Flag flags); + AudioPlaylistSource (Session&, const XMLNode&); + + +private: + uint32_t _playlist_channel; + std::string _peak_path; + + int set_state (const XMLNode&, int version, bool with_descendants); }; - + } /* namespace */ #endif /* __ardour_audio_playlist_source_h__ */