13
0
Commit Graph

12890 Commits

Author SHA1 Message Date
df185e575e Use correct variable in BasicUI::jump_by_seconds 2017-05-23 09:13:27 +10:00
nick_m
1a31134d38 Fix failure to laod old tempo maps
I suspect this happened after an api change.
Now, just use the position pair instead of a whole new variable.
2017-05-23 05:30:39 +10:00
b3fb75fead OSC: Further fixes so multiple controls can touch at once. 2017-05-20 10:17:31 -07:00
ab069b1372 OSC: fix c++98 mistake 2017-05-20 09:09:01 -07:00
9fc65b274e Fix libhid compile with /recent/ libc (GNU_SOURCE)
- strtok_r
- strdup
- wcsdup
2017-05-20 12:39:49 +02:00
6926b7eb75 OSC: Catch case of surface sending fader move before touch 2017-05-19 15:48:36 -07:00
84e1a216bc OSC: Add fake timeout based touch 2017-05-18 15:32:12 -07:00
d3738b087e MCP: Fix issue with strip "select" buttons that stayed stuck on.
* Depending on individual strips to watch the selection property is prone to failure.
  * Stripable_selection_changed() is called when a selection operation is completed.
2017-05-17 15:55:43 -05:00
60cc2823f3 MCP: map the well-known EQ knobs more explicitly, not heuristically. 2017-05-17 15:53:14 -05:00
f2aac0bcae OSC: Add /strip/fader/touch 2017-05-15 19:38:41 -07:00
f3f1816899 remove unused variable 2017-05-15 19:38:41 -07:00
7e791981f0 OSC: added automation name feedback 2017-05-15 07:43:59 -07:00
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
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
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
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
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
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
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
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
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
e8387e101f Enums are not Classes in C++98 2017-05-10 04:29:41 +02:00
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