Len Ovens
7e791981f0
OSC: added automation name feedback
2017-05-15 07:43:59 -07:00
Len Ovens
fee4b7b3ea
OSC: combine two identical if() statements
2017-05-15 07:43:59 -07:00
John Emmas
b9bbea7174
It might not be obvious why... but 'ARDOUR::ControlProtocol::name()' needs to be a virtual function
...
Basically, libardour is calling functions from libardour_cp and vice versa. For example, libardour needs 'ARDOUR::ControlProtocol::name()' whereas ardour_cp needs 'ARDOUR::Route::soloed()' and various others. Ordinarily, this would require each library to get built before the other one! :-(
To get around this (in MSVC at least) one of the libraries must be forced to use late binding (e.g. by declaring its functions as 'virtual'). It looks like this is already being done for most of the other functions from 'ARDOUR::ControlProtocol', so let's do it for this function too...
2017-05-15 14:46:34 +01:00
Robin Gareus
0e4ddcf506
Fix out-of-bounds waveform image rendering.
...
With large sample-rates and high-zoom-level the minimal request-size
or at least 1/10sed can exceed the max image size supported by cairo.
e.g. @192kSPS; 100ms = 19200 samples.
* 1 sample/pixel, * 2 (left/right) = 38400px > 2^15px.
2017-05-14 20:37:58 +02:00
Nil Geisweiller
40f3efa3aa
Add note name parser to convert to midi note number
...
Supports i18n, is case and whitespace insensitive for more resilent parsing.
2017-05-14 18:13:07 +02:00
Edgar Aichinger
278d5bdab2
update german translation
2017-05-14 15:29:27 +02:00
Robin Gareus
3d26a29e8a
Sanitize "well-known" ctrl API
2017-05-14 00:17:11 +02:00
Len Ovens
3e2004aa73
OSC: make /*/automation more generic so other controls can be easily added
2017-05-13 14:18:29 -07:00
Len Ovens
82e6de3a3f
The #end should be #endif
2017-05-13 08:43:33 -07:00
Ben Loftis
6a28e02799
More tweaks to FP8 layout for 32C
2017-05-13 07:54:08 -05:00
Ben Loftis
b92f75481e
Fix copy+paste error for mb32c filter freq.
2017-05-13 07:27:08 -05:00
Robin Gareus
3efe5bde5f
Update FP8: new controllables, clarify 32C bell-shape labels
2017-05-13 02:02:54 +02:00
Robin Gareus
257cc06cfc
amend efc2660f, well-known stripable controls:
...
* consistent hpf/lpf controllables (actually hi/lo bell in 32C)
* HPT, LPF frequencies are exposed as EQ band
* don't expose filter ctrl for mixbuses/master
2017-05-13 02:02:54 +02:00
Tim Mayberry
def9e110b7
Update Session::writable() during Session::save_as() when switching to copy
...
Loading a read only Session then making a copy with Save As and switch was
not allowing new Session to be saved as writable state was not updated.
Resolves : #7352
2017-05-13 09:02:02 +10:00
Paul Davis
b23d7d9170
change ControlProtocolManager protocol mutex into a RW lock.
...
Probably not gaining much in terms of contention, but there's really no reason to be using a mutex
2017-05-12 20:09:40 +01:00
Paul Davis
7021d02782
don't actually use a method from libardourcp inside libardour; use a PBD::Signal to avoid linker issues
2017-05-12 17:49:09 +01:00
Len Ovens
32c3db5c59
OSC: GUI label change
2017-05-12 07:29:29 -07:00
Len Ovens
774ebc42e3
OSC: Create new surface struct for ALL incoming messages
2017-05-12 07:29:29 -07:00
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