diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-09 00:03:58 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-09 00:03:58 +0000 |
commit | 7ab25511b541190ae2d9b1dc957507effa59cb35 (patch) | |
tree | 3eb5b9367285da290a066b99a1e191843abf5039 /libs/surfaces/mackie/mackie_midi_builder.cc | |
parent | 89aed48f92a673f5bd3f5129602fcff9ecbed103 (diff) |
MCP: possible support for metering (really)
git-svn-id: svn://localhost/ardour2/branches/3.0@11843 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces/mackie/mackie_midi_builder.cc')
-rw-r--r-- | libs/surfaces/mackie/mackie_midi_builder.cc | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/libs/surfaces/mackie/mackie_midi_builder.cc b/libs/surfaces/mackie/mackie_midi_builder.cc index 59d9740821..b50d50bb01 100644 --- a/libs/surfaces/mackie/mackie_midi_builder.cc +++ b/libs/surfaces/mackie/mackie_midi_builder.cc @@ -112,7 +112,7 @@ MidiByteArray MackieMidiBuilder::build_fader( const Fader & fader, float pos ) MidiByteArray MackieMidiBuilder::build_meter (const Meter & meter, float val) { MIDI::byte segment = lrintf (val*16.0); - + return MidiByteArray (2, 0xD0, (meter.raw_id()<<3) | segment); @@ -142,27 +142,29 @@ MidiByteArray MackieMidiBuilder::zero_strip( SurfacePort & port, const Strip & s MidiByteArray MackieMidiBuilder::zero_control( const Control & control ) { - switch( control.type() ) - { - case Control::type_button: - return build_led( (Button&)control, off ); + switch( control.type() ) { + case Control::type_button: + return build_led( (Button&)control, off ); + + case Control::type_led: + return build_led( (Led&)control, off ); - case Control::type_led: - return build_led( (Led&)control, off ); + case Control::type_fader: + return build_fader( (Fader&)control, 0.0 ); - case Control::type_fader: - return build_fader( (Fader&)control, 0.0 ); + case Control::type_pot: + return build_led_ring( dynamic_cast<const Pot&>( control ), off ); - case Control::type_pot: - return build_led_ring( dynamic_cast<const Pot&>( control ), off ); + case Control::type_led_ring: + return build_led_ring( dynamic_cast<const LedRing&>( control ), off ); - case Control::type_led_ring: - return build_led_ring( dynamic_cast<const LedRing&>( control ), off ); + case Control::type_meter: + return build_meter (dynamic_cast<const Meter&>(control), 0.0); - default: - ostringstream os; - os << "Unknown control type " << control << " in Strip::zero_control"; - throw MackieControlException( os.str() ); + default: + ostringstream os; + os << "Unknown control type " << control << " in Strip::zero_control"; + throw MackieControlException( os.str() ); } } |