summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorTaybin Rutkin <taybin@taybin.com>2006-06-27 21:57:15 +0000
committerTaybin Rutkin <taybin@taybin.com>2006-06-27 21:57:15 +0000
commitfdda19d3d45384fb4f158e4f1af18cc17009e478 (patch)
treefbd818b6978bd392f082fbd0ef337ebb9948ef9b /libs
parent17916d84bc56bd3c18ce99343eda2f80066b1b64 (diff)
CoreAudioSource moved to coreaudiosource.cc.
Compiles with new libsndfile class hierarchy. git-svn-id: svn://localhost/ardour2/trunk@647 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/SConscript2
-rw-r--r--libs/ardour/ardour/audiofilesource.h2
-rw-r--r--libs/ardour/ardour/coreaudiosource.h (renamed from libs/ardour/ardour/coreaudio_source.h)11
-rw-r--r--libs/ardour/audio_playlist.cc2
-rw-r--r--libs/ardour/audiofilesource.cc10
-rw-r--r--libs/ardour/coreaudiosource.cc (renamed from libs/ardour/coreaudio_source.cc)22
6 files changed, 27 insertions, 22 deletions
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
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 <algorithm>
-#include <stdlib.h>
+#include <cstdlib>
#include <sigc++/bind.h>
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 <ardour/coreaudio_source.h>
+#include <ardour/coreaudiosource.h>
#include <AudioToolbox/ExtendedAudioFile.h>
#include <AudioToolbox/AudioFormat.h>
#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
index 1b0ee565e7..55409a8524 100644
--- a/libs/ardour/coreaudio_source.cc
+++ b/libs/ardour/coreaudiosource.cc
@@ -18,8 +18,7 @@
*/
#include <pbd/error.h>
-
-#include <ardour/coreaudio_source.h>
+#include <ardour/coreaudiosource.h>
#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;