#define __coreaudio_source_h__
#include <appleutility/CAAudioFile.h>
-
#include <ardour/audiofilesource.h>
namespace ARDOUR {
class CoreAudioSource : public AudioFileSource {
public:
CoreAudioSource (ARDOUR::Session&, const XMLNode&);
- CoreAudioSource (ARDOUR::Session&, const string& path_plus_channel, Flag);
+ CoreAudioSource (ARDOUR::Session&, const string& path, int chn, Flag);
~CoreAudioSource ();
float sample_rate() const;
int flush_header () {return 0;};
void set_header_timeline_position () {};
+ static int get_soundfile_info (string path, SoundFileInfo& _info, string& error_msg);
+
protected:
nframes_t read_unlocked (Sample *dst, nframes_t start, nframes_t cnt) const;
nframes_t write_unlocked (Sample *dst, nframes_t cnt) { return 0; }
mutable CAAudioFile af;
uint16_t n_channels;
- mutable float *tmpbuf;
- mutable nframes_t tmpbufsize;
- mutable Glib::Mutex _tmpbuf_lock;
-
- void init (const string &str);
+ void init ();
+ int safe_read (Sample*, nframes_t start, nframes_t cnt, AudioBufferList&) const;
};
}; /* namespace ARDOUR */