13
0
Commit Graph

80 Commits

Author SHA1 Message Date
8725ed5bd1 add Ctl_Dial to get better behaviour when binding a MIDI controller 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-21 22:28:11 -04:00
8a18929d57 remove Session::controllable_by_descriptor() and move code into GenericMIDI 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-06-21 13:05:58 -04:00
Jan Lentfer
a2af019c95 generic_midi: add proper handling of midi controll toggles 2018-03-03 14:04:12 +01:00
567c0a8f53 Switch to PBD control-math and prefer Controllable API
Note: Control-surfaces should always use interface_to_internal()
and internal_to_interface().
2017-06-21 18:12:04 +02:00
f82cb87f0c Use XMLNode::get/set_property API in MIDIControllable class 2017-04-19 09:36:54 +10:00
cdddf79bcf Generic MIDI controls should affect group members too, if they exist 2017-01-31 15:33:13 +01:00
93f837b43e generic MIDI: put controllables into touch mode (if appropriate) when data is received 2017-01-23 13:25:56 +01:00
f05a07837b MIDI leaks -- the Controllergate conspiracy debunked 2017-01-20 11:40:53 +01:00
81123a774a amend 3afe3f32df (remove unused global feedback option)
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-12-31 15:20:07 +01:00
5156b8aeb5 White space fix only. (Spaces to tabs) 2016-07-10 08:20:05 -07:00
d5127001bb move ControllableDescriptor from libpbd to libardour; add support for describing VCAs 2016-05-31 15:30:42 -04:00
dd05f1e257 Fix bug #5633, Don't drop all midi bindings when a track is removed
Only drop the controllable that is being destroyed, not all of them.
2016-02-03 22:30:41 +10:00
0ddbf665d8 generic MIDI: if a CC is bound to a toggled controllable, toggle the controllable only when the incoming CC value > 0x40
See comment in code for more details
2016-02-02 22:28:36 -05:00
ddb362fe17 Generic MIDI: add ToggleRecEnable action, and change all maps to use that instead of separate rec-enable, rec-disable, which didnt work 2016-01-14 16:37:54 -06:00
9e3299f97d change Controllable::set_value() API to include grouped control consideration.
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
2016-01-02 04:58:30 -05:00
634321ba45 Fix Trim control range does not match control (issue #6696) 2015-12-13 15:53:24 -08:00
3c9b71b50e allow use of (N)RPN messages in generic MIDI binding maps (UNTESTED) 2015-11-23 12:27:51 -05:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
1a51f19493 Clean up extra white space added by editor. 2015-07-27 16:17:38 -04:00
8b4a237ee3 Handle the 4 common encoder types. 2015-07-27 16:17:38 -04:00
d3b4ef4eed Add enc to midi map for mcp style encoders. 2015-07-27 16:17:38 -04:00
ae3d4efce0 Make program change toggle or 1 only. 2015-07-27 16:17:38 -04:00
6ab04a27c3 Allow any one midi event to control only one thing. 2015-07-27 16:17:38 -04:00
ed8ab2c80a Fixed pb in toggle mode to switch at half way (fixes #6424) 2015-07-10 16:52:43 -04:00
a29b050883 Fixed generic MIDI program change event size to two bytes (fixes #6426) 2015-07-10 16:52:43 -04:00
6349570fb2 Add debug for generic midi control 2015-07-10 16:52:43 -04:00
8c9749e42f merge with master and fix 4 conflicts by hand 2014-06-02 11:32:13 -04:00
af0c42ec4f midi-controller, support log parameters - fixes #5890 2014-03-23 18:59:24 +01:00
bb826f4bee incomplete merge of master into windows (requires upcoming changes to master to be complete) 2013-09-12 11:28:50 -04:00
7b5d72eabd 'surfaces/generic_midi' - Specify 'MIDI::byte' instead of 'byte' so the compiler knows which one we mean 2013-09-05 09:50:58 +01:00
1ab61b8564 major redesign of MIDI port heirarchy and management (part 2) 2013-08-07 22:22:11 -04:00
1f9b0a86bd fix crash when deleting a processor with a controllable (#5284)
git-svn-id: svn://localhost/ardour2/branches/3.0@13943 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 13:20:43 +00:00
5adcb61f60 a few small fixes that help pitchbend control of things, notably the shuttle 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
2013-01-17 14:48:17 +00:00
37906d067e feedback for toggled MIDI controls now sends 0 or 127, not various 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-12-19 01:28:41 +00:00
b2bbc44eaa forward-port generic MIDI and transport controllable changes from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@13066 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-23 13:31:51 +00:00
Carl Hetherington
b97a1bfb97 Connect to controllable->Destroyed in all cases; fixes crash on route removal.
git-svn-id: svn://localhost/ardour2/branches/3.0@12959 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-28 15:38:07 +00:00
266030b79c some generic midi debugging plus an assert
git-svn-id: svn://localhost/ardour2/branches/3.0@12950 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 20:49:52 +00:00
dde521f2c6 fix up some issues introduced by lifecycle tracking of Controllable in Generic MIDI control code
git-svn-id: svn://localhost/ardour2/branches/3.0@12947 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 19:10:11 +00:00
a054a74dd2 disconnect from a Controllable when it is destroyed
git-svn-id: svn://localhost/ardour2/branches/3.0@12938 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26 01:55:53 +00:00
92469df6ab add late/lazy binding between generic MIDI bindings and controllable 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-25 12:33:13 +00:00
Carl Hetherington
72642335d1 Slightly tweaked patch from royvegard to add optional threshold for catch-up 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-06-13 21:53:50 +00:00
Carl Hetherington
189257dd32 Make toggle MIDIControllables with program changes only respond to the appropriate program change (part of #4780).
git-svn-id: svn://localhost/ardour2/branches/3.0@11739 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-21 02:15:55 +00:00
Carl Hetherington
fb6895ba86 Add motorised attribute to DeviceInfo for generic MIDI maps so that
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-07 01:11:22 +00:00
Carl Hetherington
fe86f97563 Work around problems with some JACK<->ALSA midi bridges which don't
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
2012-03-06 15:08:17 +00:00
dcccd5b4d6 patch from roy vegard to stop feedback from causing jumps when a MIDI controller and ardour are out of sync
git-svn-id: svn://localhost/ardour2/branches/3.0@11001 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-14 15:57:48 +00:00
0938a42440 fixes for 98% of all the warnings/errors reported by OS X gcc on tiger
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30 17:55:14 +00:00
f75bbfd8ac track changes to config parameters for MMC device id's correctly (from roy vegard)
git-svn-id: svn://localhost/ardour2/branches/3.0@9985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-13 16:27:29 +00:00
964411b688 fix conversion of MIDI controller (7 bit) value into a 0..+1.0 range value
git-svn-id: svn://localhost/ardour2/branches/3.0@8124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-29 17:56:08 +00:00
7cbcf258cc changes associated with save/restore of AutomationControl id's
git-svn-id: svn://localhost/ardour2/branches/3.0@8111 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-27 17:43:32 +00:00