summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/diskstream.h
diff options
context:
space:
mode:
authorJesse Chappell <jesse@essej.net>2006-02-17 06:19:24 +0000
committerJesse Chappell <jesse@essej.net>2006-02-17 06:19:24 +0000
commit5c47492d880e07c687a6f5ce542d4a57c822f81c (patch)
tree6255412db4a23a24b9e0fc42575e541a60179c36 /libs/ardour/ardour/diskstream.h
parent9a92c195e3e35263e5caf707c0557d2c9c274c84 (diff)
diskstream fixups for destructive track captures. crossfade fixes for destructive sources.
git-svn-id: svn://localhost/trunk/ardour2@336 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/diskstream.h')
-rw-r--r--libs/ardour/ardour/diskstream.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/ardour/ardour/diskstream.h b/libs/ardour/ardour/diskstream.h
index 1d06c4ee49..007f5282d0 100644
--- a/libs/ardour/ardour/diskstream.h
+++ b/libs/ardour/ardour/diskstream.h
@@ -268,6 +268,18 @@ class DiskStream : public Stateful, public sigc::trackable
~DiskStream();
+ enum TransitionType {
+ CaptureStart = 0,
+ CaptureEnd
+ };
+
+ struct CaptureTransition {
+
+ TransitionType type;
+ // the start or end file frame pos
+ jack_nframes_t capture_val;
+ };
+
struct ChannelInfo {
Sample *playback_wrap_buffer;
@@ -292,10 +304,15 @@ class DiskStream : public Stateful, public sigc::trackable
RingBufferNPT<Sample>::rw_vector playback_vector;
RingBufferNPT<Sample>::rw_vector capture_vector;
+
+ RingBufferNPT<CaptureTransition> * capture_transition_buf;
+ // the following are used in the butler thread only
+ jack_nframes_t curr_capture_cnt;
};
typedef vector<ChannelInfo> ChannelList;
+
string _name;
ARDOUR::Session& _session;
ARDOUR::IO* _io;