Robin Gareus
bfed3f5d42
NO-OP: white-space
2023-05-31 01:16:15 +02:00
Robin Gareus
f07361b34e
Session::add_source cannot fail
2023-05-31 01:15:28 +02:00
Robin Gareus
d7f631757a
Tweak Source removal
...
* Do not emit signal with source-lock mutex held
* explicitly drop references when called directly; notably from
EditorSources::remove_selected_sources
2023-05-31 01:14:53 +02:00
Robin Gareus
331efe835f
Debug region/source removal
2023-05-30 18:19:48 +02:00
Robin Gareus
39ac0c5e19
Remove unused Region::remove_dependents API
2023-05-28 01:52:42 +02:00
Robin Gareus
10b2380b14
Fix deadlock/race introduced in aaf301321
...
Port::_connections_lock must not be locked when calling
port_engine.connect().
2023-05-27 14:18:31 +02:00
Robin Gareus
abd27b765e
Remove some unused variables
2023-05-27 14:14:01 +02:00
Robin Gareus
b6428b421f
Fix Region Export alignment
...
Session::start_audio_export correctly sets preroll offset
depending on export-mode. A later locate must not change it.
2023-05-27 02:21:40 +02:00
Robin Gareus
d5cc5b0586
Auto-connect master/monitor when switching backends
2023-05-27 00:08:48 +02:00
Robin Gareus
aaf3013211
Save I/O connections per device ( #9344 )
2023-05-27 00:08:25 +02:00
Robin Gareus
c11f8532ca
Add API to query backend/driver/device ID
2023-05-26 23:02:06 +02:00
Robin Gareus
42caef16bc
Delay MIDI-bypass for latent plugins
2023-05-26 19:17:56 +02:00
Robin Gareus
4c4138ff37
Optimize delaylines and implement multiple-MIDI buffers
2023-05-26 19:17:53 +02:00
Robin Gareus
28785e4fc0
Fix delayline x-fade with buffers <= 64fpp
...
Previously increasing the delay-time by more than FADE_LEN
while buffersize was < FADE_LEN/2 could result in garbage being
added to the buffer.
2023-05-26 19:17:46 +02:00
Robin Gareus
d85277f532
NO-OP: clang-format, whitespace
2023-05-22 21:07:36 +02:00
Robin Gareus
dd9f9ef19d
When synced to engine vari-speed is not possible
2023-05-19 23:28:32 +02:00
Robin Gareus
2041979f85
Add more session-archive error messages, abort if encoding fails
2023-05-19 16:15:05 +02:00
Robin Gareus
25f8eea162
Allow to cancel session archive process
2023-05-19 03:08:37 +02:00
Robin Gareus
2cb4e8a6ca
Remove compat header
2023-05-19 00:54:10 +02:00
Robin Gareus
92fbab32c6
Update codebase to use PBD::Progress (1/2)
2023-05-19 00:37:49 +02:00
Robin Gareus
65f2be76f6
Move Ardour::Progress to PBD::Progress
...
This will allow PBD::Filearchive to properly report progress.
It is also a generally useful API and deserves to be in libpbd.
Temporarily keep Ardour::Progress as alias
2023-05-19 00:35:20 +02:00
Robin Gareus
25234702fe
Prepare libardour for FileArchive progress API update
2023-05-19 00:35:14 +02:00
Robin Gareus
b3d3944451
Add session-archive error messages
2023-05-18 18:54:46 +02:00
Robin Gareus
8c861914c8
Fix copy/edit in 4cdcdb9ee7
2023-05-18 00:47:37 +02:00
Robin Gareus
4cdcdb9ee7
Add enum to configure selection after section cut/copy
2023-05-17 23:28:20 +02:00
Robin Gareus
83555ec290
Consolidate playlist block & ignore notifications
...
Despite the names suggesting otherwise
`block_notifications` and `ignore_state_changes` are used
for the same purpose.
The only difference is that ::freeze ::thaw explicitly
modified `ignore_state_changes` **in addition** to
`block_notifications`.
2023-05-14 20:42:32 +02:00
Robin Gareus
e79d8b00f9
Speed up playlist rendering of non-overlapping MIDI Regions
2023-05-14 20:42:31 +02:00
Robin Gareus
4192710ac8
Add Lua bindings to remove routes
2023-05-14 02:44:27 +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
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
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
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
Robin Gareus
f589aedcfe
Fix Windows builds (pthread_t)
2023-05-04 21:13:17 +02: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
Robin Gareus
1b6e4b0b84
Implement marker copy/paste section
2023-05-04 06:25:59 +02:00
Robin Gareus
34ec1e57ac
Fix macOS builds (libusb_hotplug_event parameters)
2023-05-04 02:49:33 +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
Robin Gareus
847f1e54c1
Clean up ctrl surface API
...
Remove unused fields, no mandatory surfaces
2023-05-01 02:22:45 +02:00
Robin Gareus
c55e17da99
Fix misleading doxygen comment
...
Previously this was used as documentation for peak_meter()
2023-04-29 21:03:56 +02:00
Robin Gareus
4ccaa81671
Fix cut/copy section: ripple requires a region split
2023-04-28 22:55:54 +02:00