Commit graph

17345 commits

Author SHA1 Message Date
Robin Gareus
f61eb7e067
Remove unused variables 2021-07-11 08:07:38 +02:00
Robin Gareus
35394f427c
MIDI rec-rect: apply offset, correctly position notes 2021-07-11 07:14:38 +02:00
Robin Gareus
08cd4b2083
Rec w/count-in: directly roll transport 2021-07-11 07:11:32 +02:00
Robin Gareus
16cba9482a
Remove debug message in optimized builds 2021-07-11 02:35:26 +02:00
Robin Gareus
38841eccaf
Remove unused MIDI-flush
realtime_stop() calls unset_play_loop(), unless loop is a
transport-state. Any later calls by butler_transport_work()
will never reach this get_play_loop() clause when just looping.

Besides while recording, locates are not possible,
so this case never triggered under normal operation
(Non-seamless looping is no longer supported since 6.0).
2021-07-11 02:35:15 +02:00
Robin Gareus
b0e33d7d65
Fix Loop recording
DiskWriter::seek() flushes all recorded audio/MIDI, and resets
buffers as if no recording has happened.

Data must be flushed to disk before any non-realtime locates happen.
This happens at transport-stop, which is usually called first.

Except since 8b048bb351 Session::butler_transport_work() may call
non_realtime_stop() after a non_realtime_locate() when looping
more than once.
2021-07-11 02:29:21 +02:00
Robin Gareus
dfa34f2885
Fix MIDI capture duration when loop recording
If there is a tempo/meter change after the loop-end,
the capture duration was set incorrectly.

Previously `total_capture_beats` was set as if the recording
was linear passing though tempo-map changes after the loop.
2021-07-11 02:19:04 +02:00
Robin Gareus
6c28f0f4fb
Fix pre-roll MIDI capture alignment
_capture_start_sample is remains zero until
DiskWriter::check_record_status() starts recording.

This incorrectly increased _accumulated_capture_offset
during pre-roll which resulted in lost samples at the beginning.
2021-07-10 23:20:44 +02:00
Robin Gareus
cbbcdb4fe6
SourceFactory throw instead of returning nullptr #623 2021-07-10 17:46:57 +02:00
Robin Gareus
e65a888c89
Fix muted MIDI regions 2021-07-10 02:11:52 +02:00
Robin Gareus
092f737722
VST2/3 log file/cache mtime during scan 2021-07-09 22:58:23 +02:00
Robin Gareus
cafd757e8a Print AU blacklist after scanning 2021-07-09 01:07:50 +02:00
Robin Gareus
09a3c97358 Consolidate black/white methods in PM 2021-07-09 01:07:36 +02:00
Robin Gareus
d0177846dd
VST3: fix manual black/whitelist 2021-07-07 19:40:24 +02:00
Robin Gareus
8607a6ef8d
Bump plugin-cache version to force a re-scan 2021-07-07 00:45:00 +02:00
Robin Gareus
e5de39c861
VST2: more verbose scan logs 2021-07-06 21:24:23 +02:00
Robin Gareus
aa7cea405b
Avoid ambiguity with tmpfile(3) 2021-07-06 21:09:19 +02:00
Robin Gareus
13f5fb3dee
VST3: do not split cycles for automation 2021-07-05 18:22:08 +02:00
Robin Gareus
16d2915359
LV2: allow multiple atom buffers, ignore CV plugins 2021-07-05 17:57:14 +02:00
John Emmas
83641faec1 Add/remove source(s) in our MSVC project (libardour) 2021-07-05 08:37:35 +01:00
Robin Gareus
e8577e0d1a
Fix ARM linking, libpdb depends on libcurl and libarchive 2021-07-04 14:43:05 +02:00
Robin Gareus
fd04cf6c8c
Fix C++98 builds 2021-07-03 21:39:39 +02:00
Robin Gareus
dd7891eee5
Remove stray colon 2021-07-03 21:32:03 +02:00
Robin Gareus
bf669b4ac6
PM: Report overall plugin scan progress
So far numerically only, no progress bar
2021-07-03 19:07:27 +02:00
Robin Gareus
8014b9409e
PM: add support for interactive and partial plugin scan 2021-07-03 19:07:27 +02:00
Robin Gareus
6a9c9d547c
PM: Allow to stop timeout per plugin and for complete scan 2021-07-03 19:07:27 +02:00
Robin Gareus
329066b99d
LV1: scan logs 2021-07-03 19:07:27 +02:00
Robin Gareus
afcea26d14
LV2: scan logs 2021-07-03 19:07:27 +02:00
Robin Gareus
4bd1e2e184
NO-OP: consolidate code (VST ID by name) 2021-07-03 19:07:27 +02:00
Robin Gareus
23c9d1b732
AU: Support loading sessions using numeric AU IDs 2021-07-03 19:07:26 +02:00
Robin Gareus
088ccd24f0
AU: use AudioUnit scanner app, overhaul AU support 2021-07-03 19:07:26 +02:00
Robin Gareus
d4212da693
AU: standalone scanner tool 2021-07-03 19:07:26 +02:00
Robin Gareus
b166db5496
VST2: Remove old unused scanner/info 2021-07-03 19:07:26 +02:00
Robin Gareus
39fd3ff62a
VST2: use new scanner 2021-07-03 19:07:26 +02:00
Robin Gareus
fcd04cd27a
VST2: Consolidate support methods (close, unload)
Properly unload linux VST2 plugins and fix Mac VST2
bundle unloading - do not use dlclose():

CFBundleRef is reference counted, so we need to retain
a reference. Previously it went out of scope at the end
of mac_vst_load().
2021-07-03 19:07:26 +02:00
Robin Gareus
ef06f01c7b
VST2: new scanner implementation 2021-07-03 19:07:25 +02:00
Robin Gareus
a74b4e8ef0
No more wine 2021-07-03 19:07:25 +02:00
Robin Gareus
cebfaf4d94
Fix PluginListChanged() emission order
This is only relevant when manually scanning plugins,
initiated from the UI thread. Call back (in same thread) needs
to happen after detecting ambiguities and refilling the info lists.
2021-07-03 19:07:25 +02:00
Robin Gareus
92bfb8e1df
VST3: scan logs 2021-07-03 19:07:25 +02:00
Robin Gareus
4e036a73b5
VST3: log bundle-path 2021-07-03 19:07:25 +02:00
Robin Gareus
f28ea675ee
VST3: update scanner API, distinguish new and updated plugins 2021-07-03 19:07:25 +02:00
Robin Gareus
fce374fd41
Foundation for plugin-manager, persistent logs 2021-07-03 19:07:24 +02:00
Ben Loftis
42d9e88263
Playlist UI Tweaks: assign pgroup_id's on Import (libardour part) 2021-07-03 19:06:03 +02:00
Ben Loftis
5e4fe43580
Default_Play_Speed: honor preference setting to reset the default_speed on Stop 2021-07-03 19:06:03 +02:00
Ben Loftis
b99925fc6b
Default_Play_Speed: change some speeds from assuming "1.0" to "default_speed" (lib part) 2021-07-03 19:06:03 +02:00
Ben Loftis
82aa75d469
Default_Play_Speed: changing default_play_speed should also immediately change the engine speed 2021-07-03 19:06:03 +02:00
Ben Loftis
c72359b431
Default_Play_Speed: when transport is stopped, we want to run the engine at the varispeed setting.
* PRO: you can audition synths at the varispeed tuning; you can use x42 guitar tuner when stopped
* CON: this is NOT like a tape machine ... a tape machine has no 'speed' when stopped

ToDo:  if we find that this is contentious, we could make a config var for it
2021-07-03 19:06:03 +02:00
Ben Loftis
f11350cd31
Default_Play_Speed: nuke shuttle Wheel mode (libardour part) 2021-07-03 19:06:02 +02:00
Ben Loftis
3114ef4de2
Default_Play_Speed: prep work (libardour)
* remove unused variables in session.h
* move default play speed (varispeed(sic)) into fsm
* request_transport_speed should -never- set the default_play_speed
2021-07-03 19:06:02 +02:00
Ben Loftis
35f045ee8b
Auto-return: cancel auto-return on fast-wind (>2x), but ignore small varispeed changes
*ToDo:  we need an actual FFWD/REW state that is set when we are fast-winding as a locate mechanism
2021-07-03 19:05:59 +02:00