summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/destructive_filesource.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-06-14 21:17:32 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-06-14 21:17:32 +0000
commitb09ab546542040b1d468c9925c60bda2dfd80da8 (patch)
treea64fdab212cbcc61fe0e2cf9d20dbc363141cf2a /libs/ardour/ardour/destructive_filesource.h
parent2387ef8bfb49e60b233244580fd132d25c6dc3e3 (diff)
use libsndfile for all audio file i/o, and rename DiskStream AudioDiskStream
git-svn-id: svn://localhost/ardour2/trunk@589 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/destructive_filesource.h')
-rw-r--r--libs/ardour/ardour/destructive_filesource.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/libs/ardour/ardour/destructive_filesource.h b/libs/ardour/ardour/destructive_filesource.h
index dbaf379257..49a1e3b48a 100644
--- a/libs/ardour/ardour/destructive_filesource.h
+++ b/libs/ardour/ardour/destructive_filesource.h
@@ -23,30 +23,33 @@
#include <string>
-#include <ardour/filesource.h>
+#include <ardour/sndfilesource.h>
struct tm;
namespace ARDOUR {
-class DestructiveFileSource : public FileSource {
+class DestructiveFileSource : public SndFileSource {
public:
- DestructiveFileSource (std::string path, jack_nframes_t rate, bool repair_first = false, SampleFormat samp_format=FormatInt24);
- DestructiveFileSource (const XMLNode&, jack_nframes_t rate);
+ DestructiveFileSource (std::string path, SampleFormat samp_format, HeaderFormat hdr_format, jack_nframes_t rate,
+ Flag flags = AudioFileSource::Flag (AudioFileSource::Writable|
+ AudioFileSource::BuildPeaks));
+
+ DestructiveFileSource (const XMLNode&);
~DestructiveFileSource ();
- int seek (jack_nframes_t frame);
jack_nframes_t last_capture_start_frame() const;
void mark_capture_start (jack_nframes_t);
void mark_capture_end ();
void clear_capture_marks();
- jack_nframes_t write (Sample *src, jack_nframes_t cnt, char * workbuf);
-
XMLNode& get_state ();
static void setup_standard_crossfades (jack_nframes_t sample_rate);
+ protected:
+ jack_nframes_t write_unlocked (Sample *src, jack_nframes_t start, jack_nframes_t cnt, char * workbuf);
+
private:
static jack_nframes_t xfade_frames;
static gain_t* out_coefficient;
@@ -59,7 +62,7 @@ class DestructiveFileSource : public FileSource {
Sample* xfade_buf;
jack_nframes_t crossfade (Sample* data, jack_nframes_t cnt, int dir, char * workbuf);
-
+ void set_timeline_position (jack_nframes_t);
};
}