From fdda19d3d45384fb4f158e4f1af18cc17009e478 Mon Sep 17 00:00:00 2001 From: Taybin Rutkin Date: Tue, 27 Jun 2006 21:57:15 +0000 Subject: [PATCH] CoreAudioSource moved to coreaudiosource.cc. Compiles with new libsndfile class hierarchy. git-svn-id: svn://localhost/ardour2/trunk@647 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/SConscript | 2 +- libs/ardour/ardour/audiofilesource.h | 2 +- .../{coreaudio_source.h => coreaudiosource.h} | 11 ++++++++-- libs/ardour/audio_playlist.cc | 2 +- libs/ardour/audiofilesource.cc | 10 ++++----- ...coreaudio_source.cc => coreaudiosource.cc} | 22 +++++++++---------- 6 files changed, 27 insertions(+), 22 deletions(-) rename libs/ardour/ardour/{coreaudio_source.h => coreaudiosource.h} (84%) rename libs/ardour/{coreaudio_source.cc => coreaudiosource.cc} (92%) diff --git a/libs/ardour/SConscript b/libs/ardour/SConscript index 605911d7ef..f5f1272fb8 100644 --- a/libs/ardour/SConscript +++ b/libs/ardour/SConscript @@ -98,7 +98,7 @@ arch_specific_objects = [ ] osc_files = [ 'osc.cc' ] vst_files = [ 'vst_plugin.cc', 'session_vst.cc' ] -coreaudio_files = [ 'coreaudio_source.cc' ] +coreaudio_files = [ 'coreaudiosource.cc' ] extra_sources = [ ] if ardour['VST']: diff --git a/libs/ardour/ardour/audiofilesource.h b/libs/ardour/ardour/audiofilesource.h index ecbac569d5..9e7c6facae 100644 --- a/libs/ardour/ardour/audiofilesource.h +++ b/libs/ardour/ardour/audiofilesource.h @@ -62,7 +62,7 @@ class AudioFileSource : public AudioSource { cannot. */ - static AudioFileSource* create (string path_plus_channel); + static AudioFileSource* create (const string& path_plus_channel); static AudioFileSource* create (const XMLNode&); static bool get_soundfile_info (string path, SoundFileInfo& _info, string& error); diff --git a/libs/ardour/ardour/coreaudio_source.h b/libs/ardour/ardour/coreaudiosource.h similarity index 84% rename from libs/ardour/ardour/coreaudio_source.h rename to libs/ardour/ardour/coreaudiosource.h index 81f1a14050..ba9f122fc9 100644 --- a/libs/ardour/ardour/coreaudio_source.h +++ b/libs/ardour/ardour/coreaudiosource.h @@ -27,15 +27,22 @@ namespace ARDOUR { class CoreAudioSource : public AudioFileSource { public: - CoreAudioSource (const string& path_plus_channel, bool build_peak = true); CoreAudioSource (const XMLNode&); + CoreAudioSource (const string& path_plus_channel, Flag); ~CoreAudioSource (); float sample_rate() const; int update_header (jack_nframes_t when, struct tm&, time_t); + int flush_header () {return 0;}; + void set_header_timeline_position () {}; + protected: jack_nframes_t read_unlocked (Sample *dst, jack_nframes_t start, jack_nframes_t cnt, char * workbuf) const; + + jack_nframes_t write_unlocked (Sample *dst, jack_nframes_t cnt, char * workbuf) + { return 0; } + private: ExtAudioFileRef af; @@ -45,7 +52,7 @@ class CoreAudioSource : public AudioFileSource { mutable jack_nframes_t tmpbufsize; mutable Glib::Mutex _tmpbuf_lock; - void init (const string &str, bool build_peak); + void init (const string &str); }; }; /* namespace ARDOUR */ diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc index bbbaf42fef..85c11647f4 100644 --- a/libs/ardour/audio_playlist.cc +++ b/libs/ardour/audio_playlist.cc @@ -20,7 +20,7 @@ #include -#include +#include #include diff --git a/libs/ardour/audiofilesource.cc b/libs/ardour/audiofilesource.cc index 1e13a29acc..b22e27b727 100644 --- a/libs/ardour/audiofilesource.cc +++ b/libs/ardour/audiofilesource.cc @@ -42,7 +42,7 @@ // if these headers come before sigc++ is included // the parser throws ObjC++ errors. (nil is a keyword) #ifdef HAVE_COREAUDIO -#include +#include #include #include #endif // HAVE_COREAUDIO @@ -216,11 +216,11 @@ AudioFileSource::create (const string& idstr) AudioFileSource* es = 0; try { - es = new CoreAudioSource (idstr); + es = new CoreAudioSource (idstr, Flag(0x0)); } catch (failed_constructor& err) { - es = new SndFileSource (idstr); + es = new SndFileSource (idstr, Flag(0x0)); } return es; @@ -229,9 +229,9 @@ AudioFileSource::create (const string& idstr) #else AudioFileSource* -AudioFileSource::create (string idstr) +AudioFileSource::create (const string& idstr) { - return new SndFileSource (idstr); + return new SndFileSource (idstr, Flag(0x0)); } #endif // HAVE_COREAUDIO diff --git a/libs/ardour/coreaudio_source.cc b/libs/ardour/coreaudiosource.cc similarity index 92% rename from libs/ardour/coreaudio_source.cc rename to libs/ardour/coreaudiosource.cc index 1b0ee565e7..55409a8524 100644 --- a/libs/ardour/coreaudio_source.cc +++ b/libs/ardour/coreaudiosource.cc @@ -18,8 +18,7 @@ */ #include - -#include +#include #include "i18n.h" @@ -31,22 +30,21 @@ using namespace PBD; CoreAudioSource::CoreAudioSource (const XMLNode& node) : AudioFileSource (node) { - init (_name, true); + init (_name); + AudioSourceCreated (this); /* EMIT SIGNAL */ } -CoreAudioSource::CoreAudioSource (const string& idstr, bool build_peak) - : AudioFileSource(idstr, build_peak) +CoreAudioSource::CoreAudioSource (const string& idstr, Flag flags) + : AudioFileSource(idstr, flags) { - init (idstr, build_peak); + init (idstr); - if (build_peak) { - AudioSourceCreated (this); /* EMIT SIGNAL */ - } + AudioSourceCreated (this); /* EMIT SIGNAL */ } void -CoreAudioSource::init (const string& idstr, bool build_peak) +CoreAudioSource::init (const string& idstr) { string::size_type pos; string file; @@ -132,7 +130,7 @@ CoreAudioSource::init (const string& idstr, bool build_peak) throw failed_constructor (); } - if (build_peak) { + if (_build_peakfiles) { if (initialize_peakfile (false, file)) { error << "initialize peakfile failed" << endmsg; ExtAudioFileDispose (af); @@ -155,7 +153,7 @@ CoreAudioSource::~CoreAudioSource () } jack_nframes_t -CoreAudioSource::read (Sample *dst, jack_nframes_t start, jack_nframes_t cnt, char * workbuf) const +CoreAudioSource::read_unlocked (Sample *dst, jack_nframes_t start, jack_nframes_t cnt, char * workbuf) const { OSStatus err = noErr; -- 2.30.2