Commit graph

14155 commits

Author SHA1 Message Date
Robin Gareus
868eec264f Implement VST UI touch (begin/end Edit) 2018-04-02 22:33:11 +02:00
Robin Gareus
37df98d0af CoreAudio/MIDI: add locks for port-registration
CoreMIDI ports are dynamic. When dis/connecting a device CoreAudio's
AudioHardware-PropertyListener triggers a callback which can
add/remove ports.

This can not happen concurrently with processing, but it may happen
concurrently with a user creating tracks using Ardour's UI
and/or session-load/setup.
2018-03-29 18:15:20 +02:00
Robin Gareus
dd83d25baf NO-OP: prefer binary OR to set midi-status byte 2018-03-28 00:32:32 +02:00
Paul Davis
224295266f faderport: make ::invoke() tell us whether or not something was actually invoked for a button event
Only put the button into "consumed" if it actually invoked something.
This helps to get reverse-polarity footswitches to work as expected
2018-03-26 18:26:39 -04:00
Paul Davis
ddfc37e42a fix binding to long-press for User button on FaderPort 2018-03-26 13:56:50 -04:00
John Emmas
7b42c7e361 MSVC won't allow us to cast directly from float to an enum. We need to kludge it by first casting to an integer type
(is it safe to be casting from float to enum anyway??)
2018-03-22 10:54:21 +00:00
Len Ovens
c177434669 OSC: Change custom mode to enum 2018-03-20 14:37:40 -07:00
Robin Gareus
1e50562d8a Fix call to labs.
..or as clang puts it:
"error: no member named 'labs' in namespace 'std'; did you mean
 simply 'labs'?"
2018-03-20 19:16:37 +01:00
Len Ovens
5385aece94 OSC: a strip controlling a send should deactivate other controls 2018-03-20 08:43:10 -07:00
Len Ovens
bfbab2d0b5 OSC: Add feedback for bus_only mode and automation and pan 2018-03-20 08:43:10 -07:00
Len Ovens
29975638c0 OSC: select should have latch too. 2018-03-20 08:43:10 -07:00
Len Ovens
c768aeabc4 OSC: Add bus only mode for gain controls 2018-03-20 08:43:10 -07:00
Robin Gareus
2fa6314fb4 Lua: Lock bindings into memory for rt-scripts
Empirically this decreases gc-spike duration (worst-case) by a factor of
two and speeds up the average gc-run by a factor of over 4 (depending
on the amount of memory used by the plugin).
2018-03-19 02:43:03 +01:00
Robin Gareus
f2ca0c144b Customize Lua GC, add object-memory-lock API.
Add custom API to prevent Lua Objects from being garbage collected.
This is intended to for Ardour LuaBridge bindings (~1MB Objects:
tables, functions and userdata).
The bindings are persistent and the gc can skip them in mark & sweep
phases. This is a significant performance improvement for garbage
collection.

Note. The next version of Lua (5.4) will come with a generational-gc
rather than an incremental, so extending the API at this point in time
is acceptable.
2018-03-19 02:23:09 +01:00
Robin Gareus
1de8bc3617 Remove C++11isms (libptformat) 2018-03-17 19:59:38 +01:00
Damien Zammit
cce575eb72 ptformat: Update to upstream master 4e653041
- Better MIDI support
2018-03-17 22:40:16 +11:00
Robin Gareus
d52967aa62 Expose a few more PluginInsert methods to Lua 2018-03-16 15:33:56 +01:00
Robin Gareus
c656aaab3c VCA API-change: return created VCAs (handy for Lua scripts) 2018-03-15 20:25:27 +01:00
Robin Gareus
3cd79cd80f Sort generic-midi bindings alphabetically 2018-03-13 16:18:03 +01:00
Len Ovens
74c4e4a6d8 OSC: group commands should feedback all off if no group 2018-03-12 16:03:53 -07:00
Len Ovens
98d6fe9c91 OSC: fix /strip/hidden feedback excess 2018-03-10 13:07:13 -08:00
Len Ovens
b2259e11d0 OSC: change group sharing to individual commands
Send less feedback for group name and sharing
2018-03-10 13:07:13 -08:00
Len Ovens
ed04660940 OSC: set surface should reset custom mode 2018-03-10 13:07:13 -08:00
Len Ovens
f1dc45c7f2 OSC: Display only strips controlled by selected VCA 2018-03-10 13:07:13 -08:00
Len Ovens
e4da386eb5 OSC: add set VCA for slavable strip 2018-03-10 13:07:13 -08:00
Len Ovens
30533cd43a OSC: Added slaved feedback to select 2018-03-10 13:07:13 -08:00
Len Ovens
5fe704e8c3 Add virtual slaved, slaved_to calls to stripable 2018-03-10 13:07:13 -08:00
Len Ovens
d1290e82db OSC: check route exists 2018-03-10 13:07:13 -08:00
Robin Gareus
52ed40656b Safeguard against possibly invalid peak-requests
It may happen that WaveView requests a range that is larger than
the data on disk.

If start > _length, cnt becomes negative and the function will throw
or segfault.
2018-03-08 00:37:54 +01:00
Robin Gareus
89f0604d89 Allow loadfile in non-rt scripts 2018-03-06 21:47:30 +01:00
Jan Lentfer
a2af019c95 generic_midi: add proper handling of midi controll toggles 2018-03-03 14:04:12 +01:00
Ben Loftis
7e5a488d81 Unrecognized plugins are stored in the tagfile (FromPlug); but only set the user_set flag if the user actually edited it. 2018-03-02 17:35:18 -06:00
Ben Loftis
4734fc23f5 Allow successive changes from the Gui to set tags. 2018-03-02 15:57:58 -06:00
Robin Gareus
0f9ca82684 Remove interpolation unit-test (fails to compile)
Ardour vari-speed does no longer use ARDOUR::CubicInterpolation
and LinearInterpolation was removed.
vari-speed is now using zita-resampler.
2018-03-02 16:13:37 +01:00
Robin Gareus
6f11cd30bf Fix gcc-4.2 OSX/PPC builds
ambiguity between
  reverse_iterator rend();
  const_reverse_iterator rend() const;
2018-03-02 16:11:21 +01:00
Ben Loftis
52a2f5bada Tag_reset() should be FromPlug, not FromGui. 2018-03-01 18:26:09 -06:00
Ben Loftis
54d0e1d992 Fix thinko in prior commit 7c5f1c. 2018-03-01 09:09:50 -06:00
Ben Loftis
91046b686d Plugin-Tag improvements:
Initialize LADSPA tags.
 Explicitly define behavior of tags provided by plugin, factory, or user.
 Store the plugin name in the tag-file, for easier user-submissions and bulk editing.
2018-03-01 09:03:53 -06:00
Robin Gareus
b0373598d7 Fix a typo (thanks to IOhannes/debian for reporting) 2018-02-28 20:40:38 +01:00
Len Ovens
edd21ac89e OSC: add group sharing bit feedback 2018-02-27 21:59:43 -08:00
Len Ovens
6adeded426 OSC: add group sharing bit setting 2018-02-27 21:59:43 -08:00
Len Ovens
d99060134b OSC: display only strips in group. 2018-02-27 21:59:43 -08:00
Paul Davis
2afc311f09 catch (incorrect) inclusion of non-MIDI related automation parameters in MidiSource XML nodes 2018-02-23 14:57:04 -05:00
Ben Loftis
21102b45d0 Revert afedd2 and associated commits (method to generate initial tag file) 2018-02-23 08:49:14 -06:00
Len Ovens
0d2d9fd1f6 fix compilation on windows with VST support 2018-02-21 21:05:53 -08:00
Len Ovens
d79bcd44b2 OSC: fix compiler warning and catch possible errors 2018-02-21 20:26:43 -08:00
Paul Davis
c746e78b3b fix compilation on linux with LXVST support 2018-02-21 23:20:53 -05:00
Ben Loftis
afedd214a7 Method to generate an initial tag file:
rm config/plugin_tags
touch config/init_plugin_tags
2018-02-21 18:05:33 -06:00
Len Ovens
d4ae858bf6 OSC: Add session name change 2018-02-20 15:49:37 -08:00
Ben Loftis
7fd1fc1dcf Add flag for corners, where top+left shadows are both required. 2018-02-19 08:01:27 -06:00