Robin Gareus
0afc0dd50d
Log video-monitor version during startup
2023-05-13 17:08:47 +02:00
Robin Gareus
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
Robin Gareus
a72962937f
Have some fun with Lua DSP
2023-05-12 02:49:37 +02:00
Robin Gareus
756c0a80c9
Emit Xrun in case process-lock cannot be acquired
2023-05-11 19:30:49 +02:00
Robin Gareus
1ac7f483da
VST3: set non-automatable parameters ( #9321 )
2023-05-11 18:50:15 +02:00
Robin Gareus
57017267cf
Prefer try-lock in process-callback
2023-05-11 18:38:02 +02:00
Robin Gareus
79e6830d21
VST3: allow to set non-automatable params ( #9321 )
2023-05-11 02:11:05 +02:00
Robin Gareus
b1a771d36b
Fix windows builds (type mismatch/error)
2023-05-08 22:05:56 +02:00
Robin Gareus
1940dfbb28
NO-OP: cleanup includes
2023-05-08 22:02:37 +02:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
1d1a1e87ec
Fix another lv2core header include
2023-05-07 01:41:01 +02:00
Robin Gareus
495b27c742
Fix lv2core header include
2023-05-06 18:28:35 +02:00
Robin Gareus
da9ec02662
Fix typo in bf4decbfe
2023-05-06 18:16:49 +02:00
Robin Gareus
0b48d421d5
Add LV2 header include compatibility (1/2)
2023-05-06 16:20:01 +02:00
Robin Gareus
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
Paul Davis
b9e5621e03
during map reset, force meter to bars, and tempo to beats
2023-05-05 20:53:23 -06:00
Paul Davis
240a85097c
when editing tempo, round position to beat in GUI
2023-05-05 20:52:48 -06:00
Paul Davis
32a3591018
remove #warning
2023-05-05 18:57:16 -06:00
Paul Davis
9e8eed8a03
temporal: various tweaks to get TempoMap::get_grid() to be more correct/robust
2023-05-05 18:56:01 -06:00
Paul Davis
7c07a9964a
temporal: add operator<<(ostream&) for BBT_Argument
2023-05-05 18:55:27 -06:00
Paul Davis
fafc891ca6
add ripple option API for TempoMap::cut()
2023-05-04 18:49:06 -06:00
Paul Davis
7f977bf3e4
add skeleton unit test for tempo map cut buffer
2023-05-04 18:48:50 -06:00
Paul Davis
b3a127d318
temporal: TempoMap::paste(), TempoMapCutBuffer::dump() and cut/copy fixes
2023-05-04 17:09:19 -06:00
Paul Davis
a8424e8617
temporal: implement (maybe) cut-copy for tempo map
2023-05-04 15:45:09 -06:00
Paul Davis
f7ba9af6b2
temporal: stub API for tempo map cut/copy/paste
2023-05-04 15:10:56 -06:00
Paul Davis
b3040a31fc
temporal: a basic data structure to hold the result of a TempoMap cut/copy operation
2023-05-04 15:10:56 -06:00
Robin Gareus
6572b8d409
Fix cross-compile linking (libusb - see also 5794d21a76
)
2023-05-04 21:31:13 +02:00
Robin Gareus
f589aedcfe
Fix Windows builds (pthread_t)
2023-05-04 21:13:17 +02:00
Paul Davis
baf307838c
push2: change ordering within destructor to avoid event loop thread drawing-after-delete
2023-05-04 12:34:37 -06:00
Robin Gareus
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
Ben Loftis
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
Ben Loftis
912f9e5ea3
provide functions for both linear and ramped tempo-twists
2023-05-04 09:22:28 -05:00
Robin Gareus
1b6e4b0b84
Implement marker copy/paste section
2023-05-04 06:25:59 +02:00
Paul Davis
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
Paul Davis
faac648502
temporal: add TempoMap::{next,previous_}meter()
2023-05-03 21:55:23 -06:00
Paul Davis
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
Robin Gareus
34ec1e57ac
Fix macOS builds (libusb_hotplug_event parameters)
2023-05-04 02:49:33 +02:00
Robin Gareus
336f51e1f0
Push2: implement MIDI port probing, auto-enable
2023-05-04 00:57:16 +02:00
Robin Gareus
da9ed129e3
Contourdesign: Implement USB probe/match
2023-05-04 00:20:45 +02:00
Robin Gareus
a8f5f5636f
FP8: implement MIDI port probing, auto-enable
2023-05-04 00:20:38 +02:00
Robin Gareus
97272481b8
CPM: Activate hotplugged libusb ctrl-surface
2023-05-04 00:20:31 +02:00
Robin Gareus
161d82869a
CPM: Implement automatic ctrl-surface activision
2023-05-04 00:20:15 +02:00
Robin Gareus
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
Robin Gareus
7c02ab9937
CPM: fix locks, do not reacquire descriptor
2023-05-03 02:05:58 +02:00
Robin Gareus
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
Robin Gareus
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
Ben Loftis
3f15a3a402
set playhead sensitivity via config (defaulted insensitive)
...
* in the 'fake_drag' case (dragging the playhead from the ruler), the
mouse events are delivered to the playhead during the drag so we need
to temporarily sensitize the playhead during that operation, then reset
the sensitivity via config
2023-05-01 08:49:27 -05:00