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