X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Faudiosource.h;h=59d5add12237bfa39892cbfe3b20749d83ca7e09;hb=57ee61772b6c44e7731619c5c74e45bb860ac4aa;hp=ad56c8834f48676cee837bd1dc1c3a70e9dcaff0;hpb=390ea007c5b6b647e33c924b3429bf49ae83b1ca;p=ardour.git diff --git a/libs/ardour/ardour/audiosource.h b/libs/ardour/ardour/audiosource.h index ad56c8834f..59d5add122 100644 --- a/libs/ardour/ardour/audiosource.h +++ b/libs/ardour/ardour/audiosource.h @@ -96,6 +96,7 @@ class LIBARDOUR_API AudioSource : virtual public Source, } virtual int setup_peakfile () { return 0; } + int close_peakfile (); int prepare_for_peakfile_writes (); void done_with_peakfile_writes (bool done = true); @@ -126,7 +127,7 @@ class LIBARDOUR_API AudioSource : virtual public Source, std::string _peakpath; std::string _captured_for; - int initialize_peakfile (const std::string& path); + int initialize_peakfile (const std::string& path, const bool in_session = false); int build_peaks_from_scratch (); int compute_and_write_peaks (Sample* buf, framecnt_t first_frame, framecnt_t cnt, bool force, bool intermediate_peaks_ready_signal); @@ -136,7 +137,7 @@ class LIBARDOUR_API AudioSource : virtual public Source, virtual framecnt_t read_unlocked (Sample *dst, framepos_t start, framecnt_t cnt) const = 0; virtual framecnt_t write_unlocked (Sample *dst, framecnt_t cnt) = 0; - virtual std::string construct_peak_filepath(const std::string& audio_filepath, bool oldformat = false) const = 0; + virtual std::string construct_peak_filepath (const std::string& audio_path, const bool in_session = false, const bool old_peak_name = false) const = 0; virtual int read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t start, framecnt_t cnt, @@ -155,6 +156,7 @@ class LIBARDOUR_API AudioSource : virtual public Source, * during the handling of the signal. */ mutable Glib::Threads::Mutex _peaks_ready_lock; + Glib::Threads::Mutex _initialize_peaks_lock; int _peakfile_fd; framecnt_t peak_leftover_cnt;