X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fcoreaudiosource.cc;h=ef99b9afcfb7c5adcb15009837f19c21ed93f95e;hb=bc3e1a212250a67e53e86c972287a275834a967a;hp=bbb0d8ca8987149ccb6e938b582dd3f4f6903d3b;hpb=f6fdd8dcbf41f864e9f0cc32dabe81fe3533ddfe;p=ardour.git diff --git a/libs/ardour/coreaudiosource.cc b/libs/ardour/coreaudiosource.cc index bbb0d8ca89..ef99b9afcf 100644 --- a/libs/ardour/coreaudiosource.cc +++ b/libs/ardour/coreaudiosource.cc @@ -19,7 +19,6 @@ */ #include -#define __STDC_FORMAT_MACROS #include #include "pbd/error.h" @@ -90,20 +89,19 @@ CoreAudioSource::init_cafile () CoreAudioSource::~CoreAudioSource () { - drop_references (); } int -CoreAudioSource::safe_read (Sample* dst, nframes_t start, nframes_t cnt, AudioBufferList& abl) const +CoreAudioSource::safe_read (Sample* dst, framepos_t start, framecnt_t cnt, AudioBufferList& abl) const { - nframes_t nread = 0; + framecnt_t nread = 0; while (nread < cnt) { try { af.Seek (start+nread); } catch (CAXException& cax) { - error << string_compose("CoreAudioSource: %1 to %2 (%3)", cax.mOperation, start+nread, _name.substr (1)) << endmsg; + error << string_compose("CoreAudioSource: %1 to %2 (%3)", cax.mOperation, start+nread, _name.val().substr (1)) << endmsg; return -1; } @@ -139,10 +137,10 @@ CoreAudioSource::safe_read (Sample* dst, nframes_t start, nframes_t cnt, AudioBu } -nframes_t -CoreAudioSource::read_unlocked (Sample *dst, sframes_t start, nframes_t cnt) const +framecnt_t +CoreAudioSource::read_unlocked (Sample *dst, framepos_t start, framecnt_t cnt) const { - nframes_t file_cnt; + framecnt_t file_cnt; AudioBufferList abl; abl.mNumberBuffers = 1; @@ -168,7 +166,7 @@ CoreAudioSource::read_unlocked (Sample *dst, sframes_t start, nframes_t cnt) con } if (file_cnt != cnt) { - nframes_t delta = cnt - file_cnt; + frameoffset_t delta = cnt - file_cnt; memset (dst+file_cnt, 0, sizeof (Sample) * delta); } @@ -176,7 +174,6 @@ CoreAudioSource::read_unlocked (Sample *dst, sframes_t start, nframes_t cnt) con if (n_channels == 1) { if (safe_read (dst, start, file_cnt, abl) == 0) { - _read_data_count = cnt * sizeof (Sample); return cnt; } return 0; @@ -189,13 +186,11 @@ CoreAudioSource::read_unlocked (Sample *dst, sframes_t start, nframes_t cnt) con return 0; } - _read_data_count = cnt * sizeof(float); - Sample *ptr = interleave_buf + _channel; /* stride through the interleaved data */ - for (uint32_t n = 0; n < file_cnt; ++n) { + for (framecnt_t n = 0; n < file_cnt; ++n) { dst[n] = *ptr; ptr += n_channels; } @@ -219,13 +214,13 @@ CoreAudioSource::sample_rate() const } int -CoreAudioSource::update_header (sframes_t when, struct tm&, time_t) +CoreAudioSource::update_header (framepos_t, struct tm&, time_t) { return 0; } int -CoreAudioSource::get_soundfile_info (string path, SoundFileInfo& _info, string& error_msg) +CoreAudioSource::get_soundfile_info (string path, SoundFileInfo& _info, string&) { FSRef ref; ExtAudioFileRef af = 0; @@ -369,3 +364,9 @@ CoreAudioSource::get_soundfile_info (string path, SoundFileInfo& _info, string& return ret; } + +void +CoreAudioSource::set_path (const string& p) +{ + FileSource::set_path (p); +}