Commit Graph

30726 Commits

Author SHA1 Message Date
c5d7ed3015
Update GUI, use new write_immediate_event() API 2020-09-20 19:16:52 +02:00
2f68656679
Update API to send immediate events
This is to allow passing the EventType to the Buffer, using a
consistent {[Time], Type, size, data} API, that is equivalent
for all classes.

This is particularly useful for Lua scripts and plugin UIs
than can call `write_immediate_event()` while being ignorant
where the data is routed to (MIDI tracks, plugins, processors).
2020-09-20 19:16:43 +02:00
7c37a18b75
Update MIDI buffer implementation to retain EventType 2020-09-20 17:21:21 +02:00
472fe2b556
Prepare for distinct live-midi event type
The motivation for this is to determine if a given event
originates from a user-controlled live input controller or
from playback from disk or a MIDI file.

This distinction is required for VST3 MIDI learn.
2020-09-20 17:16:53 +02:00
472ce90fab
JACK backend allows to calibrate latency
However, if jackd is running, we should test if jackd is using
a full-duplex device to establish if latency calibration is
possible -- fix 92f54b3e98.
2020-09-20 17:16:01 +02:00
a4b1277f85
Headless windows VST3 scanner
This re-adds a line that was accidentally removed in fab92d313f
2020-09-18 22:37:13 +02:00
a91e9c2d52
Fix windows plugin install location 2020-09-18 21:44:34 +02:00
cce424b695
Mark some menu items insensitive w/o session
When closing a session without loading or creating a new one,
Ardour's main window and menu are accessible.

 Menu > Session > Properties : crash w/o a session
 Menu > Window > Transport Masters : any interaction causes a crash.
2020-09-18 21:03:56 +02:00
57c660836f
VST3: Re-activate plugin when latency changes
This is required. From the "RestartFlags" documentation:

> kLatencyChanged:
>   Latency has changed The plug informs the host that its latency
>   has changed, getLatencySamples should return the new latency after
>   setActive (true) was called The host has to deactivate and reactivate
>   the plug-in, then afterwards the host could ask for the current
>   latency (getLatencySamples) see IAudioProcessor::getLatencySamples
2020-09-18 19:39:50 +02:00
3ed9a712b9
Bundle VST3 scanner with binary packages 2020-09-18 18:54:45 +02:00
216935f16e
Remove ALSA debug message in optimized builds 2020-09-18 15:40:44 +02:00
d90d5c3701
Make gcc-10 happy (missing <string> include) 2020-09-18 15:38:22 +02:00
67b1481c12
VST3: work-around endless/recursive resize requests
Some plugins correct their own size when resized which can lead
to endlessly growing GUIs. In particular this issue exists
if Ardour's plugin-toolbar forces a plugin to grow in size to fill
the allocated space. While the plugin aims for fixed aspect-ratio.

This will need a proper solution involving VST's checkSizeConstraint,
however GTK+2 does not have an appropriate API...
2020-09-18 02:11:25 +02:00
5dc3f2a320
Add toolbar widgets for monitor mute and dim
Another one from Andy's wish-list
http://mixbus.harrisonconsoles.com/forum/thread-8935-page-2.html
2020-09-17 22:57:54 +02:00
d5496de98a
VST3: use kOffline for freewheeling 2020-09-17 21:06:46 +02:00
6612cdf44a
Name new MIDI tracks after instrument plugin 2020-09-17 21:06:46 +02:00
824e54f399
Mark session as dirty when meter-type changes 2020-09-17 21:06:46 +02:00
John Emmas
ae2a1c15fa Add VST3 support for building with MSVC 2020-09-17 18:45:12 +01:00
7963214710
Use C-compatible isprint() - fixes MSVC builds 2020-09-17 17:29:50 +02:00
a8c9bdbbd0
Fix w32 builds (VST stdcall API) 2020-09-17 12:55:18 +02:00
fab92d313f
Fix linking vst3 scanner app (Linux-ARM, OSX/PPC, OSX/i386) 2020-09-17 12:20:31 +02:00
1759ba96b6
VST3: Plugin GUI support 2020-09-17 00:10:21 +02:00
6b4dc3268f
VST3: Implement plugin-provider 2020-09-17 00:10:17 +02:00
05c039629c
VST3: Update Preferences/Plugins/VST 2020-09-16 22:49:20 +02:00
15e564c54a
VST3: scanner application 2020-09-16 22:49:20 +02:00
2a9795113b
VST3: Plugin discovery 2020-09-16 22:49:20 +02:00
84a86fa21a
VST3: Implement host classes 2020-09-16 22:49:20 +02:00
9bd8c43693
VST3: Load and instantiate 2020-09-16 22:49:20 +02:00
3f16f60221
VST3: Ardour-GUI basics 2020-09-16 22:49:19 +02:00
0ca0b4f335
VST3 skeleton 2020-09-16 22:49:19 +02:00
9c5f13f3fa
Import VST3 interface 2020-09-16 22:49:19 +02:00
08b6d74078
Add script to copy VST3 headers 2020-09-16 22:49:19 +02:00
a2e4a09d55
Correct Windows installer paths (fix f61ecae4b2) 2020-09-16 22:48:38 +02:00
f8ce5ecbc6
Consolidate Plugin-GUI toolbar layout, consistent layout & spacing 2020-09-16 00:02:52 +02:00
Olivier Humbert
42643d264e
Update French translation for 6.3 2020-09-15 20:34:50 +02:00
Olivier Humbert
704048940e
Fix typographical errors 2020-09-15 20:32:52 +02:00
c01b7b7842
Detect LV2 categories by URI 2020-09-15 19:32:30 +02:00
ae89c15f02
Remove redundant check (-Wno-unused) 2020-09-15 17:36:27 +02:00
8dbc16a929
Remove unused LV2 configuration checks 3/3
LV2 has been mandatory since 6.0 (04ccd328dc)
2020-09-15 17:35:09 +02:00
1b261fab48
Remove unused LV2 ifdef 2/3
LV2 has been mandatory since 6.0 (04ccd328dc)
2020-09-15 17:35:04 +02:00
c5014d9d9e
Remove unused LV2 ifdef 1/3
LV2 has been mandatory since 6.0 (04ccd328dc)
2020-09-15 17:01:32 +02:00
0c10ec3c75
Case-insensitive compare name to detect plugin duplicates
In some cases LV2/VST and VST2/VST3 use slightly different naming
conventions e.g. "MDA ..fx"  vs "mda ..fx".
2020-09-15 16:40:30 +02:00
ec1d9022b2
Show plugin-type in processor-window title 2020-09-15 16:04:00 +02:00
07df51fbc7
Consolidate code: use API to print plugin-type 2/2 2020-09-15 16:03:52 +02:00
dcea35191c
Consolidate code: use API to print plugin-type 1/2 2020-09-15 16:03:33 +02:00
d72423fdc8
Add API to format plugin-type 2020-09-15 16:03:19 +02:00
68b23b9f82
Skip presets lookup for empty prest URI 2020-09-14 23:37:22 +02:00
e9c90bc1b2
Update Plugin API, extend IOPortDescription c'tor 2020-09-14 23:37:22 +02:00
1a50b6b8ea
Update Plugin API to allow timestamped parameter changes
This is in preparation for VST3 automation.
2020-09-14 23:37:21 +02:00
04e5ea0f86
Expose PluginInfo index (for VST3 shells) 2020-09-14 23:37:21 +02:00