b1a771d36b
Fix windows builds (type mismatch/error)
2023-05-08 22:05:56 +02:00
1940dfbb28
NO-OP: cleanup includes
2023-05-08 22:02:37 +02:00
ee2bae5aa8
Fix std::optional -> boost::optional API
2023-05-08 22:02:21 +02:00
Hoger Dehnhardt
1dc879eb8d
Softube Console1 add surface (libs)
2023-05-07 18:19:40 +02:00
63e0ac11ad
Prepare cut/copy/paste tempo-map sections
...
This currently asserts in Range::subtract, also ripple
is not yet implemented.
2023-05-07 02:04:47 +02:00
1d1a1e87ec
Fix another lv2core header include
2023-05-07 01:41:01 +02:00
495b27c742
Fix lv2core header include
2023-05-06 18:28:35 +02:00
da9ec02662
Fix typo in bf4decbfe
2023-05-06 18:16:49 +02:00
bf4decbfe7
Add LV2 header include compatibility (1/2)
...
For whatever reason LV2 changes #include header locations
in a micro version release and disables backwards compatibly
by default.
2023-05-06 16:20:01 +02:00
b9e5621e03
during map reset, force meter to bars, and tempo to beats
2023-05-05 20:53:23 -06:00
32a3591018
remove #warning
2023-05-05 18:57:16 -06:00
9e8eed8a03
temporal: various tweaks to get TempoMap::get_grid() to be more correct/robust
2023-05-05 18:56:01 -06:00
7c07a9964a
temporal: add operator<<(ostream&) for BBT_Argument
2023-05-05 18:55:27 -06:00
fafc891ca6
add ripple option API for TempoMap::cut()
2023-05-04 18:49:06 -06:00
7f977bf3e4
add skeleton unit test for tempo map cut buffer
2023-05-04 18:48:50 -06:00
b3a127d318
temporal: TempoMap::paste(), TempoMapCutBuffer::dump() and cut/copy fixes
2023-05-04 17:09:19 -06:00
a8424e8617
temporal: implement (maybe) cut-copy for tempo map
2023-05-04 15:45:09 -06:00
f7ba9af6b2
temporal: stub API for tempo map cut/copy/paste
2023-05-04 15:10:56 -06:00
b3040a31fc
temporal: a basic data structure to hold the result of a TempoMap cut/copy operation
2023-05-04 15:10:56 -06:00
6572b8d409
Fix cross-compile linking (libusb - see also 5794d21a76
)
2023-05-04 21:31:13 +02:00
f589aedcfe
Fix Windows builds (pthread_t)
2023-05-04 21:13:17 +02:00
baf307838c
push2: change ordering within destructor to avoid event loop thread drawing-after-delete
2023-05-04 12:34:37 -06:00
617caf9e98
CPM: precent concurrent protocol activision
...
This can happen when a device is already connected
while Arodur is stating. The butler thread may activate it
(immediately post-engine), while the GUI thread tries
to do the same later when restoring state.
2023-05-04 18:44:02 +02:00
912f9e5ea3
provide functions for both linear and ramped tempo-twists
2023-05-04 09:22:28 -05:00
1b6e4b0b84
Implement marker copy/paste section
2023-05-04 06:25:59 +02:00
b936fd12cd
temporal: reset the tempo map in sections bounded by BBT markers (if any)
...
This avoids total SNAFUs caused by the impossibility of globally ordering
by BBT time.
2023-05-03 21:55:23 -06:00
faac648502
temporal: add TempoMap::{next,previous_}meter()
2023-05-03 21:55:23 -06:00
34ec1e57ac
Fix macOS builds (libusb_hotplug_event parameters)
2023-05-04 02:49:33 +02:00
336f51e1f0
Push2: implement MIDI port probing, auto-enable
2023-05-04 00:57:16 +02:00
da9ed129e3
Contourdesign: Implement USB probe/match
2023-05-04 00:20:45 +02:00
a8f5f5636f
FP8: implement MIDI port probing, auto-enable
2023-05-04 00:20:38 +02:00
97272481b8
CPM: Activate hotplugged libusb ctrl-surface
2023-05-04 00:20:31 +02:00
161d82869a
CPM: Implement automatic ctrl-surface activision
2023-05-04 00:20:15 +02:00
65346496f5
Refactor Ctrl Surface API
...
* reserve "probe" to actually probe for devices
* use separate probe for libusb and MIDI port devices
* use "available" to check if surface can be used
* allow both methods to be NULL
* remove unused ControlProtocolDescriptor* argument
Most surface just return `true` for available.
2023-05-03 15:38:42 +02:00
7c02ab9937
CPM: fix locks, do not reacquire descriptor
2023-05-03 02:05:58 +02:00
287a21c09e
Add API to query hardware port name
...
In case of internal backends this allows to retrieve the
Device name for a given (hashed unique) port-name.
As opposed to "pretty-name" (which defaults to hw-port-name),
this cannot be changed by the user.
It is intended to be used when probing for control surfaces.
2023-05-02 23:39:27 +02:00
2bdf51e02d
Implement cut/paste section markers
...
This does not include partial ranges (selection only
include either range-start or range-end).
Copy/paste also remains to be done
2023-05-02 23:36:51 +02:00
a7c4ab3247
fix thinko in canvas logic (fixes mouse cursor on desensitized playhead)
2023-05-01 08:49:27 -05:00
847f1e54c1
Clean up ctrl surface API
...
Remove unused fields, no mandatory surfaces
2023-05-01 02:22:45 +02:00
c55e17da99
Fix misleading doxygen comment
...
Previously this was used as documentation for peak_meter()
2023-04-29 21:03:56 +02:00
0ddacb8ea2
when abort()-ing due to a failed assert in tempo map code, dump the map
2023-04-28 15:57:42 -06:00
4ccaa81671
Fix cut/copy section: ripple requires a region split
2023-04-28 22:55:54 +02:00
907d3f82a7
temporal: fix grid generation in the presence of MusicTimePoints
2023-04-27 19:54:44 -06:00
e7f4c9dcb5
temporal: fix removal (and thus moving) MusicTimePoints
2023-04-27 19:54:14 -06:00
64b480dd65
ARD: shutdown message is not an error
2023-04-27 15:35:22 +02:00
dd969dfe8c
Fix worst-case and I/O latency report
...
In case there are any unconnected tracks, the track's output is
assumed to align to the master bus (see Route::update_signal_latency).
For this to work correctly the master bus port's public latency
has to be set first.
This fixes e.g. the following issue: add a latent plugin to
the monitor section. Then toggle its bypass or remove it.
Previously the worst-case latency remained unchanged.
2023-04-27 01:43:20 +02:00
4b77ecbe83
Sanitize XML values to be valid UTF-8 ( #9317 )
...
This prevents any non UTF-8 strings to leak into
Ardour XML files, which can make the session unloadable.
2023-04-26 17:43:52 +02:00
df298c6046
Add API to sanitize UTF-8 strings
2023-04-26 17:25:24 +02:00
5e967c02a9
VST3: fix manually setting parameter (amend 52a73fdb3
)
2023-04-26 00:19:36 +02:00
52a73fdb33
VST3: fix manually setting parameters
...
VST3PI::performEdit already updates the shadow data, so
since 979f9876a7
VST3Plugin::set_parameter effectively did nothing (unless a user
rapidly moves the control slider, in which case the next process
cycle sets a previous value).
2023-04-25 23:34:58 +02:00