Commit Graph

24559 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
47291389bc Mackie MCP: Assign some F-keys for default user profile. 2017-05-12 15:43:50 +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
Robin Gareus
24d5f1a624 Tweak/fix splash screen event-loop
Prevent possible endless loop in Splash::display() and handle
some related edge-cases and race conditions WRT expose_done
and is_visible().
2017-05-11 14:20:56 +02:00
Robin Gareus
26593d08ed NO-OP: whitespace 2017-05-11 14:20:56 +02:00
Paul Davis
b4346862e1 context click on marker > loop range should set loop range 2017-05-11 13:16:07 +01: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
John Emmas
2b33d35e5c Remove ambiguity to keep MSVC happy
NB: Do we really need 'floor()' here?? (we seem to be multiplying integers)
2017-05-10 12:22:57 +01: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
7b0ac0e20a ArdourButton: Pick up initial action sensitivity
e.g. monitor-section show/hide button
2017-05-10 00:26:02 +02:00
Robin Gareus
0e6e6cfde6 Remember Monitor-section state (show/hide, attached/detached) 2017-05-10 00:26:02 +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
Robin Gareus
2c7cb9065f Limit clock displays to 30days (720hours) by default.
This prevents various edge-cases of selection-clocks (eg. unbound range
selection after start-range; and makes it near impossible to roll-over
2^63 using GUI operations)
2017-05-08 12:37:17 +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
Paul Davis
8ddbbe427d when a Route is removed, don't bother triggering a sync-presentation-info-from-treeview because it isn't necessary
Also, don't update mixer selection unless selection actually changed
2017-05-08 10:40:27 +01:00
Paul Davis
d51049f343 when a Route is removed, don't bother triggering a sync-presentation-info-from-treeview because it isn't necessary 2017-05-08 10:40:27 +01:00
Hiroki Inagaki
eb133dd934 Update Japanese translation 2017-05-08 11:02:24 +02: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