Commit Graph

12763 Commits

Author SHA1 Message Date
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