Commit graph

17356 commits

Author SHA1 Message Date
John Emmas
ebbf34b266 Pass 'localtime_r()' the correct form of 'time_t'
Even for a 32-bit build, MSVC expects 'time_t' to be 64-bit - whereas Glib (i.e. GStatBuf) seems to be using a 32-bit version. Since we're passing by address, this will cause problems in a Windows build.

We can kludge this by making sure we pass the expected type for 'time_t'. Ultimately though, it'd be safer to adapt 'localtime_r()' to accept its first parameter by value, rather than expecting a pointer.
2021-07-12 10:32:18 +01:00
Robin Gareus
3941ae526f
PM: emit signal when plugin-scan-log changes 2021-07-12 05:23:00 +02:00
Robin Gareus
ff88d4c9eb
Fix mac-build (amend 6af9b0194e) 2021-07-12 04:59:16 +02:00
Robin Gareus
778aa6ed9f
Fix windows builds (exception_info is a fn) 2021-07-12 04:57:53 +02:00
Robin Gareus
6af9b0194e
Print stacktrace when plugin-scanner app crashes 2021-07-12 04:23:24 +02:00
Robin Gareus
7d39205350
Allow to skip top stacktrace frames
This is useful to hide the call of `PBD::stacktrace` itself.
2021-07-12 04:01:07 +02:00
Robin Gareus
2e90a58611
Fix pre-roll rec trim near 00:00:00 2021-07-12 02:13:05 +02:00
Robin Gareus
1736cb9ef5
Fix MIDI capture alignment punch-in, manual punch in/out
This now passes all of the following, either
when directly bouncing or when re-recording via physical loopback:

 * record w/preroll
 * record w/count-int
 * loop record at 00:00:00
 * loop record starting >> 00:00:00
 * punch record at 00:00:00
 * punch record > 00:00:00
 * rec-arm while looping (!)
 * repeatedly rec-arm/disarm while rolling
2021-07-12 02:13:02 +02:00
Robin Gareus
b8f245f7e8
Fix audio loop recording alignment 2021-07-12 02:12:49 +02:00
Robin Gareus
914c4beb21
Fix windows builds (localtime_r) 2021-07-11 21:05:11 +02:00
Robin Gareus
d3c0a75f63
Update disk-io/file-name when changing track names
...and do not update playlist name as described #4759 and #4977
2021-07-11 20:54:44 +02:00
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