13
0
Commit Graph

230 Commits

Author SHA1 Message Date
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
640d9d355f Use correct property name in generic MIDI surface
Fixes restoring the feedback interval property, but as the mutator/setter
method doesn't seem to be used this change should have no affect.
2017-05-26 08:48:04 +10:00
eb3f50e15c change the way ControlProtocols (control surfaces) are notified and handle Stripable selection changes
The Editor continues to notify them, but via a direct call to ControlProtocolManager, not a signal.
The CP Manager calls the ControlProtocol static method to set up static data structures holding
selection info for all surfaces and then notifies each surface/protocol that selection has changed.
2017-05-12 14:51:39 +01:00
23eb1fbf01 Use PBD::string_to<bool>() in GenericMidiControlProtocol class
Equivalent to PBD::string_is_affirmative()
2017-04-19 09:36:59 +10:00
f82cb87f0c Use XMLNode::get/set_property API in MIDIControllable class 2017-04-19 09:36:54 +10:00
3be0170e82 Use XMLNode::get/set_property API in GenericMidiControlProtocol class 2017-04-19 09:36:54 +10:00
55cd96df8d Clean up after generic MIDI surface -- #7311
When there are some non-released MIDIControllables, signal are still
delivered to the objects, even if there's no surface thread to handle
the signals anymore.
2017-04-16 19:06:17 +02:00
ad6ddf70df Don't allow GMCP to override loading_state_version
- GMPC does not use it directly
- when GMPC was enabled Stateful::loading_state_version was set to 1000
  (the protocol is at 1.0.0)
- it messes up session-loading, particularly various plugin states and
  templates (e.g  Processor::set_state_2X was used)
2017-03-04 17:55:22 +01: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
7daf620a8d add some comments 2017-01-22 19:49:40 +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
3afe3f32df Remove cruft (old MIDI feedback API) 2016-12-30 17:29:08 +01:00
d1e869f96d Move "Feedback" option to control-portocol settings 2016-12-28 22:59:15 +01:00
581fe8a237 add MIDI bundles to Generic MIDI support so that the ports show up nicely in the grid 2016-09-27 14:59:30 -05:00
0ff233d234 Update our MSVC project files to generate the most recent Ardour session file format (ver 5) rather than the older v3 format 2016-08-30 07:15:00 +01:00
d53d0faf93 a more reliable/robust/less complex version of previous commit 2016-07-21 14:00:18 -04:00
3bf7c4ef49 do not delete MIDIControllable* when dealing with pending MIDI Control requests - the MIDIControllable belongs to the surface code in controllables 2016-07-21 13:42:11 -04:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
5156b8aeb5 White space fix only. (Spaces to tabs) 2016-07-10 08:20:05 -07:00
2047ee527c restore/extend/simplify ControlProtocol API to allow tracking of selection 2016-07-06 13:39:10 -04:00
291aec468f use session stripable selection API
and remove old ControlProtocol signals to talk to GUI etc.
2016-07-04 12:45:53 -04:00
6637260ac9 Stripable signals moved to PresentationInfo 2016-06-05 16:33:02 -04:00
a2704dbff8 use correct signal to select route from generic MIDI, and add explanatory comment 2016-05-31 15:30:43 -04:00
9d2538ae72 remove any reference to Route in Generic MIDI support (basically a NO-OP) 2016-05-31 15:30:43 -04:00
d5127001bb move ControllableDescriptor from libpbd to libardour; add support for describing VCAs 2016-05-31 15:30:42 -04:00
e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
b0200b23f2 Accommodate the fact that 'msvc_resources.rc.in' got moved to a new path 2016-05-21 10:33:18 +01:00
17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
40aa4cfe06 Modify our MSVC projects to build liblua as a DLL rather than a static lib 2016-04-04 16:40:20 +01:00
ba78359129 prepare for update to waf 1.8
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.

bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
d3634c5779 Accommodate 'lua' search paths in various projects where they're needed
(i.e. so that MSVC can find header files from lua).
2016-02-27 16:29:55 +00: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
141352341c Generic MIDI: midi controller buttons should only trigger on the PUSH, not release. This might have to be reveisited later, but it looks right to me and it fixes operation on 2 different devices here 2016-01-14 16:39:50 -06: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
b8bb3eae47 generic MIDI support does not have its own request buffer factory, so be sure to initialize descriptor member to null 2015-12-29 05:41:59 -05:00
634321ba45 Fix Trim control range does not match control (issue #6696) 2015-12-13 15:53:24 -08:00
3d79e3c116 adjust generic MIDI surface support to (1) properly use boost::shared_ptr<Port> (2) detect connection changes 2015-12-07 12:38:17 -05:00
16a100703b GenericMidi: Partially working IO selectors.
2 remaining problems:
*  IO selectors are not updated if you change the connection outside the dialog.
*  occasional crash on the next startup, after a connection is made from the menu.
2015-12-02 19:18:22 -06: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
b8b6f61d6c save/load generic-midi motorized setting - fixes #5296 2015-08-20 00:19:32 +02: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