Commit Graph

19532 Commits

Author SHA1 Message Date
Paul Davis be24b51a6b downloader: remove unnecessary header 2022-09-13 14:15:24 -06:00
Paul Davis d087cd9465 downloader: use PBD::Thread instead of std::thread 2022-09-13 14:14:53 -06:00
Paul Davis aeccb137fd threaded archive inflation for library mgmt 2022-09-13 13:53:45 -06:00
Paul Davis 4b25264db1 remove inflater and downloader from libardour 2022-09-13 13:53:45 -06:00
Paul Davis 375daf4810 libpbd: new threader Inflater and Downlaoder classes 2022-09-13 13:53:45 -06:00
Paul Davis 2061c3780d FileArchive: minor fixes to get progress reporting working 2022-09-13 13:53:45 -06:00
Robin Gareus be096edd8c
Use rubberband 3.0 API if available 2022-09-13 06:44:41 +02:00
Robin Gareus 46deb15d12
ALSA: request device to query its settings
Querying available buffersizes and sample-rates requires access
to the device. Almost all ALSA devices are limited to
a single user-space application so we unconditionally try
to request access to the device.
2022-09-12 16:34:25 +02:00
Robin Gareus 18474d89f8
SystemExec try SIGINT before SIGKILL
Even though SIGINT is intended to be sent from terminals only,
it is more successful at terminating various child processes than
closing stdin and sending SIGTERM.
2022-09-12 16:17:55 +02:00
Robin Gareus f85b4fef15
Distinct stderr messages from ARD 2022-09-12 16:15:10 +02:00
Robin Gareus ea335eedeb
Clarify library URL pref name (amend d4532973) 2022-09-12 01:31:49 +02:00
Robin Gareus d453297381
Parameterize clip library URL
Also prefer http since our distributed builds may or may not
be able to find SSL certificates on a given target system.
2022-09-11 20:14:35 +02:00
Robin Gareus 38c5ae4237
Reread MIDI region when time-domain changes
This effectively triggers a Session::request_overwrite_buffer
via Playlist::notify_contents_changed when the time-domain of a
Region changes.

When the time domain of a MIDI region changes, Region boundaries
and events positions change ever so slightly. The playlist has
to be rendered again to take this into account.

When MIDI regions with different time-domains are layered, notes
may not be resolved in correct order. Previously changing time-domains
to address this did not result in the playlist being reread.
2022-09-11 00:57:12 +02:00
Paul Davis 9cfcca8ba4 library downloading: various fixes to download process 2022-09-10 15:19:02 -06:00
Robin Gareus 16ef3dd6b1
Fix `MR:render_range` debug output (nutempo) 2022-09-10 18:19:58 +02:00
Robin Gareus 644136bca0
NO-OP: re-indent EventsSortByTimeAndType 2022-09-10 18:19:58 +02:00
Robin Gareus c457dd2eac
Fix EventsSortByTimeAndType (type/event-type API mismatch)
Correct use would be
`parameter_is_midi (midi_parameter_type (ev->type()))`
However that only checks for control params. Note events
are excluded.
2022-09-10 18:19:58 +02:00
Robin Gareus b67b18483c
Implement MIDI region automation (CC, PGM, PB) opaqueness
This adds a special case of "flush/resolve" to restore the
state of an upper layer opaque MIDI region while at the same time
resolving notes of a lower layer region.
2022-09-10 18:19:58 +02:00
Robin Gareus 5ad7361b28
MidiStateTracker::flush restore CC (bank) before PGM 2022-09-10 18:19:57 +02:00
John Emmas 5737468768 libardour: some new classes get used in gtk2_ardour (so need to get exported) 2022-09-10 11:39:53 +01:00
John Emmas 7418da4703 Add a missing #include
(needed for call to std::back_insert_iterator)
2022-09-10 10:20:37 +01:00
Robin Gareus 6f7188dc49
Add Lua bindings for MIDI channel mode/mask 2022-09-10 04:28:55 +02:00
Paul Davis edd7800009 remove unused variable 2022-09-09 16:32:42 -06:00
Paul Davis ed2a436f15 remove debug output from MidiSource:midi_read() 2022-09-09 16:32:42 -06:00
Robin Gareus 95eb936daf
Stop MIDI notes at opaque region bounds above a layered region 2022-09-09 22:27:59 +02:00
Robin Gareus 94637272e1
Mark MIDI regons as transparent by default, and convert old sessions 2022-09-09 19:07:49 +02:00
Robin Gareus f3cb657179
Implement MIDI region opaqueness (part 1)
This honors transparent/opaque property of MIDI regions.
Previously all MIDI regions played as if they were unconditionally
transparent.

Further work is needed for backwards compatibility (and default
setting).
2022-09-09 18:37:34 +02:00
Robin Gareus e62f1093ea
Add playlist APIs to find audible regions
This traverses the layered region stack at a given time,
taking both mute and transparency into account.
2022-09-09 17:31:20 +02:00
Paul Davis 9781c1baca triggerbox: prevent downstream crashes if a tempo map or other change invalidates MidiTrigger iter
The iterator into the model can become incorrect in the sense that it is no longer the correct
next event to play. This can happen at least with a tempo map change, and possible under other
conditions. Catch this when it happens, and act as if we reached the end of the trigger
2022-09-09 09:21:43 -06:00
Paul Davis 76f44c6025 library mgmt API tweaks 2022-09-08 18:19:20 -06:00
Paul Davis 355685d8b9 2 second time out for library description fetch, to (maybe) avoid threading 2022-09-08 07:47:14 -06:00
Robin Gareus 57430f33c2
Fix file-archive, curl API 2022-09-08 15:46:06 +02:00
Robin Gareus 288c58c5de
Fix/add missing Lua enums 2022-09-08 05:34:05 +02:00
Robin Gareus 5579cf3289
Remove ancient unused check for FLAC/OGG support
Our build-systems do not even have sndfile-info, and we use
pkg-config now
2022-09-08 02:22:21 +02:00
Paul Davis 73331ae46a libpbd: fix decl of remove_extra_whitespaces 2022-09-07 17:56:52 -06:00
Paul Davis ff2f8f4066 add copyright notices to new files 2022-09-07 17:14:32 -06:00
Paul Davis 10ac1901dd push2: temporarily comment display of jump loop actions due to cairo oddity 2022-09-07 17:03:08 -06:00
Paul Davis fabd111b1f library downloading: continue to improve backend API and implementation 2022-09-07 17:03:08 -06:00
Paul Davis 5563117a1b add remove_extra_whitespace() to libpbd 2022-09-07 17:03:08 -06:00
Paul Davis bd9fe31778 tweaks to library & downloader API 2022-09-07 17:03:08 -06:00
Paul Davis 78d96ed0c6 library fetcher: API changes and implementation improvements including threaded download 2022-09-07 17:03:08 -06:00
Paul Davis d388a50579 loop libraries: tentative steps towards fetching and installing ardour.org loop libs 2022-09-07 17:03:08 -06:00
Paul Davis 26b5700957 filearchive: extend API 2022-09-07 17:03:08 -06:00
Robin Gareus 2a7d528c5d
Update and consolidate gettext.h
This fixes compilation with --no-nls on modern systems
2022-09-07 00:09:54 +02:00
Robin Gareus db5cb4ec94 Expose Send polarity_control directly 2022-09-04 20:14:09 +02:00
Paul Davis 1eab84b7da push2: remove unconditional setting of canvas item names 2022-09-03 17:48:03 -06:00
Robin Gareus 4863e6b45e Fix mac and windows builds (resolve namespace ambiguities) 2022-09-04 01:37:48 +02:00
Robin Gareus 183604a66b Add polarity invert switch to sends
This allows to invert polarity of the signals of all channels on the
send path. There is intentionally no per channel control.

see https://discourse.ardour.org/t/send-phase-swtich/107564
2022-09-04 01:35:24 +02:00
Robin Gareus 44515cb513 Properly describe polarity invert controls 2022-09-04 01:35:24 +02:00
Paul Davis 97540dafde push2: update cue layout when tracks are added 2022-09-03 16:46:41 -06:00