summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/sndfilesource.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-02-19 05:45:11 +0000
committerDavid Robillard <d@drobilla.net>2009-02-19 05:45:11 +0000
commit8a28ea6154f78d491afe746b3a2b0230185afb91 (patch)
tree35c6b974624bbfc41297dfd08a068585545cf9a0 /libs/ardour/ardour/sndfilesource.h
parent0f71728a925eb8f16c14c74f0dae9fdd53406a20 (diff)
Introduce new time for session-relative frame time, and make source interface capable of handling 64-bit long sessions.
sframes_t is "session frames". The rules for time stamps are: - Anything relative to transport time, session position, etc, should be sframes_t - Anything relative to jack cycles, including the length thereof, should be nframes_t To support sessions which exceed UINT32_MAX frames, we need to replace all the uses of nframes_t for session time with sframes_t, and make sure the conversions are sound. This does not depend on jack's nframes_t; that we are using the same type at all right now was an oops. This is also be kinda nice for readability since the two different time bases have different types... git-svn-id: svn://localhost/ardour2/branches/3.0@4636 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/sndfilesource.h')
-rw-r--r--libs/ardour/ardour/sndfilesource.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/libs/ardour/ardour/sndfilesource.h b/libs/ardour/ardour/sndfilesource.h
index 5154a7a80c..66544eec8c 100644
--- a/libs/ardour/ardour/sndfilesource.h
+++ b/libs/ardour/ardour/sndfilesource.h
@@ -43,13 +43,13 @@ class SndFileSource : public AudioFileSource {
~SndFileSource ();
float sample_rate () const;
- int update_header (nframes_t when, struct tm&, time_t);
+ int update_header (sframes_t when, struct tm&, time_t);
int flush_header ();
- nframes_t natural_position () const;
+ sframes_t natural_position () const;
- nframes_t last_capture_start_frame() const;
- void mark_capture_start (nframes_t);
+ sframes_t last_capture_start_frame() const;
+ void mark_capture_start (sframes_t);
void mark_capture_end ();
void clear_capture_marks();
@@ -65,10 +65,10 @@ class SndFileSource : public AudioFileSource {
protected:
void set_header_timeline_position ();
- nframes_t read_unlocked (Sample *dst, nframes_t start, nframes_t cnt) const;
+ nframes_t read_unlocked (Sample *dst, sframes_t start, nframes_t cnt) const;
nframes_t write_unlocked (Sample *dst, nframes_t cnt);
- nframes_t write_float (Sample* data, nframes_t pos, nframes_t cnt);
+ nframes_t write_float (Sample* data, sframes_t pos, nframes_t cnt);
private:
SNDFILE *sf;
@@ -77,7 +77,7 @@ class SndFileSource : public AudioFileSource {
void init_sndfile ();
int open();
- int setup_broadcast_info (nframes_t when, struct tm&, time_t);
+ int setup_broadcast_info (sframes_t when, struct tm&, time_t);
/* destructive */
@@ -87,8 +87,8 @@ class SndFileSource : public AudioFileSource {
bool _capture_start;
bool _capture_end;
- nframes_t capture_start_frame;
- nframes_t file_pos; // unit is frames
+ sframes_t capture_start_frame;
+ sframes_t file_pos; // unit is frames
nframes_t xfade_out_count;
nframes_t xfade_in_count;
Sample* xfade_buf;