Commit Graph

12861 Commits

Author SHA1 Message Date
Paul Davis
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
Ben Loftis
efc2660fec MCP: Mixbus32C: Restore missing filter controls to the Dyn page. 2017-05-12 15:44:01 +02:00
Ben Loftis
8ba868e933 MCU: F-keys are reserved only for user-defined actions; no need for explicit handling. 2017-05-12 15:43:55 +02:00
Ben Loftis
e6e2b6800e MCP: Momentarily light buttons when they are used to trigger a defined action.
*This is mainly for F-keys
*If a button is not assigned an action, it will not light,
   hopefully indicating to the user that it is unmapped.
2017-05-12 15:43:52 +02:00
Ben Loftis
6f298b1a83 Mackie control panel: display the profile name when any button action is changed. 2017-05-12 15:43:44 +02:00
Len Ovens
471ed5af4e OSC: also init unsaved params on session load. 2017-05-11 13:58:25 -07:00
Len Ovens
a51e82a29e OSC: Initialize all surface struct values on creation 2017-05-11 10:52:38 -07:00
Paul Davis
feab5ef91e re-order per-object and global selection change signals 2017-05-11 18:29:03 +01:00
Len Ovens
d42da9046e OSC: Actually set feedback on first /strip/command 2017-05-11 08:21:40 -07:00
Paul Davis
5830ddfec2 emit per-Stateful PropertyChanged signal when Stripables become selected 2017-05-11 10:04:28 +01:00
Len Ovens
0124c2e99d OSC: fix manual port setting to take effect on first incoming message 2017-05-10 14:14:27 -07:00
Robin Gareus
c0b54e868f Fix another possible case of illegal use of reserved port-names
Session::io_name_is_legal() is used for Routes and Processors:
Route::set_name(), ProcessorBox::rename_processor() and
and Route::ensure_track_or_route_name() -- it is not used for actual
I/O objects.
2017-05-10 20:29:08 +02:00
Robin Gareus
a82cfd2461 Fix reserved ports:
* "Click" is not translated
* add auditioner and FaderPort ctrl surfaces.
2017-05-10 20:29:08 +02:00
Len Ovens
a76ee7a4d8 OSC: bind should be boost::bind 2017-05-10 09:56:45 -07:00
Len Ovens
c8f805ef7c OSC: Automation feedback should match command 2017-05-10 09:42:48 -07:00
Len Ovens
6c97d70127 OSC: change function name to be better description 2017-05-10 09:21:19 -07:00
Len Ovens
50e362ffd3 OSC: simplify code. 2017-05-10 08:02:03 -07:00
Paul Davis
bcbdd858fa Selection::get_stripables() needs to recurse into an Automatable's child Automatables when looking for for an Automation Control
It also needs renaming (to come)
2017-05-10 08:52:55 +01:00
Robin Gareus
86149840a1 resolve ambiguity 2017-05-10 05:00:03 +02:00
Robin Gareus
e8387e101f Enums are not Classes in C++98 2017-05-10 04:29:41 +02:00
Robin Gareus
ac03e4a937 Bump VST param-name length limit to 128 bytes and centralize definition
The official VST spec says 8 bytes, JUCE uses 24 + 1, and there's
anecdotal evidence that some VSTs use up to 100 (which apparently works
in many hosts).
2017-05-10 00:26:02 +02:00
Len Ovens
82fed14f41 OSC: Fix select fader automation play feedback as well fixes issue #7160 2017-05-09 14:10:49 -07:00
Len Ovens
a12d4c87c6 OSC: Get gain feedback to show with automation Play. 2017-05-09 13:38:57 -07:00
Len Ovens
c3c7dfd3e8 OSC: Add Automation mode feedback to /strip 2017-05-09 12:40:20 -07:00
Len Ovens
155401b875 OSC: removed letter automation modes to not conflict with feedback 2017-05-09 11:52:21 -07:00
Len Ovens
fe5a778535 OSC: Propagate return value so debug shows errors 2017-05-09 09:05:30 -07:00
Len Ovens
56ebea48c0 OSC: set Automation mode for fader 2017-05-09 07:55:32 -07:00
Len Ovens
f4d62a2a8e OSC: automation mode get strip (step 2) 2017-05-09 07:55:32 -07:00
Len Ovens
9b4d58393d OSC: Add framework for /*/automation mode 2017-05-09 07:55:32 -07:00
Robin Gareus
37a4987dab Ardour does support VST's audioMasterGetProductString, return true; 2017-05-09 16:31:42 +02:00
Robin Gareus
4e08f5c169 iterator std::set::erase (iterator) is C++11 2017-05-08 16:30:54 +02:00
Paul Davis
2ed08f0771 fix copy-n-paste error 2017-05-08 11:03:35 +01:00
Paul Davis
0596032b36 fix logic when removing routes
Selection change and re-order signals are distinct.
2017-05-08 10:56:24 +01:00
Paul Davis
7b2063d62d remove misc. debug output 2017-05-08 10:41:12 +01:00
Paul Davis
7d523dc43c when removing a Route from Session, remove it from CoreSelection and signal that change if necessary 2017-05-08 10:41:12 +01:00
Paul Davis
24b8004bf7 when removing Stripables from CoreSelection by ID, be sure to remove all possible entries in the Selection
A Stripable may have itself plus zero-to-N automation controls in
CoreSelection.
2017-05-08 10:41:12 +01:00
Paul Davis
005fa9176a allow Session to call Session::remove_stripable_by_id() 2017-05-08 10:40:27 +01:00
Robin Gareus
6bcd543bf2 Semaphores need to have a unique name -- fixes #7341
On Windows (and OSX) semaphores are named. If the name matches an existing
semaphore, it is re-used and not re-initialized. In case of multiple
LV2-plugins each with a worker-thread this can lead to a deadlock.
2017-05-07 02:02:30 +02:00
Robin Gareus
e73755f8fb really fix opening session-archives -- amend 1f80f059be 2017-05-06 22:05:26 +02:00
Robin Gareus
1f80f059be Fix opening session-archives 2017-05-06 18:31:18 +02:00
Robin Gareus
5d683eaeca NO-OP: whitespace and FSF address 2017-05-06 15:11:53 +02:00
Robin Gareus
d02cf631c7 Factor RMS normalization by sqrt(2); match sine peak 2017-05-06 15:09:14 +02:00
John Emmas
23b3147598 Accommodate newly introduced source(s) in our MSVC project (libardour) 2017-05-06 13:34:39 +01:00
John Emmas
e8e68fd8c6 MSVC won't allow us to erase an item referenced by const_iterator 2017-05-06 13:33:38 +01:00
John Emmas
dea25f2692 The new class 'ARDOUR::CoreSelection' needs to be exportable (since it gets used outside of libardour) 2017-05-06 13:32:20 +01:00
Len Ovens
1eb18f8e27 OSC: make some more paths work with or without a parameter. 2017-05-05 15:02:22 -07:00
Len Ovens
379ad3357d OSC: remove debug output. 2017-05-05 15:02:22 -07:00
Paul Davis
35a9facdae add missing files from selection development branch(es) 2017-05-05 19:25:35 +01:00
Paul Davis
0c035778e1 libardour now has CoreSelection object to manage selection status of Stripables and AutomationControls 2017-05-05 18:56:25 +01:00
Paul Davis
ccd19ed061 extend PBD::ID API to allow construction and operator== using uint64_t
This is theoretically dangerous, because a PBD::ID is supposed to be unique, and this new constructor
cannot guarantee that. However, the same danger already exists with the std::string-based constructor
2017-05-05 18:56:25 +01:00