From a86aa9e5bc4d2520087310caa4afb3508480b0d7 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 10 Sep 2015 16:39:35 +0200 Subject: use FileSource::within_session() for peak-files --- libs/ardour/ardour/audio_playlist_source.h | 2 +- libs/ardour/ardour/audiofilesource.h | 2 +- libs/ardour/ardour/audiosource.h | 4 ++-- libs/ardour/ardour/session.h | 2 +- libs/ardour/audio_playlist_source.cc | 2 +- libs/ardour/audiofilesource.cc | 8 ++++---- libs/ardour/audiosource.cc | 6 +++--- libs/ardour/session.cc | 8 ++++---- 8 files changed, 17 insertions(+), 17 deletions(-) (limited to 'libs/ardour') diff --git a/libs/ardour/ardour/audio_playlist_source.h b/libs/ardour/ardour/audio_playlist_source.h index a11749f46c..9c815fb238 100644 --- a/libs/ardour/ardour/audio_playlist_source.h +++ b/libs/ardour/ardour/audio_playlist_source.h @@ -37,7 +37,7 @@ public: virtual ~AudioPlaylistSource (); bool empty() const; - std::string construct_peak_filepath (const std::string& audio_path, bool oldformat = false) 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; } diff --git a/libs/ardour/ardour/audiofilesource.h b/libs/ardour/ardour/audiofilesource.h index 786d1628e8..bad6203bc2 100644 --- a/libs/ardour/ardour/audiofilesource.h +++ b/libs/ardour/ardour/audiofilesource.h @@ -39,7 +39,7 @@ class LIBARDOUR_API AudioFileSource : public AudioSource, public FileSource { public: virtual ~AudioFileSource (); - std::string construct_peak_filepath (const std::string& audio_filepath, bool oldformat = false) const; + std::string construct_peak_filepath (const std::string& audio_path, const bool in_session = false, const bool old_peak_name = false) const; static void set_peak_dir (const std::string& dir) { peak_dir = dir; } diff --git a/libs/ardour/ardour/audiosource.h b/libs/ardour/ardour/audiosource.h index ad56c8834f..ad7884e4f4 100644 --- a/libs/ardour/ardour/audiosource.h +++ b/libs/ardour/ardour/audiosource.h @@ -126,7 +126,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 +136,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, diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 51d3798d1c..79eb2162da 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -210,7 +210,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop std::string plugins_dir () const; ///< Plugin state std::string externals_dir () const; ///< Links to external files - std::string construct_peak_filepath (const std::string&, bool oldformat = false) const; + std::string construct_peak_filepath (const std::string& audio_path, const bool in_session = false, const bool old_peak_name = false) const; bool audio_source_name_is_unique (const std::string& name); std::string format_audio_source_name (const std::string& legalized_base, uint32_t nchan, uint32_t chan, bool destructive, bool take_required, uint32_t cnt, bool related_exists); diff --git a/libs/ardour/audio_playlist_source.cc b/libs/ardour/audio_playlist_source.cc index e9925852b8..8effdd0c80 100644 --- a/libs/ardour/audio_playlist_source.cc +++ b/libs/ardour/audio_playlist_source.cc @@ -217,7 +217,7 @@ AudioPlaylistSource::setup_peakfile () } string -AudioPlaylistSource::construct_peak_filepath (const string& /*audio_path_IGNORED*/, bool /* oldformat IGNORED*/) const +AudioPlaylistSource::construct_peak_filepath (const string& /*audio_path_*/, const bool /* in_session */, const bool /* old_peak_name */) const { return _peak_path; } diff --git a/libs/ardour/audiofilesource.cc b/libs/ardour/audiofilesource.cc index 0c921dae8d..ed189152e5 100644 --- a/libs/ardour/audiofilesource.cc +++ b/libs/ardour/audiofilesource.cc @@ -164,17 +164,17 @@ AudioFileSource::init (const string& pathstr, bool must_exist) } string -AudioFileSource::construct_peak_filepath (const string& audio_path, bool oldformat) const +AudioFileSource::construct_peak_filepath (const string& audio_path, const bool in_session, const bool old_peak_name) const { string base; - if (oldformat) { + if (old_peak_name) { base = audio_path.substr (0, audio_path.find_last_of ('.')); } else { base = audio_path; } base += '%'; base += (char) ('A' + _channel); - return _session.construct_peak_filepath (base, oldformat); + return _session.construct_peak_filepath (base, in_session, old_peak_name); } bool @@ -270,7 +270,7 @@ AudioFileSource::setup_peakfile () return 0; } if (!(_flags & NoPeakFile)) { - return initialize_peakfile (_path); + return initialize_peakfile (_path, within_session()); } else { return 0; } diff --git a/libs/ardour/audiosource.cc b/libs/ardour/audiosource.cc index c79cbbbe26..4439669c4f 100644 --- a/libs/ardour/audiosource.cc +++ b/libs/ardour/audiosource.cc @@ -237,14 +237,14 @@ AudioSource::rename_peakfile (string newpath) } int -AudioSource::initialize_peakfile (const string& audio_path) +AudioSource::initialize_peakfile (const string& audio_path, const bool in_session) { GStatBuf statbuf; - _peakpath = construct_peak_filepath (audio_path); + _peakpath = construct_peak_filepath (audio_path, in_session); if (!empty() && !Glib::file_test (_peakpath.c_str(), Glib::FILE_TEST_EXISTS)) { - string oldpeak = construct_peak_filepath (audio_path, true); + string oldpeak = construct_peak_filepath (audio_path, in_session, true); DEBUG_TRACE(DEBUG::Peaks, string_compose ("Looking for old peak file %1 for Audio file %2\n", oldpeak, audio_path)); if (Glib::file_test (oldpeak.c_str(), Glib::FILE_TEST_EXISTS)) { // TODO use hard-link if possible diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 30ab5e1660..91578c9b17 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -4374,7 +4374,7 @@ peak_file_helper (const string& peak_path, const string& file_path, const string } string -Session::construct_peak_filepath (const string& filepath, bool oldformat) const +Session::construct_peak_filepath (const string& filepath, const bool in_session, const bool old_peak_name) const { string interchange_dir_string = string (interchange_dir_name) + G_DIR_SEPARATOR; @@ -4407,7 +4407,7 @@ Session::construct_peak_filepath (const string& filepath, bool oldformat) const if (in_another_session) { SessionDirectory sd (session_path); - return peak_file_helper (sd.peak_path(), "", Glib::path_get_basename (filepath), !oldformat); + return peak_file_helper (sd.peak_path(), "", Glib::path_get_basename (filepath), !old_peak_name); } } @@ -4421,11 +4421,11 @@ Session::construct_peak_filepath (const string& filepath, bool oldformat) const /* 2) if the file is outside our session dir: * (imported but not copied) add the path for check-summming */ - if (filepath.find (interchange_dir_string) == string::npos) { + if (!in_session) { path = Glib::path_get_dirname (filepath); } - return peak_file_helper (_session_dir->peak_path(), path, Glib::path_get_basename (filepath), !oldformat); + return peak_file_helper (_session_dir->peak_path(), path, Glib::path_get_basename (filepath), !old_peak_name); } string -- cgit v1.2.3