Commit graph

12917 commits

Author SHA1 Message Date
Robin Gareus
d662e6e0bf amend 67f9f6fd: no recursive ReaderLock 2017-06-03 13:55:08 +02:00
Robin Gareus
c2cb60ea03 add const-ness: Evaluating a curve does not change it.
Note that the ControlList's lock and cache are already mutable.
2017-06-03 13:55:02 +02:00
Robin Gareus
0c57199a6c Add a scratch buffer for automation.
Useful as temporary buffer: This allows a controllable to
get a master's automation-curve and combine it with its own
(gain, trim, send) automation buffer.
2017-06-03 13:54:55 +02:00
Robin Gareus
5f7d50a690 NO-OP: whitespace 2017-06-03 00:19:35 +02:00
Len Ovens
d35dfa9c93 OSC: Some surfaces may use float for ssid. Accept this too. 2017-05-31 08:39:55 -07:00
Len Ovens
b343108756 OSC: check controllable exists before using 2017-05-31 08:39:55 -07:00
Robin Gareus
46a2bfa0e6 Add Lua bindings for VCAs and VCAManager 2017-05-30 15:15:30 +02:00
Robin Gareus
67f9f6fd75 Prepare for automation control master
Basic infrastructure to allow VCA automation and Trim automation:
look up events during automation playback.
2017-05-30 15:13:37 +02:00
Robin Gareus
628e60f8fd NO-OP: whitespace 2017-05-29 23:45:16 +02:00
Daniel Sheeler
d67436af3b duplicate routes start off unsoloed to avoid issues related to upstream / downstream buses 2017-05-29 15:42:27 -05:00
Robin Gareus
0a13106765 Allow export presets for 176.4KHz -- "Ardour6: music for bats" 2017-05-29 13:37:06 +02:00
Tim Mayberry
1ef690da19 Use string concatenation and PBD::to_string in EventTypeMap::to_symbol()
Avoid using PBD::string_compose for serialization as correct behaviour depends
on the setting of the global C++ locale.
2017-05-26 10:50:08 +10:00
Tim Mayberry
1f094027c5 Remove normalization of property names from libpbd xml code
It may have been OK to add this code temporarily at this low level, but as it
was introduced in 2008, this change is made with the assumption that any
Sessions that were affected have been re-saved since then with corrected
property names and that "normalization" is no longer necessary.

Timing results before changes:

XMLTest::testPerfMediumXMLDocumentTiming
   Create : Count: 10 Min: 30375 Max: 48253 Total: 431727 Avg: 43172 (43 msecs)
   Write : Count: 10 Min: 42553 Max: 49163 Total: 453353 Avg: 45335 (45 msecs)
   Read : Count: 10 Min: 70307 Max: 75987 Total: 734923 Avg: 73492 (73 msecs)
XMLTest::testPerfLargeXMLDocumentTiming
   Create : Count: 10 Min: 154486 Max: 307856 Total: 2678989 Avg: 267898 (267 msecs)
   Write : Count: 10 Min: 304273 Max: 343274 Total: 3169158 Avg: 316915 (316 msecs)
   Read : Count: 10 Min: 496920 Max: 541394 Total: 5260410 Avg: 526041 (526 msecs)

Timing results after changes:

XMLTest::testPerfMediumXMLDocumentTiming
   Create : Count: 10 Min: 21437 Max: 39749 Total: 348622 Avg: 34862 (34 msecs)
   Write : Count: 10 Min: 42320 Max: 49989 Total: 446135 Avg: 44613 (44 msecs)
   Read : Count: 10 Min: 63252 Max: 68389 Total: 660841 Avg: 66084 (66 msecs)
XMLTest::testPerfLargeXMLDocumentTiming
   Create : Count: 10 Min: 113458 Max: 263225 Total: 2215595 Avg: 221559 (221 msecs)
   Write : Count: 10 Min: 305439 Max: 339986 Total: 3150697 Avg: 315069 (315 msecs)
   Read : Count: 10 Min: 447560 Max: 488121 Total: 4698903 Avg: 469890 (469 msecs)
2017-05-26 08:48:04 +10:00
Tim Mayberry
640d9d355f Use correct property name in generic MIDI surface
Fixes restoring the feedback interval property, but as the mutator/setter
method doesn't seem to be used this change should have no affect.
2017-05-26 08:48:04 +10:00
Tim Mayberry
bbb9a82e17 Use correct names when setting MidiTrack properties
These were changed in the XMLProperty ctor and they now match the names used in
MidiTrack::set_state()
2017-05-26 08:48:04 +10:00
Robin Gareus
244313f43f Always create a deep copy of MIDI regions when copying playlists. 2017-05-25 14:10:14 +02:00
Robin Gareus
ae4b6316f1 Implement basic AU parameter-printing
(don't leave buf uninitialized)
2017-05-25 13:49:18 +02:00
Robin Gareus
63a71c597a Include ParameterDescriptor in read-only control output 2017-05-25 13:49:18 +02:00
Len Ovens
2c40b46ca9 OSC: fix return value for successful touch 2017-05-24 13:58:49 -07:00
Len Ovens
1e95ccf07d OSC: Added lpf and hpf controls for freq,enable and slope 2017-05-24 07:37:21 -07:00
Len Ovens
f493b24e3e OSC add feedback for extra comp and eq controls 2017-05-23 17:16:42 -07:00
Len Ovens
2f1ad4d9a2 OSC - make /strip/list accept a parameter like everything else 2017-05-23 15:14:31 -07:00
Tim Mayberry
f9b256044f Remove old jack_utils.h header that was moved to the JACK backend
Also remove a related test that has not been part of the unit tests since the
move (years).
2017-05-23 14:32:15 +10:00
nick_m
39e7e11b5e Sort tempo map after legacy sections have been assigned a pulse 2017-05-23 11:41:36 +10:00
nick_m
b886c1dcfa Tempo sections with a BBT start XML node are never ramped 2017-05-23 09:54:30 +10:00
Tim Mayberry
4d927c6bd4 Use braces in BasicUI::jump_by_bars() 2017-05-23 09:13:27 +10:00
Tim Mayberry
7fe188ec92 Use braces in BasicUI::jump_by_seconds() 2017-05-23 09:13:27 +10:00
Tim Mayberry
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
Len Ovens
b3fb75fead OSC: Further fixes so multiple controls can touch at once. 2017-05-20 10:17:31 -07:00
Len Ovens
ab069b1372 OSC: fix c++98 mistake 2017-05-20 09:09:01 -07:00
Robin Gareus
9fc65b274e Fix libhid compile with /recent/ libc (GNU_SOURCE)
- strtok_r
- strdup
- wcsdup
2017-05-20 12:39:49 +02:00
Len Ovens
6926b7eb75 OSC: Catch case of surface sending fader move before touch 2017-05-19 15:48:36 -07:00
Len Ovens
84e1a216bc OSC: Add fake timeout based touch 2017-05-18 15:32:12 -07:00
Ben Loftis
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
Ben Loftis
60cc2823f3 MCP: map the well-known EQ knobs more explicitly, not heuristically. 2017-05-17 15:53:14 -05:00
Len Ovens
f2aac0bcae OSC: Add /strip/fader/touch 2017-05-15 19:38:41 -07:00
Len Ovens
f3f1816899 remove unused variable 2017-05-15 19:38:41 -07:00
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