summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-09-10 16:39:35 +0200
committerRobin Gareus <robin@gareus.org>2015-09-10 16:47:26 +0200
commita86aa9e5bc4d2520087310caa4afb3508480b0d7 (patch)
tree6106ebc5a7c623e60c7b8b7a9791eaa1a985dd13
parentb3e84956627f09c679021449bacbab6d2d601139 (diff)
use FileSource::within_session() for peak-files
-rw-r--r--libs/ardour/ardour/audio_playlist_source.h2
-rw-r--r--libs/ardour/ardour/audiofilesource.h2
-rw-r--r--libs/ardour/ardour/audiosource.h4
-rw-r--r--libs/ardour/ardour/session.h2
-rw-r--r--libs/ardour/audio_playlist_source.cc2
-rw-r--r--libs/ardour/audiofilesource.cc8
-rw-r--r--libs/ardour/audiosource.cc6
-rw-r--r--libs/ardour/session.cc8
8 files changed, 17 insertions, 17 deletions
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