Commit graph

17308 commits

Author SHA1 Message Date
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
Todd Naugle
45f9b45bff Mackie Control Surface: Improved support for iCON QCon Pro X
Support the second LCD on the Pro X and use it for channel strip labels.

Support the stereo master meters on the Pro X
2021-07-02 16:00:51 -05:00
Todd Naugle
7a5ccdd3c3 Mackie Control Surface: Move meter deflection calc to a function. 2021-07-02 15:56:11 -05:00
Todd Naugle
e94239cc92 Mackie Control Surface: Update the meters even when the transport is stopped 2021-07-02 15:53:20 -05:00
Todd Naugle
41ac0cb753 Mackie Control Surface: Correctly handle the Monitor section being removed.
Adding a Monitor section updated the surface but removing one did not.
2021-07-02 15:51:53 -05:00
Todd Naugle
c63918ec68 Clear Mackie Control surfaces once connected.
This gets the surface in a known state. Otherwise a previous application
or run of ardour may have left LEDs on that are not being used.
2021-07-02 15:43:37 -05:00
Todd Naugle
f212ace6f6 Change Mackie Control combined meter to use a peak meter with falloff
Mackie surfaces use a special peak meter type that returns the maximum
peak for all channels in the strip. The issue was that the implementation
of this meter did not follow the falloff the other peak meters. If a real
peak meter and a combined peak meter were displayed on the surface at the
same time the missing falloff was obvious.

Don't calculate the combined meter during run. Instead calculate it only
when needed based on the already existing individual peak meters.
2021-07-02 15:39:01 -05:00
Robin Gareus
90a0f0af89
CUE monitor during record w/preroll 2021-07-02 19:52:59 +02:00
Robin Gareus
b6daff81ec
Add missing Lua enum (preference input-meter-layout) 2021-07-02 19:52:59 +02:00
Paul Davis
1734fac410 Revert "Paste Mode: overwrite-paste, naive implementation using rec-mode (for testing)"
This reverts commit f4d4dddbeb.

Deferred until after Ardour 6.8
2021-07-01 18:28:04 -06:00
Robin Gareus
8a6f630736
Add Lua API to query all automatable params 2021-06-30 19:23:40 +02:00
Robin Gareus
bf43c8d2d4
Set thread names 2021-06-30 17:15:27 +02:00
Robin Gareus
0f6e34a697
ALSA: fix idempotent device name setup
This fixes an edge case where available buffersizes are
not not correctly set because the device info was never queried.
2021-06-30 04:10:48 +02:00
Paul Davis
775f46315f remove debugging output from timing.h 2021-06-29 17:46:03 -06:00
Paul Davis
d58e7c7ee4 Revert "fix handling of SMF files with consecutive noteOn events"
This breaks MIDI files that have events ordered On,On,Off,Off, and only fixes
the "malformed" On,On,Off. Correct fix requires collecting all events occuring
yat one time, sorting into Off,On and then merging.

This reverts commit 5c3e5f9afb.
2021-06-29 17:29:29 -06:00
Robin Gareus
fff2d2c5ad Revert "Fix crashes when unloading mac VST2 plugins"
This reverts commit b01fe8b0e4.
2021-06-30 01:05:09 +02:00
Robin Gareus
72242353f3 Revert "Fix mac builds - amend b01fe8b0e"
This reverts commit 45c8944789.
2021-06-30 01:05:04 +02:00
Robin Gareus
4170482aaf
Revert "VST2: Consolidate support methods (close, unload)"
This reverts commit 5e54425a35.

This is not compatible with current 6.x vst-info-file.
2021-06-30 00:22:17 +02:00
Paul Davis
a36ab0c562 avoid timing stats calculation with <= values from get_microseconds() 2021-06-29 11:13:59 -06:00
Paul Davis
a9f285b82b debugging timing stats by showing how max values are computed 2021-06-29 09:46:46 -06:00
Paul Davis
9d88f370ae debug windows RunLoop timing stats 2021-06-29 09:25:38 -06:00
Paul Davis
24ea6c4d30 make it possible to debug one of the RAII TimingStats objects 2021-06-29 09:25:38 -06:00
John Emmas
821d79e5a8 MSVC doesn't offer strings.h 2021-06-29 10:01:23 +01:00
Robin Gareus
a0f49fe5d0
Fix 32bit OSX builds (missing reference to bzero from Carbon.h) 2021-06-29 05:22:57 +02:00
Robin Gareus
b35a8f6626
Fix Wsign-compare, consistently use microseconds_t 2021-06-29 02:04:02 +02:00
Robin Gareus
bd6fb8f172
Fix issue when importing m4a
PBD::RingBuffer<>::rw_vector can return a NULL pointer
for the 2nd buffer, which can lead to undefined behavior:
`memcpy (NULL, src, 0);`
2021-06-29 00:11:17 +02:00
Paul Davis
b20a541d7e change PBD::microseconds_t to a signed type and check for -1 in TimingStats::update
This may help a Windows issue with the return value of QueryPerformanceCounter
2021-06-28 14:47:48 -06:00
Robin Gareus
45c8944789
Fix mac builds - amend b01fe8b0e 2021-06-28 20:58:36 +02:00
Paul Davis
5c3e5f9afb fix handling of SMF files with consecutive noteOn events
We no longer store nascent notes when noteOn is received, but wait till noteOff arrives. We also
ignore all other noteOn events between the earliest received and the noteOff.

Potentially we may want to use the _overlap_pitch_resolution member at some point
to offer control of this behavior.
2021-06-28 08:30:38 -06:00
Robin Gareus
b01fe8b0e4
Fix crashes when unloading mac VST2 plugins
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-06-28 15:46:27 +02:00
Robin Gareus
5e54425a35
VST2: Consolidate support methods (close, unload) 2021-06-28 15:42:57 +02:00
John Emmas
09589c3c94 Add/remove source(s) in our MSVC project (libpbd) 2021-06-28 10:37:54 +01:00
Paul Davis
4fd639eca9 NOOP: remove incomplete comment 2021-06-27 12:48:29 -06:00
Paul Davis
a261d399e0 microsoft docs say that only windows.h is required for QueryPerformance* 2021-06-27 12:17:51 -06:00
Paul Davis
e2f2d0cb0f fix inadvertent typo that would cause compilation failure on windows 2021-06-27 10:53:31 -06:00
Paul Davis
857a9b14d7 more macOS cleanup for microseconds.cc 2021-06-27 10:39:51 -06:00
Paul Davis
347ca5c2fe clean up locally-created mess in libs/pbd/microseconds.cc 2021-06-27 10:28:53 -06:00
Paul Davis
412b6a922d macOS: slight speed up for ::get_microseconds()
Move timebase initialization into microsecond_timer_init() and drop conditional
2021-06-27 10:23:44 -06:00