cfca2d2af9
Significantly speed up multiple region duplication
...
When multiple regions are duplicated Playlist::duplicate
is called sequentially for each region.
Previously that lead to a call to Playlist::flush_notifications
after each step, which is rather expensive.
Playlist::ContentsChanged and Playlist::LayeringChanged
trigger SessionEvent::Overwrite and GUI updates.
2023-05-14 20:42:31 +02:00
e79d8b00f9
Speed up playlist rendering of non-overlapping MIDI Regions
2023-05-14 20:42:31 +02:00
bcafa3d6aa
Tempo dialog is modal, grab focus from parent
2023-05-14 20:42:31 +02:00
cceb917806
handle special cases of the first and last tempo-mapping markers
...
TODO: once all cases are recognized, we can probably simplify the logic
2023-05-14 09:05:08 -05:00
54969d8aab
fix thinko resulting in duplicate bar-names after a tempo-mapping op
2023-05-14 09:05:08 -05:00
4192710ac8
Add Lua bindings to remove routes
2023-05-14 02:44:27 +02:00
5bbd248384
Add Lua bindings for std::list/vector clear
2023-05-13 17:38:41 +02:00
0afc0dd50d
Log video-monitor version during startup
2023-05-13 17:08:47 +02:00
ca88794ab7
Engine-dialog: push splash on error
...
When starting the engine fails, the splash screen
needs to remain behind the dialog.
2023-05-12 03:34:47 +02:00
a72962937f
Have some fun with Lua DSP
2023-05-12 02:49:37 +02:00
756c0a80c9
Emit Xrun in case process-lock cannot be acquired
2023-05-11 19:30:49 +02:00
1ac7f483da
VST3: set non-automatable parameters ( #9321 )
2023-05-11 18:50:15 +02:00
57017267cf
Prefer try-lock in process-callback
2023-05-11 18:38:02 +02:00
79e6830d21
VST3: allow to set non-automatable params ( #9321 )
2023-05-11 02:11:05 +02:00
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
0d2d30f1a7
Softube Console1 add surface (gtk2_ardour)
2023-05-07 18:19:45 +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
0b48d421d5
Add LV2 header include compatibility (1/2)
2023-05-06 16:20:01 +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
240a85097c
when editing tempo, round position to beat in GUI
2023-05-05 20:52:48 -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
a258b82ce9
tweak behavior and naming of tempo-map drags:
...
* correctly handle clicks on the immediate right or left of a beat line
* prefer Mid-Twist and End-Stretch terminology over Twist and Linear
* static-tempo vs ramped-tempo is orthogonal to mid- and end- drags (TODO)
2023-05-04 09:33:08 -05: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
49e1f7f79d
fix logic of editing tempo & meter
...
Old code use the TempoMetric (Tempo + Meter) in effect at the old
location of the tempo/meter to compute the position of the edited tempo/meter,
using a BBT time from the dialog.
But this TempoMetric uses the very tempo/meter that we're editing!
So we have to use previous_tempo() or previous_meter() to construct
the relevant TempoMetric, and if it is the first tempo or meter, then
obviously it cannot move position at all.
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