Robin Gareus
dd83d25baf
NO-OP: prefer binary OR to set midi-status byte
2018-03-28 00:32:32 +02:00
Robin Gareus
1de68d7917
Sparse update for granular controls on sliders
...
Don't call ::set_value() if the actual value has not changed.
e.g. MIDI-CC or integer controls. Moving the Bar-controller was able to
create events even though the actual value remained unchanged.
This check has to be done UI-side, since the underlying API is also used
for state-restore and automation. e.g.
"old value" (user-set) may be default "0", "new value" may also be "0" but
libardour still needs to send an event (a synth's internal state may not
default to "0")
2018-03-28 00:18:13 +02:00
Paul Davis
9840f84830
duplicate (regions) should honor ripple edit mode
2018-03-27 10:19:12 -04:00
Robin Gareus
929cea9ef4
Remove debug message and trailing whitespace
2018-03-27 15:30:48 +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
Robin Gareus
a4df6e565b
Fix MIDI-port info in plugin-manager
2018-03-24 20:05:17 +01:00
Nikolaus Gullotta
4e04da667c
assert(rv) removed, fixed redundant checking, and fixed proc ordering issue caused by commit c7f7347
2018-03-23 09:01:38 -05:00
Nikolaus Gullotta
c7f7347822
better group support + mute and solo recall
2018-03-22 10:03:09 -05: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
Nikolaus Gullotta
cbb039b9f6
more stability fixes
2018-03-20 15:41:20 -05:00
Nikolaus Gullotta
f1dc39bb82
fixed processor ordering crash in ardour and added group support (kinda)
2018-03-20 13:23:04 -05: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
Robin Gareus
e7f6eff84b
Fix crash when re-assigning groups to a disjunct set.
...
Drag a group-tab's right-edge horizontally to the right to remove all
current routes from the groups before adding new routes to the group.
The group becomes temporarily empty, and
Session::route_removed_from_route_group() removes the group (before new
routes can be added).
2018-03-20 18:08:12 +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
Nikolaus Gullotta
9ca094d9f6
Fixed issue in plugin id invalidator caused by commit d5d5c0c
2018-03-19 13:30:19 -05:00
Nikolaus Gullotta
d5d5c0c026
cleanup, fix in-on-change issue.
2018-03-19 12:25:21 -05:00
Robin Gareus
3ee2c3d632
Lua is not an acronym
2018-03-19 18:18:35 +01:00
Robin Gareus
efbfbb8330
Speed up plugin-selector refill.
...
* Detach model from treeview and disable sorting during refill.
* Prevent multiple re-fills due to sensitivity updates of ComboBoxes:
gtk_widget_set_sensitive() -> CairoWidget::on_state_changed ()
-> CairoWidget::set_visual_state () -> StateChanged Signal
2018-03-19 18:13:37 +01:00
Robin Gareus
ecb6e7fcfe
Fix "Shortcut" special-case in the script-selector.
...
The Script-selector is used in various places, not just for
Action-scripts.
Also add a "--" prefix for the separator to avoid name conflicts with
actual script names.
2018-03-19 15:43:07 +01: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
2092934721
Example Lua script to perform action at specific wallclock time
2018-03-18 15:56:28 +01:00
Damien Zammit
5e2d5db6c7
Fix midi track mapping on pt import
2018-03-18 11:41:54 +11:00
Robin Gareus
1231a0805a
Remove calls to deprecated Lua bitlib
2018-03-17 21:13:06 +01:00
Robin Gareus
c2ed125b8d
Remove another C++11 construct (local struct) from UI code
2018-03-17 20:00:08 +01:00
Robin Gareus
1de8bc3617
Remove C++11isms (libptformat)
2018-03-17 19:59:38 +01:00
Robin Gareus
37e5b705e7
Fix wrong "_nth_" replacement in ba202cc09
2018-03-17 18:17:25 +01:00
Robin Gareus
ba202cc095
Don't alter, use and rely on selection for PT import
2018-03-17 17:32:29 +01:00
Robin Gareus
a36901a0d9
NO-OP: C++ify code
...
* remove typdef for struct
* Remove {} struct initializer, use a dedicated c'tor
* scope variables
2018-03-17 17:21:21 +01:00
Robin Gareus
9777baae00
NO-OP: whitespace
...
* distinguish comments and commented-out-code
* add space after function, before bracket
2018-03-17 17:15:44 +01:00
Damien Zammit
8b925fc395
PT import: Use multitrack MIDI import support based on ptformat update
2018-03-17 22:41:44 +11:00
Damien Zammit
cce575eb72
ptformat: Update to upstream master 4e653041
...
- Better MIDI support
2018-03-17 22:40:16 +11:00
Ben Loftis
f33cd95047
Startup Dialog: A change to the monitor selection should trigger a write to config.
2018-03-16 16:34:23 -05:00
Nikolaus Gullotta
3e103dbfcb
add support to reinstantiate deleted plugins
2018-03-16 11:12:09 -05:00
Nikolaus Gullotta
8ec3aa1eec
NO-OP: Convert Spaces to Tabs
2018-03-16 11:12:09 -05:00
Nikolaus Gullotta
a09111447f
description changes and stop jumping instructions if proc:isnil()
2018-03-16 11:12:09 -05:00
Robin Gareus
d52967aa62
Expose a few more PluginInsert methods to Lua
2018-03-16 15:33:56 +01:00
Robin Gareus
7b597055ee
GUI: create_vca() API change
2018-03-15 20:25:27 +01:00
Robin Gareus
c656aaab3c
VCA API-change: return created VCAs (handy for Lua scripts)
2018-03-15 20:25:27 +01:00
Nikolaus Gullotta
51a0a2f74c
re-add plugin bypass state and move proc order writing closer to top
2018-03-14 14:44:58 -05:00
Nikolaus Gullotta
fff345d48a
I said, LESS ugly, not more :)
2018-03-13 14:51:47 -05:00
Nikolaus Gullotta
8c0c7260aa
Now recalls plug-in ordering (also looks a bit less ugly hopefully?
2018-03-13 14:26:27 -05:00
7890
00e1e12baa
Add Midnam for Roland TB-03
...
Named controllers according to MIDI implementation chart.
https://www.roland.com/global/support/by_product/tb-03/
2018-03-13 16:18:23 +01:00
Robin Gareus
3cd79cd80f
Sort generic-midi bindings alphabetically
2018-03-13 16:18:03 +01:00
Robin Gareus
3d0bf90868
Novation LaunchKey 49 bindings from Michael McLeod
2018-03-13 16:18:03 +01:00