summaryrefslogtreecommitdiff
path: root/libs/surfaces/generic_midi/midicontrollable.cc
AgeCommit message (Collapse)Author
2018-06-21add Ctl_Dial to get better behaviour when binding a MIDI controller ↵Paul Davis
KNOB/DIAL to a toggled controllable. No intent to change Ctl_Momentary or Ctl_Toggle behaviour, plus I tried to document what they are intended to support
2018-06-21remove Session::controllable_by_descriptor() and move code into GenericMIDI ↵Paul Davis
code (the only user). This also removes enums introduced to describe well-known parameters for Mixbus. Lookup now involves string parsing every time, but this is not likely to be a notable cost.
2018-03-03generic_midi: add proper handling of midi controll togglesJan Lentfer
2017-06-21Switch to PBD control-math and prefer Controllable APIRobin Gareus
Note: Control-surfaces should always use interface_to_internal() and internal_to_interface().
2017-04-19Use XMLNode::get/set_property API in MIDIControllable classTim Mayberry
2017-01-31Generic MIDI controls should affect group members too, if they existPaul Davis
2017-01-23generic MIDI: put controllables into touch mode (if appropriate) when data ↵Paul Davis
is received
2017-01-20MIDI leaks -- the Controllergate conspiracy debunkedRobin Gareus
2016-12-31amend 3afe3f32df (remove unused global feedback option)Robin Gareus
That commit accidentally removed unrelated code in generic-midi surface which just happened to have the same name (get/set_midi_feedback) as the unused preference. Regardless, there was more cruft there. GMCP midicontrollables now use the control surfaces' feedback option.
2016-07-10White space fix only. (Spaces to tabs)Len Ovens
2016-05-31move ControllableDescriptor from libpbd to libardour; add support for ↵Paul Davis
describing VCAs
2016-02-03Fix bug #5633, Don't drop all midi bindings when a track is removedTim Mayberry
Only drop the controllable that is being destroyed, not all of them.
2016-02-02generic MIDI: if a CC is bound to a toggled controllable, toggle the ↵Paul Davis
controllable only when the incoming CC value > 0x40 See comment in code for more details
2016-01-14Generic MIDI: add ToggleRecEnable action, and change all maps to use that ↵Ben Loftis
instead of separate rec-enable, rec-disable, which didnt work
2016-01-02change Controllable::set_value() API to include grouped control consideration.Paul Davis
This also removes Route::group_gain_control() and associated machinery. Not yet tested with Mackie or other surfaces. More work to done to start using the group capabilities, and also potentially to add or derive more controls as RouteAutomationControls
2015-12-13Fix Trim control range does not match control (issue #6696)Len Ovens
2015-11-23allow use of (N)RPN messages in generic MIDI binding maps (UNTESTED)Paul Davis
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-07-27Clean up extra white space added by editor.Len Ovens
2015-07-27Handle the 4 common encoder types.Len Ovens
2015-07-27Add enc to midi map for mcp style encoders.Len Ovens
2015-07-27Make program change toggle or 1 only.Len Ovens
2015-07-27Allow any one midi event to control only one thing.Len Ovens
2015-07-10Fixed pb in toggle mode to switch at half way (fixes #6424)Len Ovens
2015-07-10Fixed generic MIDI program change event size to two bytes (fixes #6426)Len Ovens
2015-07-10Add debug for generic midi controlLen Ovens
2014-06-02merge with master and fix 4 conflicts by handPaul Davis
2014-03-23midi-controller, support log parameters - fixes #5890Robin Gareus
2013-09-12incomplete merge of master into windows (requires upcoming changes to master ↵Paul Davis
to be complete)
2013-09-05'surfaces/generic_midi' - Specify 'MIDI::byte' instead of 'byte' so the ↵John Emmas
compiler knows which one we mean
2013-08-07major redesign of MIDI port heirarchy and management (part 2)Paul Davis
2013-01-21fix crash when deleting a processor with a controllable (#5284)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13943 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-17a few small fixes that help pitchbend control of things, notably the shuttle ↵Paul Davis
controller. but note that basically, teh shuttle controller is completely and hopelessly broken through excess complexity and incorrect design git-svn-id: svn://localhost/ardour2/branches/3.0@13870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19feedback for toggled MIDI controls now sends 0 or 127, not various ↵Paul Davis
in-between values (should fix #5117, without any bad side-effects git-svn-id: svn://localhost/ardour2/branches/3.0@13680 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-23forward-port generic MIDI and transport controllable changes from 2.XPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13066 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-28Connect to controllable->Destroyed in all cases; fixes crash on route removal.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26some generic midi debugging plus an assertPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12950 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26fix up some issues introduced by lifecycle tracking of Controllable in ↵Paul Davis
Generic MIDI control code git-svn-id: svn://localhost/ardour2/branches/3.0@12947 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26disconnect from a Controllable when it is destroyedPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12938 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25add late/lazy binding between generic MIDI bindings and controllable ↵Paul Davis
elements in the session. this allows you to load a binding map that refers to elements that have not yet been created in the session, and when they are created, the binding will work git-svn-id: svn://localhost/ardour2/branches/3.0@12921 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13Slightly tweaked patch from royvegard to add optional threshold for catch-up ↵Carl Hetherington
of non motorised controls in generic MIDI surfaces (#4828). git-svn-id: svn://localhost/ardour2/branches/3.0@12716 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-21Make toggle MIDIControllables with program changes only respond to the ↵Carl Hetherington
appropriate program change (part of #4780). git-svn-id: svn://localhost/ardour2/branches/3.0@11739 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-07Add motorised attribute to DeviceInfo for generic MIDI maps so thatCarl Hetherington
we can specify if a surface is motorised, and as such will keep its phyiscal controls in sync with Ardour's controllables at all times. If this is not the case, we enable the code to avoid jumps when controls and controllables are out of sync. Mark the BCF2000 as motorised. git-svn-id: svn://localhost/ardour2/branches/3.0@11611 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-06Work around problems with some JACK<->ALSA midi bridges which don'tCarl Hetherington
transfer multiple MIDI messages when they are written in one jack_midi_event_write. Support pitch bend messages in the generic midi control surface code. git-svn-id: svn://localhost/ardour2/branches/3.0@11601 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-14patch from roy vegard to stop feedback from causing jumps when a MIDI ↵Paul Davis
controller and ardour are out of sync git-svn-id: svn://localhost/ardour2/branches/3.0@11001 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30fixes for 98% of all the warnings/errors reported by OS X gcc on tigerPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-13track changes to config parameters for MMC device id's correctly (from roy ↵Paul Davis
vegard) git-svn-id: svn://localhost/ardour2/branches/3.0@9985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-29fix conversion of MIDI controller (7 bit) value into a 0..+1.0 range valuePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@8124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-27changes associated with save/restore of AutomationControl id'sPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@8111 d708f5d6-7413-0410-9779-e7cbd77b26cf