diff options
author | David Robillard <d@drobilla.net> | 2006-08-11 07:15:30 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-08-11 07:15:30 +0000 |
commit | cbdf686e391bc2e7b93f37a5d3fa9197cb178078 (patch) | |
tree | 455b52d56b02b90444cd1c39f3ddcb703ca30e10 /libs/ardour/insert.cc | |
parent | 30c08ba655330232767554c48bda1975bfb5628c (diff) |
- Replaced integer port counts (and input/output maximum/minimum) with ChanCount, which can count multiple types and does the reasonable thing for all comparison operators
- Removed the fader/meters from MIDI mixer strips, at least until they do something
- Made the Add Route dialog refuse to create MIDI busses, Spifftacular warning dialog and all
Changes a bit more widespread than I was hoping, but worked out really well - lots of code will continue to work fine even when multi-typed (eg instrument) IOs come around, just ignoring the types it doesn't care about. Most all changes related to counts are little search/replace deals, logic doesn't need to change. Hopefully SVN can handle (automatic) merging with the other SoC projects if the buffer change goes as well.
Next step: do for buffers what the last two commits did for ports.
git-svn-id: svn://localhost/ardour2/branches/midi@787 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/insert.cc')
-rw-r--r-- | libs/ardour/insert.cc | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/libs/ardour/insert.cc b/libs/ardour/insert.cc index 02d7bf0bb6..6bc22de3c1 100644 --- a/libs/ardour/insert.cc +++ b/libs/ardour/insert.cc @@ -85,7 +85,7 @@ PluginInsert::PluginInsert (Session& s, boost::shared_ptr<Plugin> plug, Placemen { Glib::Mutex::Lock em (_session.engine().process_lock()); - IO::MoreOutputs (output_streams ()); + IO::MoreOutputs (ChanCount(_default_type, output_streams())); } RedirectCreated (this); /* EMIT SIGNAL */ @@ -106,7 +106,7 @@ PluginInsert::PluginInsert (Session& s, const XMLNode& node) { Glib::Mutex::Lock em (_session.engine().process_lock()); - IO::MoreOutputs (output_streams()); + IO::MoreOutputs (ChanCount(_default_type, output_streams())); } } @@ -903,7 +903,7 @@ PortInsert::~PortInsert () void PortInsert::run (vector<Sample *>& bufs, uint32_t nbufs, jack_nframes_t nframes, jack_nframes_t offset) { - if (n_outputs() == 0) { + if (n_outputs().get(_default_type) == 0) { return; } @@ -999,7 +999,7 @@ PortInsert::latency() int32_t PortInsert::can_support_input_configuration (int32_t in) const { - if (input_maximum() == -1 && output_maximum() == -1) { + if (input_maximum() == ChanCount::INFINITE && output_maximum() == ChanCount::INFINITE) { /* not configured yet */ @@ -1011,7 +1011,7 @@ PortInsert::can_support_input_configuration (int32_t in) const many output ports it will have. */ - if (output_maximum() == in) { + if (output_maximum().get(_default_type) == static_cast<uint32_t>(in)) { return 1; } } @@ -1042,11 +1042,11 @@ PortInsert::configure_io (int32_t ignored_magic, int32_t in, int32_t out) set_input_minimum (out); if (in < 0) { - in = n_outputs (); + in = n_outputs ().get(_default_type); } if (out < 0) { - out = n_inputs (); + out = n_inputs ().get(_default_type); } return ensure_io (out, in, false, this); @@ -1056,17 +1056,17 @@ int32_t PortInsert::compute_output_streams (int32_t cnt) const { /* puzzling, eh? think about it ... */ - return n_inputs (); + return n_inputs ().get(_default_type); } uint32_t PortInsert::output_streams() const { - return n_inputs (); + return n_inputs ().get(_default_type); } uint32_t PortInsert::input_streams() const { - return n_outputs (); + return n_outputs ().get(_default_type); } |