diff options
author | David Robillard <d@drobilla.net> | 2006-08-12 08:20:24 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-08-12 08:20:24 +0000 |
commit | 30ab1fd61569f9d7fb7410d483fa68cbf9865c37 (patch) | |
tree | 60cf9b5228a2728cda6608d517528066253d1a17 /libs/ardour/ardour/insert.h | |
parent | cbdf686e391bc2e7b93f37a5d3fa9197cb178078 (diff) |
Towards MIDI:
- Converted vector<Sample*> to BufferList and numerous counts from int to ChanCount (and related changes)
- Added fancy type-generic iterators to BufferList, PortIterator (see IO::collect_input for a good example of the idea - the same code will work to read all input (of various types in a single IO, eg instruments) without modification no matter how many types we add)
- Fixed comparison operator bugs with ChanCount (screwed up metering among other things)
- Moved peak metering into it's own object, and moved most of the pan related code out of IO to panner (still a touch more to be done here for MIDI playback)
Not directly MIDI related fixes for problems in trunk:
- Fixed varispeed gain/pan automation to work properly (was reading the wrong range of automation data, probably causing nasty clicks?)
- Fixed crash on varispeed looping (possibly only a 64-bit problem). It still doesn't work, but at least it doesn't die
Quite a few things broken, and the new classes are pretty filthy still, but I think the direction is a lot better than all my previous plans...
git-svn-id: svn://localhost/ardour2/branches/midi@795 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/insert.h')
-rw-r--r-- | libs/ardour/ardour/insert.h | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/libs/ardour/ardour/insert.h b/libs/ardour/ardour/insert.h index c81d4e5761..b958f20b95 100644 --- a/libs/ardour/ardour/insert.h +++ b/libs/ardour/ardour/insert.h @@ -53,7 +53,7 @@ class Insert : public Redirect virtual ~Insert() { } - virtual void run (vector<Sample *>& bufs, uint32_t nbufs, jack_nframes_t nframes, jack_nframes_t offset) = 0; + virtual void run (BufferSet& bufs, jack_nframes_t nframes, jack_nframes_t offset) = 0; virtual void activate () {} virtual void deactivate () {} @@ -75,12 +75,12 @@ class PortInsert : public Insert int set_state(const XMLNode&); void init (); - void run (vector<Sample *>& bufs, uint32_t nbufs, jack_nframes_t nframes, jack_nframes_t offset); + void run (BufferSet& bufs, jack_nframes_t nframes, jack_nframes_t offset); jack_nframes_t latency(); - uint32_t output_streams() const; - uint32_t input_streams() const; + ChanCount output_streams() const; + ChanCount input_streams() const; int32_t can_support_input_configuration (int32_t) const; int32_t configure_io (int32_t magic, int32_t in, int32_t out); @@ -113,17 +113,17 @@ class PluginInsert : public Insert StateManager::State* state_factory (std::string why) const; Change restore_state (StateManager::State&); - void run (vector<Sample *>& bufs, uint32_t nbufs, jack_nframes_t nframes, jack_nframes_t offset); + void run (BufferSet& bufs, jack_nframes_t nframes, jack_nframes_t offset); void silence (jack_nframes_t nframes, jack_nframes_t offset); void activate (); void deactivate (); void set_block_size (jack_nframes_t nframes); - uint32_t output_streams() const; - uint32_t input_streams() const; - uint32_t natural_output_streams() const; - uint32_t natural_input_streams() const; + ChanCount output_streams() const; + ChanCount input_streams() const; + ChanCount natural_output_streams() const; + ChanCount natural_input_streams() const; int set_count (uint32_t num); uint32_t get_count () const { return _plugins.size(); } @@ -167,8 +167,8 @@ class PluginInsert : public Insert void parameter_changed (uint32_t, float); vector<boost::shared_ptr<Plugin> > _plugins; - void automation_run (vector<Sample *>& bufs, uint32_t nbufs, jack_nframes_t nframes, jack_nframes_t offset); - void connect_and_run (vector<Sample *>& bufs, uint32_t nbufs, jack_nframes_t nframes, jack_nframes_t offset, bool with_auto, jack_nframes_t now = 0); + void automation_run (BufferSet& bufs, jack_nframes_t nframes, jack_nframes_t offset); + void connect_and_run (BufferSet& bufs, jack_nframes_t nframes, jack_nframes_t offset, bool with_auto, jack_nframes_t now = 0); void init (); void set_automatable (); |