diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-09-16 16:11:26 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-09-16 16:11:26 +0000 |
commit | 8e00b86ebb0b6e3fd489b4cac58863d7c16465db (patch) | |
tree | 27e602cbd16a9c948728b578df112b78f0d62c12 /libs/ardour/ardour/sndfileimportable.h | |
parent | 084dda86a7c4391aba4e9f37f752af4846ded15d (diff) |
make resampled sources (during import) report their "natural position" (i.e. BWF timecode) using the samplerate of the session, not the original source, for correct positioning; minor frame{pos,cnt}_t cleanup
git-svn-id: svn://localhost/ardour2/branches/3.0@7785 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/sndfileimportable.h')
-rw-r--r-- | libs/ardour/ardour/sndfileimportable.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/libs/ardour/ardour/sndfileimportable.h b/libs/ardour/ardour/sndfileimportable.h index 6e308415c9..aab8b6ac59 100644 --- a/libs/ardour/ardour/sndfileimportable.h +++ b/libs/ardour/ardour/sndfileimportable.h @@ -33,18 +33,23 @@ class SndFileImportableSource : public ImportableSource { SndFileImportableSource (const std::string& path); virtual ~SndFileImportableSource(); - nframes_t read (Sample* buffer, nframes_t nframes); - uint32_t channels() const; - nframes_t length() const; - nframes_t samplerate() const; - void seek (nframes_t pos); - nframes64_t natural_position() const; - bool clamped_at_unity () const; + nframes_t read (Sample* buffer, nframes_t nframes); + uint32_t channels() const; + framecnt_t length() const; + nframes_t samplerate() const; + void seek (nframes_t pos); + framepos_t natural_position() const; + bool clamped_at_unity () const; protected: SF_INFO sf_info; boost::shared_ptr<SNDFILE> in; - nframes_t timecode; + + /* these are int64_t so as to be independent of whatever + types Ardour may use for framepos_t, framecnt_t etc. + */ + + int64_t timecode; int64_t get_timecode_info (SNDFILE*, SF_BROADCAST_INFO*, bool&); }; |