summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_playlist_source.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-05-16 20:16:57 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-05-16 20:16:57 +0000
commit99aa8c6338e47b41143f799fdcb35d1699548076 (patch)
treea61140fd331b49a408894f00dcb8976cbb6543b8 /libs/ardour/audio_playlist_source.cc
parent4b848856ebc2856bf7ab10a000cc88bdd3bc4a4a (diff)
rename join regions op as combine regions; save and restore nested playlists, sources, regions; add undo/redo for combine; fixup peakfile use/discovery
git-svn-id: svn://localhost/ardour2/branches/3.0@9528 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_playlist_source.cc')
-rw-r--r--libs/ardour/audio_playlist_source.cc29
1 files changed, 5 insertions, 24 deletions
diff --git a/libs/ardour/audio_playlist_source.cc b/libs/ardour/audio_playlist_source.cc
index 2160b9bd3a..882a1710e7 100644
--- a/libs/ardour/audio_playlist_source.cc
+++ b/libs/ardour/audio_playlist_source.cc
@@ -34,6 +34,7 @@
#include "ardour/audio_playlist_source.h"
#include "ardour/audioregion.h"
#include "ardour/debug.h"
+#include "ardour/filename_extensions.h"
#include "ardour/session.h"
#include "ardour/session_directory.h"
#include "ardour/session_playlists.h"
@@ -52,14 +53,12 @@ AudioPlaylistSource::AudioPlaylistSource (Session& s, const std::string& name, b
, PlaylistSource (s, name, p, DataType::AUDIO, begin, len, flags)
, _playlist_channel (chn)
{
- _peak_path = Glib::build_filename (_session.session_directory().peak_path().to_string(), name);
-
AudioSource::_length = len;
ensure_buffers_for_level (_level);
}
AudioPlaylistSource::AudioPlaylistSource (Session& s, const XMLNode& node)
- : Source (s, DataType::AUDIO, "toBeRenamed")
+ : Source (s, node)
, AudioSource (s, node)
, PlaylistSource (s, node)
{
@@ -91,7 +90,6 @@ AudioPlaylistSource::get_state ()
snprintf (buf, sizeof (buf), "%" PRIu32, _playlist_channel);
node.add_property ("channel", buf);
- node.add_property ("peak-path", _peak_path);
return node;
}
@@ -124,12 +122,6 @@ AudioPlaylistSource::set_state (const XMLNode& node, int version, bool with_desc
sscanf (prop->value().c_str(), "%" PRIu32, &_playlist_channel);
- if ((prop = node.property (X_("peak-path"))) == 0) {
- throw failed_constructor ();
- }
-
- _peak_path = prop->value ();
-
ensure_buffers_for_level (_level);
return 0;
@@ -224,23 +216,12 @@ AudioPlaylistSource::sample_rate () const
int
AudioPlaylistSource::setup_peakfile ()
{
- /* the peak data is setup once and once only
- */
-
- if (!Glib::file_test (_peak_path, Glib::FILE_TEST_EXISTS)) {
- /* the 2nd argument here will be passed
- in to ::peak_path, and is irrelevant
- since our peak file path is fixed and
- not dependent on anything.
- */
- return initialize_peakfile (false, string());
- }
-
- return 0;
+ _peak_path = Glib::build_filename (_session.session_directory().peak_path().to_string(), name() + ARDOUR::peakfile_suffix);
+ return initialize_peakfile (false, string());
}
string
-AudioPlaylistSource::peak_path (string /*audio_path*/)
+AudioPlaylistSource::peak_path (string /*audio_path_IGNORED*/)
{
return _peak_path;
}