X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Faudiofilesource.cc;h=bb3c18f810470ed3b33853da73b2dece1d0ba686;hb=e0ff70cf86c01c42f98faf8b0eaf1a8ccf867946;hp=45ec162f094ec6fcb8dac21af8497b67d77b7198;hpb=78ff3c05a3f5c5d532162b45bdd8857bc402011e;p=ardour.git diff --git a/libs/ardour/audiofilesource.cc b/libs/ardour/audiofilesource.cc index 45ec162f09..bb3c18f810 100644 --- a/libs/ardour/audiofilesource.cc +++ b/libs/ardour/audiofilesource.cc @@ -30,6 +30,7 @@ #include #include +#include "pbd/gstdio_compat.h" #include "pbd/convert.h" #include "pbd/basename.h" #include "pbd/file_utils.h" @@ -42,7 +43,6 @@ #include -#include #include #include #include @@ -68,8 +68,6 @@ using namespace ARDOUR; using namespace PBD; using namespace Glib; -string AudioFileSource::peak_dir = ""; - PBD::Signal0 AudioFileSource::HeaderPositionOffsetChanged; framecnt_t AudioFileSource::header_position_offset = 0; @@ -164,9 +162,17 @@ AudioFileSource::init (const string& pathstr, bool must_exist) } string -AudioFileSource::construct_peak_filepath (const string& audio_path) const +AudioFileSource::construct_peak_filepath (const string& audio_path, const bool in_session, const bool old_peak_name) const { - return _session.construct_peak_filepath (audio_path); + string base; + 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, in_session, old_peak_name); } bool @@ -262,7 +268,7 @@ AudioFileSource::setup_peakfile () return 0; } if (!(_flags & NoPeakFile)) { - return initialize_peakfile (_path); + return initialize_peakfile (_path, within_session()); } else { return 0; } @@ -337,4 +343,4 @@ AudioFileSource::get_interleave_buffer (framecnt_t size) return ssb->buf; } - +