diff options
author | Len Ovens <len@ovenwerks.net> | 2017-05-10 09:42:48 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2017-05-10 09:42:48 -0700 |
commit | c8f805ef7c1c455ddd455ca6afc343afbba19db9 (patch) | |
tree | df87043f62ba120efd68025b5cf234f6d934938c /libs/surfaces/osc/osc_select_observer.cc | |
parent | 6c97d7012784170355f5b381b2427bca1f0b90c6 (diff) |
OSC: Automation feedback should match command
Diffstat (limited to 'libs/surfaces/osc/osc_select_observer.cc')
-rw-r--r-- | libs/surfaces/osc/osc_select_observer.cc | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/libs/surfaces/osc/osc_select_observer.cc b/libs/surfaces/osc/osc_select_observer.cc index 3c770b9628..35d35841d9 100644 --- a/libs/surfaces/osc/osc_select_observer.cc +++ b/libs/surfaces/osc/osc_select_observer.cc @@ -515,11 +515,29 @@ OSCSelectObserver::gain_message () void OSCSelectObserver::gain_automation () { + float output; as = _strip->gain_control()->alist()->automation_state(); + switch (as) { + case ARDOUR::Off: + output = 0; + break; + case ARDOUR::Play: + output = 1; + break; + case ARDOUR::Write: + output = 2; + break; + case ARDOUR::Touch: + output = 3; + break; + default: + break; + } + if (gainmode) { - send_float ("/select/fader/automation", as); + send_float ("/select/fader/automation", output); } else { - send_float ("/select/gain/automation", as); + send_float ("/select/gain/automation", output); } gain_message (); |