13
0
Commit Graph

13953 Commits

Author SHA1 Message Date
dd83d25baf NO-OP: prefer binary OR to set midi-status byte 2018-03-28 00:32:32 +02:00
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
ddfc37e42a fix binding to long-press for User button on FaderPort 2018-03-26 13:56:50 -04:00
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
c177434669 OSC: Change custom mode to enum 2018-03-20 14:37:40 -07:00
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
5385aece94 OSC: a strip controlling a send should deactivate other controls 2018-03-20 08:43:10 -07:00
bfbab2d0b5 OSC: Add feedback for bus_only mode and automation and pan 2018-03-20 08:43:10 -07:00
29975638c0 OSC: select should have latch too. 2018-03-20 08:43:10 -07:00
c768aeabc4 OSC: Add bus only mode for gain controls 2018-03-20 08:43:10 -07:00
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
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
1de8bc3617 Remove C++11isms (libptformat) 2018-03-17 19:59:38 +01:00
cce575eb72 ptformat: Update to upstream master 4e653041
- Better MIDI support
2018-03-17 22:40:16 +11:00
d52967aa62 Expose a few more PluginInsert methods to Lua 2018-03-16 15:33:56 +01:00
c656aaab3c VCA API-change: return created VCAs (handy for Lua scripts) 2018-03-15 20:25:27 +01:00
3cd79cd80f Sort generic-midi bindings alphabetically 2018-03-13 16:18:03 +01:00
74c4e4a6d8 OSC: group commands should feedback all off if no group 2018-03-12 16:03:53 -07:00
98d6fe9c91 OSC: fix /strip/hidden feedback excess 2018-03-10 13:07:13 -08:00
b2259e11d0 OSC: change group sharing to individual commands
Send less feedback for group name and sharing
2018-03-10 13:07:13 -08:00
ed04660940 OSC: set surface should reset custom mode 2018-03-10 13:07:13 -08:00
f1dc45c7f2 OSC: Display only strips controlled by selected VCA 2018-03-10 13:07:13 -08:00
e4da386eb5 OSC: add set VCA for slavable strip 2018-03-10 13:07:13 -08:00
30533cd43a OSC: Added slaved feedback to select 2018-03-10 13:07:13 -08:00
5fe704e8c3 Add virtual slaved, slaved_to calls to stripable 2018-03-10 13:07:13 -08:00
d1290e82db OSC: check route exists 2018-03-10 13:07:13 -08:00
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
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
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
4734fc23f5 Allow successive changes from the Gui to set tags. 2018-03-02 15:57:58 -06:00
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
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
52a2f5bada Tag_reset() should be FromPlug, not FromGui. 2018-03-01 18:26:09 -06:00
54d0e1d992 Fix thinko in prior commit 7c5f1c. 2018-03-01 09:09:50 -06:00
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
b0373598d7 Fix a typo (thanks to IOhannes/debian for reporting) 2018-02-28 20:40:38 +01:00
edd21ac89e OSC: add group sharing bit feedback 2018-02-27 21:59:43 -08:00
6adeded426 OSC: add group sharing bit setting 2018-02-27 21:59:43 -08:00
d99060134b OSC: display only strips in group. 2018-02-27 21:59:43 -08:00
2afc311f09 catch (incorrect) inclusion of non-MIDI related automation parameters in MidiSource XML nodes 2018-02-23 14:57:04 -05:00
21102b45d0 Revert afedd2 and associated commits (method to generate initial tag file) 2018-02-23 08:49:14 -06:00
0d2d9fd1f6 fix compilation on windows with VST support 2018-02-21 21:05:53 -08:00
d79bcd44b2 OSC: fix compiler warning and catch possible errors 2018-02-21 20:26:43 -08:00
c746e78b3b fix compilation on linux with LXVST support 2018-02-21 23:20:53 -05:00
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
d4ae858bf6 OSC: Add session name change 2018-02-20 15:49:37 -08:00
7fd1fc1dcf Add flag for corners, where top+left shadows are both required. 2018-02-19 08:01:27 -06:00
a9d041c62e OSC: allow setting of marker name 2018-02-18 09:16:16 -08:00
08632d623e OSC: select comment should feedback when comment changed 2018-02-18 09:16:16 -08:00
66fa0778ab OSC: Allow surface to change route comment. 2018-02-18 09:16:16 -08:00
0b3026d388 Drop-shadow spacer; for theming. 2018-02-17 22:25:39 -06:00
4c7ad5db4d Fix long-standing bug in spacer expose+render. 2018-02-17 16:46:04 -06:00
a29d3c1b31 OSC: Select should be able to rename as well. 2018-02-16 22:54:16 -08:00
dffecfa4c6 OSC: added group join, switch, remove function 2018-02-16 13:10:20 -08:00
3504ecff5f noop OSC: path strings should not get tranlated 2018-02-16 13:10:20 -08:00
3ac47220a0 OSC: Add /group/list so surface can get a list of groups 2018-02-16 13:10:20 -08:00
b9c9777b9a When building with MSVC, allow for the fact that Mixbus and Ardour can be using different versions of the SESSION_FILE format 2018-02-15 09:03:32 +00:00
208c781248 Auto-monitor == Cue for MIDI tracks. 2018-02-14 18:04:57 -06:00
6f019faaa0 Accommodate the change from libtimecode to libtemporal 2018-02-14 10:02:11 +00:00
870c046c4c Users struggle with Pane Dividers. Make them larger, and set a min-size on the mixer list pane. 2018-02-12 16:16:09 -06:00
9a20433d98 fix definition of Temporal::Beats::max()
Ticks can exceed PPQN, but if beats are already INT32_MAX, ::normalize() will not work correctly
2018-02-12 11:44:37 -06:00
e6da4c4846 SoloSelection: libardour part. 2018-02-11 09:39:36 -06:00
11e50fe0c5 Resolve a few -Wunused-variable warnings in US2400. 2018-02-10 22:43:53 -06:00
b1d7eabf54 iCon device tweaks: faster timecode display refresh rate. Submitted by Michal Barhon. 2018-02-10 22:43:53 -06:00
ff319ce63f Resolve -Wreorder in qcon code. 2018-02-10 22:43:42 -06:00
dc61256466 new_grid: Rewrite of Snap and Grid. (squashed commit)
Separate Snap from Grid.  Lots of naming changes.
Multiple simultaneous snap options allowed. Grid is one of the possible Snap options.
Grid uses the same data as the rulers.  Replace complicated tempo_lines with simple grid_lines.
The Grid is zoom-scale-sensitive along with the rulers.  If you are zoomed out, grid becomes coarser.
2018-02-09 09:59:39 -06:00
70d8300cb2 OSC: clean up jog mode, simplify feedback 2018-02-05 10:40:25 -08:00
ea1740d65f MSVC only allows static class members to be initialised in the class declaration 2018-02-03 14:58:45 +00:00
2124fb72ea Make sure that 'libardour-config,h' only gets #included when building with waf (as it only gets generated when building with waf)
When building with MSVC this was getting #included in a few places which had the effect of making my session files get generated in a very old format.
2018-02-03 13:58:22 +00:00
b69d818ce9 Further defer changes of plugin Tags+Status, and consolidate code to call PluginListChanged only once. 2018-02-02 19:25:01 -06:00
3aacdd79ae Fixes for the iCON Qcon mcp device - LED rings. Submitted by Michal Barhon : mbarhon@seznam.cz 2018-02-02 09:27:37 -06:00
16a5e3ce55 OSC: jog mode and jog mode name should be sent at refresh 2018-02-01 22:03:04 -08:00
ae3d9deefb Support for the iCON Qcon mcp device - sysex strings. Submitted by Michal Barhon. 2018-02-01 14:39:59 -06:00
f549fcfb76 OSC: Add group name feedback to strips 2018-01-31 11:48:10 -08:00
09ca375e15 Allow to filter tags by hidden + favorite
This in preparation to not populate context-menus with unused tags.
2018-01-31 14:02:44 +01:00
d97973925d const where const is due 2018-01-31 12:45:58 +01:00
141e6f848e Text case change (_VSTInfo::Category needs to be capitalized) 2018-01-31 11:01:56 +00:00
6ce0a27e0f Fix editing/replacing plugin-tags 2018-01-30 20:03:13 +01:00
fe63db8697 Ardour Button Toggle explosion
Add option to use ArduorButton as standalone Toggle/Checkbox.
Usually ArdourButton relegates this to Actions or is backed by Config.
This allows to use the Button as standalone Toggle, get_active()
It should maybe be a derived Class, but ArdourButton is already beyond
that..
2018-01-30 19:52:27 +01:00
1dd32bae94 Move LADSPA Author string sanitation to libardour.
(Also allow dot as valid char: e.g. "James T. Kirk" but keep stripping
common suffixes like <e@mail>.
2018-01-30 19:52:09 +01:00
5cbd978735 ArdourButton: honor text-ellipsis width for size-request 2018-01-30 16:27:18 +01:00
f979463cfe Add ArdourDropdown API for use as dumb text dropdown. 2018-01-30 15:21:45 +01:00
fa676eb784 Add backend-API to reset plugin tags 2018-01-30 13:10:00 +01:00
19f62d331c Fix plugin factory tags
* tag-file is loaded early on (before scanning plugin) retain factory
  set tag from file, don't use plugin-categories.
* load user plugin-tag file after factory plugin-tag file
2018-01-30 03:59:58 +01:00
73bafc36ea Clean up tag tokenization code
* accept " ,\n" as separator
* produce only " " as separator
* squelch error message for empty-string tokenization
* clean up code, use existing API methods for lower-case transform
2018-01-30 03:12:09 +01:00
257a1dde91 Remove unused API 2018-01-30 01:34:43 +01:00
34f9bd502b NO-OP: whitespace 2018-01-30 01:34:29 +01:00
3eb6a40ce4 Update PluginManager: implement plugin tags
* move plugin-meta-data (status, tag) into dedicated sub-dir
* load/save space separated tags
* pre-seed tags with plugin-category (if unset)
* breaking API change: PluginStatusesChanged() signal includes change
2018-01-30 01:34:14 +01:00
b8491014a5 Update plugin classification
* dedicated API for classes (effect, instrument, util)
* prepare for tags (rather than categories)
* prepare removal of per-plugin in_category() API
2018-01-30 01:33:48 +01:00
4d173d6048 Prepare plugin-meta-data config-dir and files 2018-01-30 01:33:45 +01:00
11d2077b43 FP8/16: Update Plugin List when Selection changes. 2018-01-27 20:56:13 +01:00
0aa0d49a4d FP8/16: Don't show Channelstrip as Plugin, use well-known API only 2018-01-27 20:53:31 +01:00
d3a74d3c70 Fix some small memory leak (libardour) 2018-01-27 15:45:12 +01:00
48c1a24284 Fix some clang warnings (argument with 'nonnull' attribute passed null) 2018-01-26 18:07:23 +01:00
c1632635b5 OSC: reorder /set_surface parameters to fit manual
remove unused call
2018-01-24 08:17:45 -08:00
5e4aa5455e OSC: Make sure observers are restarted if port changes 2018-01-24 08:17:45 -08:00
ea0808de2d OSC: Allow Surface to set it's own receive port 2018-01-24 08:17:45 -08:00
f7ec31d95d OSC: allow each surface to set portmode for that IP. 2018-01-24 08:17:45 -08:00
d785883836 Fix FP16 Solo (0x53 is mapped to encoder-press, 0x56 to loop) 2018-01-23 19:00:18 +01:00