summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/io.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-04-14 19:23:58 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-04-14 19:23:58 +0000
commitd68045d6c5933580dace6b63311040f4b1716f72 (patch)
treee5c4a81f190559ab1b1f1bf39f6d0c274c178a8d /libs/ardour/ardour/io.h
parent4558ae1e6e9e91450a45c44d010a9a6f03c6de38 (diff)
EXPERIMENTAL! NEEDS TESTING! remove "offset" from almost everything in the process callback tree
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@4979 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/io.h')
-rw-r--r--libs/ardour/ardour/io.h25
1 files changed, 17 insertions, 8 deletions
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h
index a9be3c9e4e..556e30bfac 100644
--- a/libs/ardour/ardour/io.h
+++ b/libs/ardour/ardour/io.h
@@ -90,18 +90,17 @@ class IO : public PBD::StatefulDestructible
const string& name() const { return _name; }
virtual int set_name (string str, void *src);
- virtual void silence (nframes_t, nframes_t offset);
+ virtual void silence (nframes_t);
// These should be moved in to a separate object that manipulates an IO
- void pan (vector<Sample*>& bufs, uint32_t nbufs, nframes_t nframes, nframes_t offset, gain_t gain_coeff);
+ void pan (vector<Sample*>& bufs, uint32_t nbufs, nframes_t nframes, gain_t gain_coeff);
void pan_automated (vector<Sample*>& bufs, uint32_t nbufs, nframes_t start_frame, nframes_t end_frame,
- nframes_t nframes, nframes_t offset);
- void collect_input (vector<Sample*>&, uint32_t nbufs, nframes_t nframes, nframes_t offset);
- void deliver_output (vector<Sample*>&, uint32_t nbufs, nframes_t nframes, nframes_t offset);
- void deliver_output_no_pan (vector<Sample*>&, uint32_t nbufs, nframes_t nframes, nframes_t offset);
- void just_meter_input (nframes_t start_frame, nframes_t end_frame,
- nframes_t nframes, nframes_t offset);
+ nframes_t nframes);
+ void collect_input (vector<Sample*>&, uint32_t nbufs, nframes_t nframes);
+ void deliver_output (vector<Sample*>&, uint32_t nbufs, nframes_t nframes);
+ void deliver_output_no_pan (vector<Sample*>&, uint32_t nbufs, nframes_t nframes);
+ void just_meter_input (nframes_t start_frame, nframes_t end_frame, nframes_t nframes);
virtual uint32_t n_process_buffers () { return 0; }
@@ -161,6 +160,9 @@ class IO : public PBD::StatefulDestructible
uint32_t n_inputs () const { return _ninputs; }
uint32_t n_outputs () const { return _noutputs; }
+ Sample* get_input_buffer (int n, nframes_t);
+ Sample* get_output_buffer (int n, nframes_t);
+
sigc::signal<void> active_changed;
sigc::signal<void,IOChange,void*> input_changed;
@@ -214,6 +216,7 @@ class IO : public PBD::StatefulDestructible
void reset_max_peak_meters ();
+ static sigc::signal<void,nframes_t> CycleStart;
static void update_meters();
static std::string name_from_state (const XMLNode&);
@@ -348,6 +351,10 @@ class IO : public PBD::StatefulDestructible
int set_inputs (const string& str);
int set_outputs (const string& str);
+ void increment_output_offset (nframes_t);
+
+ void cycle_start (nframes_t);
+
static bool connecting_legal;
static bool ports_legal;
@@ -355,6 +362,8 @@ class IO : public PBD::StatefulDestructible
uint32_t _ninputs;
uint32_t _noutputs;
+ nframes_t _output_offset;
+
/* are these the best variable names ever, or what? */