13
0
Commit Graph

24685 Commits

Author SHA1 Message Date
fee4b7b3ea OSC: combine two identical if() statements 2017-05-15 07:43:59 -07:00
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
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
8242f4f636 Support note name editing in midi list editor 2017-05-14 18:16:24 +02:00
André Nusser
77a2632e34 Fix compiler warning of unused variable. 2017-05-14 18:15:10 +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
c55c814177 one more update to german translation 2017-05-14 16:09:53 +02:00
Edgar Aichinger
278d5bdab2 update german translation 2017-05-14 15:29:27 +02:00
2fe3bac92f yet another stupid typo 2017-05-14 15:15:10 +02:00
André Nusser
092ce6dc01 Fix double "Tape" in Record Mode drop down when adding new track.
This bug probably also lead to "Tape" being shown in mixbus even
though it should not.
2017-05-14 14:28:29 +02:00
3aa3413944 Fix use-after free (signal after deleting group) 2017-05-14 12:00:19 +02:00
3d26a29e8a Sanitize "well-known" ctrl API 2017-05-14 00:17:11 +02:00
3e2004aa73 OSC: make /*/automation more generic so other controls can be easily added 2017-05-13 14:18:29 -07:00
f806799c1c Fix typos (thanks edogawa) 2017-05-13 20:33:04 +02:00
82e6de3a3f The #end should be #endif 2017-05-13 08:43:33 -07:00
6a28e02799 More tweaks to FP8 layout for 32C 2017-05-13 07:54:08 -05:00
b92f75481e Fix copy+paste error for mb32c filter freq. 2017-05-13 07:27:08 -05:00
3efe5bde5f Update FP8: new controllables, clarify 32C bell-shape labels 2017-05-13 02:02:54 +02:00
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
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
b89a851bc8 Midi map for Alesis QX25 2017-05-12 15:28:32 -07:00
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
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
38285d0e54 Remove cfgtool, it's not useful anymore
cfgtool was used to dump the current config defaults into ./system_config
on the system it runs. It was manually invoked (usually on Linux) and
hence produced incorrect settings for Windows and OSX variants.

Since ea4bbcf5 Ardour binaries bundle a minimal empty system_config,
and the built-in defaults are used (correct for every platform).
2017-05-12 16:35:08 +02:00
32c3db5c59 OSC: GUI label change 2017-05-12 07:29:29 -07:00
774ebc42e3 OSC: Create new surface struct for ALL incoming messages 2017-05-12 07:29:29 -07: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
efc2660fec MCP: Mixbus32C: Restore missing filter controls to the Dyn page. 2017-05-12 15:44:01 +02:00
8ba868e933 MCU: F-keys are reserved only for user-defined actions; no need for explicit handling. 2017-05-12 15:43:55 +02:00
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
47291389bc Mackie MCP: Assign some F-keys for default user profile. 2017-05-12 15:43:50 +02:00
6f298b1a83 Mackie control panel: display the profile name when any button action is changed. 2017-05-12 15:43:44 +02:00
471ed5af4e OSC: also init unsaved params on session load. 2017-05-11 13:58:25 -07:00
a51e82a29e OSC: Initialize all surface struct values on creation 2017-05-11 10:52:38 -07:00
feab5ef91e re-order per-object and global selection change signals 2017-05-11 18:29:03 +01:00
d42da9046e OSC: Actually set feedback on first /strip/command 2017-05-11 08:21:40 -07:00
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
26593d08ed NO-OP: whitespace 2017-05-11 14:20:56 +02:00
b4346862e1 context click on marker > loop range should set loop range 2017-05-11 13:16:07 +01:00
5830ddfec2 emit per-Stateful PropertyChanged signal when Stripables become selected 2017-05-11 10:04:28 +01:00
0124c2e99d OSC: fix manual port setting to take effect on first incoming message 2017-05-10 14:14:27 -07:00
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
a82cfd2461 Fix reserved ports:
* "Click" is not translated
* add auditioner and FaderPort ctrl surfaces.
2017-05-10 20:29:08 +02:00
a76ee7a4d8 OSC: bind should be boost::bind 2017-05-10 09:56:45 -07:00
c8f805ef7c OSC: Automation feedback should match command 2017-05-10 09:42:48 -07:00
6c97d70127 OSC: change function name to be better description 2017-05-10 09:21:19 -07:00
50e362ffd3 OSC: simplify code. 2017-05-10 08:02:03 -07:00
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
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
86149840a1 resolve ambiguity 2017-05-10 05:00:03 +02:00