/*
- Copyright (C) 2006 Paul Davis
+ Copyright (C) 2006 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*/
+#ifdef WAF_BUILD
+#include "libardour-config.h"
+#endif
+
#include <vector>
#include <sys/time.h>
// if these headers come before sigc++ is included
// the parser throws ObjC++ errors. (nil is a keyword)
-#ifdef HAVE_COREAUDIO
+#ifdef HAVE_COREAUDIO
#include "ardour/coreaudiosource.h"
#include <AudioToolbox/ExtendedAudioFile.h>
#include <AudioToolbox/AudioFormat.h>
#include "i18n.h"
+using namespace std;
using namespace ARDOUR;
using namespace PBD;
using namespace Glib;
nframes_t size;
Sample* buf;
- SizedSampleBuffer (nframes_t sz) : size (sz) {
+ SizedSampleBuffer (nframes_t sz) : size (sz) {
buf = new Sample[size];
}
/** Constructor used for new internal-to-session files. */
AudioFileSource::AudioFileSource (Session& s, const ustring& path, bool embedded, Source::Flag flags,
- SampleFormat samp_format, HeaderFormat hdr_format)
+ SampleFormat /*samp_format*/, HeaderFormat /*hdr_format*/)
: Source (s, DataType::AUDIO, path, flags)
, AudioSource (s, path)
, FileSource (s, DataType::AUDIO, path, embedded, flags)
, AudioSource (s, node)
, FileSource (s, node, must_exist)
{
- if (set_state (node)) {
+ if (set_state (node, Stateful::loading_state_version)) {
throw failed_constructor ();
}
ustring str;
/* check for the broken location in use by 2.0 for several months */
-
+
str = broken_peak_path (audio_path);
-
+
if (Glib::file_test (str, Glib::FILE_TEST_EXISTS)) {
-
+
if (is_embedded()) {
-
- /* it would be nice to rename it but the nature of
+
+ /* it would be nice to rename it but the nature of
the bug means that we can't reliably use it.
*/
-
+
peak_path = str;
-
+
} else {
/* all native files are mono, so we can just rename
it.
*/
::rename (str.c_str(), peak_path.c_str());
}
-
+
} else {
/* Nasty band-aid for older sessions that were created before we
used libsndfile for all audio files.
*/
-
-
- str = old_peak_path (audio_path);
+
+
+ str = old_peak_path (audio_path);
if (Glib::file_test (str, Glib::FILE_TEST_EXISTS)) {
peak_path = str;
}
}
int
-AudioFileSource::set_state (const XMLNode& node)
+AudioFileSource::set_state (const XMLNode& node, int version)
{
- if (Source::set_state (node)) {
+ if (Source::set_state (node, version)) {
return -1;
}
- if (AudioSource::set_state (node)) {
+ if (AudioSource::set_state (node, version)) {
return -1;
}
-
- if (FileSource::set_state (node)) {
+
+ if (FileSource::set_state (node, version)) {
return -1;
}
if (!writable()) {
return;
}
-
+
/* XXX notice that we're readers of _peaks_built
but we must hold a solid lock on PeaksReady.
*/
}
bool
-AudioFileSource::is_empty (Session& s, ustring path)
+AudioFileSource::is_empty (Session& /*s*/, ustring path)
{
SoundFileInfo info;
string err;
-
+
if (!get_soundfile_info (path, info, err)) {
/* dangerous: we can't get info, so assume that its not empty */
- return false;
+ return false;
}
return info.length == 0;
".vwe", ".VWE",
".paf", ".PAF",
".voc", ".VOC",
-#ifdef HAVE_FLAC
+ ".ogg", ".OGG",
".flac", ".FLAC",
-#endif // HAVE_FLAC
#ifdef HAVE_COREAUDIO
".mp3", ".MP3",
".aac", ".AAC",