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
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
Hiroki Inagaki
277c75c894
Update Japanese translation
2018-01-23 12:14:36 +01:00
b88fd1e6ca
Fix Export-format timecode spec (frames: timecode frames)
...
undo/fix 30b087ab3d
2018-01-21 11:00:57 +01:00
c833b56029
Explicit encoding for bindings html.
2018-01-17 16:52:16 +01:00
e3457977c9
Add Lua bindings to change Location/Maker names
2018-01-15 17:26:24 +01:00
1ebe6cdf07
OSC: Added feedback for /strip/hide
2018-01-14 13:07:40 -08:00
c7a052a45f
OSC: add /strip/hide
2018-01-14 13:07:40 -08:00
ef1301759d
OSC: Add feedback for hidden strip
2018-01-13 08:41:58 -08:00
e51c5ab76a
OSC: add /select/hide
2018-01-13 07:58:37 -08:00
40498f841d
Refine 31f79489
, de-duplicate AU I/O configurations
2018-01-12 01:09:45 +01:00
31f7948936
Fix AU i/o busses accounting.
...
This fixes issues for synths with zero audio input, explicit default
stereo config and optional busses.
2018-01-11 20:18:00 +01:00
7d6e6424c7
OSC: Expand gainmode to add two new options
...
fix bug where a surface might have more than one global observer
2018-01-09 19:19:29 -08:00
7671268bc3
strlen is not a member of std.
2018-01-03 18:06:55 +01:00
15fa89c8dd
OSC: Plugin activate should detect no plugins
2018-01-02 10:23:11 -08:00
6f8b9612f6
Lua-binding to directly add automation-events
2017-12-31 18:15:34 +01:00
9fc68378c6
Process Panner Automatables (emit Changed)
...
Pan-automation is evaluated directly from the control-list.
::distribute_automated() does not update the controls.
However, the *owner* of each automation-control is responsible to
evaluate automation of automated automation-controls (and emit Changed()
signals to notify the GUI and slaved controls).
This follow the same concept as PluginInsert: The Changed signal
is called on demand when evaluating automation.
This fixes pan-automation-sliders (automation-lane header) not updating.
2017-12-31 18:15:34 +01:00
6536126ad2
OSC: Check for no markers yet (crash fix)
2017-12-29 14:47:00 -08:00
0dc3400707
remove unused line
2017-12-24 08:56:19 -08:00
6d204e76eb
OSC: fix jog mode } in wrong place
2017-12-23 13:50:28 -08:00
283ff0230d
OSC: Add feedback for /marker
2017-12-23 13:17:11 -08:00
1a602cbfa2
Tweak size of transport-icons for consistent height+baseline
2017-12-23 00:57:06 +01:00
Hiroki Inagaki
720ad15a45
Update Japanese translation
2017-12-22 22:19:00 +01:00
f40e2375cb
Tweak icons (for non-square layout)
2017-12-22 22:15:50 +01:00
34a926fc51
OSC: add /marker to locate to a marker.
2017-12-22 12:04:05 -08:00
5a23719da3
FP8/16: Ignore "black" a strip color, always light select-button
2017-12-21 02:30:01 +01:00
1deb6525b8
FP8/16 fix meter + no-pan display mode
2017-12-21 02:30:01 +01:00
c0d333ba9c
FP8/16 subscribe to panner changes (add/remove channel)
2017-12-21 02:30:01 +01:00
0d72f37318
OSC: Add /surface/list option to setting GUI
2017-12-20 07:48:35 -08:00
e921088ee8
Fix fp16 encoder (misleading doc on fp8)
2017-12-19 17:56:57 +01:00
3cb952d7fb
Revert "Prototype to allow embedding sysex in midi-map"
...
This reverts commit 561c8eea0c
.
It is rare that a device needs sysex-initialization every time it is
connected, besides a single simple "Sysex" entry without options
is not very flexible.
2017-12-19 17:45:03 +01:00
4ebcef53f8
Relax max MIDI msg size to 256 (for long sysex)
...
(win-mme already used 256, CoreMIDI can handle up to 256 as can ALSA)
2017-12-19 17:41:57 +01:00
f9d7a3720d
Fix faderport-16 touch on/off (fixes faders 9..16)
2017-12-19 03:50:07 +01:00
22939488e7
OSC: Move /surface/list output to PBD::info
2017-12-16 12:42:32 -08:00
847b71e12d
OSC: make custom strip lists work on linked surfaces too
2017-12-16 08:24:41 -08:00
0c3531efe7
Fix gcc4 builds "GCC diagnostic not allowed inside functions"
2017-12-16 17:08:36 +01:00
46eed03282
Downgrade some undo-related error messages
...
Missing undo isn't a error. There are valid cases for this to happen.
e.g. switching snapshots or deleting tracks or session-format changes
It's useful to know, but should not distract users showing up as "Errors"
2017-12-16 15:38:02 +01:00
ca979ee606
Sync weakjack with upstream https://github.com/x42/weakjack/
2017-12-15 21:56:46 +01:00
886244feea
OSC: Add Sorted or not to custom strip list
...
fix bug where processor_changed sometimes gets null address
2017-12-15 09:43:48 -08:00
559344d99d
OSC: in custom strip list check all strips exist
2017-12-15 09:43:48 -08:00
d6eea08021
OSC: initialize parameter correctly
2017-12-15 09:43:48 -08:00
d34ae43931
Fix FP8/16 port-names
2017-12-13 23:44:39 +01:00
26a59261fe
Fix FP16 fader-touch release for faders 9..16
2017-12-13 23:11:37 +01:00
ae0dd7c209
Fix FP16 select button 10..16
2017-12-13 21:59:22 +01:00
508f23c4d0
Add FP17 to reserved I/O names
2017-12-12 14:13:34 +01:00
bac627d0be
Add FP16 control-surface
2017-12-12 14:10:07 +01:00
7671a0f675
Namespace FP8, FP16 to avoid symbol conflicts
2017-12-12 14:09:40 +01:00
e3340cdf01
Prepare for FaderPort16 (ctrl-protocol)
2017-12-12 14:08:45 +01:00
b117910c29
Fix a -Wreorder
2017-12-12 00:24:00 +01:00
16a9878f22
more NO-OP, comment and whitespace
2017-12-12 00:19:36 +01:00
23a4030159
US-2400: ignore joystick moves until the user clicks the joystick NULL button.
2017-12-11 10:51:33 -06:00
561c8eea0c
Prototype to allow embedding sysex in midi-map
2017-12-06 16:33:58 +01:00
ab5be61f51
Accommodate newly added/removed source(s) in our MSVC project (libardour)
2017-12-06 10:51:53 +00:00
4a66edd480
Add Lua bindings for MIDI-parser and Async ports
2017-12-05 16:09:49 +01:00
332a7e56ca
Increase ALSA max MIDI msg size to 128 bytes (same as OSX) for long sysex
2017-12-05 16:09:46 +01:00
4cab03887c
Add a Raw MIDI parser (based on ALSA raw MIDI)
2017-12-05 16:09:42 +01:00
bb5345614d
Allow to pre-seed Lua action script params
2017-12-05 01:55:38 +01:00
d5e1f536a7
Allow to pass interpreter to evaluate action-script parameters
...
This allows to add bindings, in particular GUI dialog, to be registered
before evaluating the parameters.
2017-12-05 01:55:38 +01:00
2c4a8d2d25
OSC: Add custom bank creation and use
2017-12-02 08:18:53 -08:00
9aab9bc229
A couple of minor changes when #including <utime.h>
2017-12-02 11:46:20 +00:00
1dd52464aa
Add some devices to the reserved list of midi controllers.
2017-11-30 09:13:06 -06:00
c91a7c4263
Fix Windows builds (amend a3ec16)
...
Since scanner.cc defines NO_OLDNAMES, utime.h needs to be included
first.
2017-11-29 18:53:06 +01:00
a3ec164450
Set VST cache file mtime to be at least as new as the plugin
...
Fixes issues with timezones when installing pluins from a .zip
2017-11-29 15:08:25 +01:00
d1183770de
ArdourButton: ignore double+tripple clicks
2017-11-29 12:06:42 +01:00
5fd723b1f0
Update LuaProc GC stat calc
2017-11-29 12:06:42 +01:00
77d16999b5
Tweak Lua GC
2017-11-29 12:06:42 +01:00
44cf448839
update to lua-5.3.4
2017-11-29 12:06:42 +01:00
06ea56a2ce
OSC: add /select/plugin/activate cause some add deactivated
...
And clean up plugin code as well
2017-11-28 12:33:20 -08:00
3856d525fb
Fix "open folder" for non-ASCII paths on Windows
2017-11-27 00:42:55 +01:00
7a7fc60a8d
Remove unused API
2017-11-26 09:51:00 +01:00
e02952a26c
Sidechain latency compensation - part one
...
This properly sets the port-latencies of PluginInsert owned ports as well
as handles external sends (send-target playback latency).
NB. This needs more work to ensure that Sidechain input port playback
latency is set before the feeding send queries it the connected latency.
Re-ordering process may change sidechain or external-send latencies,
but since re-ordering does not change the route's latency,
engine.update_latency() may not be called.
2017-11-26 09:51:00 +01:00
f149fd2653
Add convenience methods to set port latencies
2017-11-26 09:51:00 +01:00
da467cf39b
OSC: Only send new select send values
...
no clear first, no double send
2017-11-23 12:04:54 -08:00
155156cfb2
OSC personal monitor fix off by one bug.
2017-11-23 12:04:54 -08:00
07f940016c
fix call to std::unique; to actually erase dups.
2017-11-23 10:23:54 +01:00
1a46ee716d
remove useless test, fgets() already ensures MAX_STRING_LEN
...
Found by PVS-Studio - https://www.viva64.com/en/b/0540/
2017-11-23 09:56:57 +01:00
2fec64f0bd
Fix another duplicate if from session/system config consolidation
...
Found by PVS-Studio - https://www.viva64.com/en/b/0540/
2017-11-23 09:53:50 +01:00
7d4353dddc
Fix typo in 318e7efb
2017-11-23 00:13:46 +01:00
1be2790cac
Add clock-delta mode enum
2017-11-23 00:12:00 +01:00
e275154a40
Introduce a dedicated "Clock Origin" Marker
2017-11-23 00:11:55 +01:00
318e7efb9e
Release (debug) lock before emitting signal
2017-11-22 18:12:29 +01:00
18306f3d37
OSC: only reset cue sends that do not have a new send
2017-11-13 17:19:09 -08:00
a6205cef40
OSC: /cue/previous_aux should always refresh
2017-11-13 17:19:09 -08:00
2d85eceb0e
OSC: cue buttons can accept float or int
2017-11-13 17:19:09 -08:00
e6f2d77605
Add API to allow buffer offsets when applying gain
2017-11-12 00:22:34 +01:00
93e32af9f4
Add a noise generator (Lua DSP)
2017-11-12 00:22:34 +01:00
52aa9bf848
a-comp: Fix typo with previous patch
2017-11-12 00:16:44 +11:00
f3efff4c7e
a-comp: Fix noise floor - asymptotics
2017-11-11 14:26:50 +11:00
69603bb76e
OSC link: make whole link set follow strip_types
...
strip should not run periodic when blank - crash fix
2017-11-10 08:38:08 -08:00
634c620b07
OSC: set_surface sets linkset, linkid
...
/set_surface/* deals with linked surfaces
2017-11-08 09:36:32 -08:00
3a2c481b96
OSC: catch bad commands on /cue/* created crash on exit
2017-11-07 20:18:59 -08:00
4c58ada24b
Fix a-reverb bypass/enable
2017-11-08 01:38:17 +01:00
ba383b4726
OSC link: Clean up link not ready and surface refresh
2017-11-07 09:31:14 -08:00
bb8d65c528
OSC link: make selection work correctly
2017-11-06 13:38:18 -08:00
77a94e1015
Optimize zresampler for no re-sampling case.
2017-11-06 00:13:14 +01:00
4cdd3f5df6
Some further notes (and experiments) on optimizations
2017-11-06 00:12:32 +01:00
da4cea0526
Add some notes for future optimizations (and prepare API)
2017-11-04 17:11:10 +01:00
8366fbaa62
Change Delayline to use power-of-two size and bitmasking
2017-11-04 16:39:08 +01:00
06abdee652
[Re]-Implement Delayline flush.
...
Also don't automatically flush the delayline at transport or monitor-
changes anymore.
With full-graph latency compensation, delaylines are before the
disk-reader, aligning input (disk uses read-ahead to align).
Flushing the delayline should only happen when input-monitoring
is disengaged. It's best degated to the Route or object using the
Delayline (potentially latency-aligned delayed flush).
2017-11-04 16:24:09 +01:00
d26ad5573c
Optimize Delaylines: block-process (not one sample at a time)
...
This also tweaks fade behavior when the latency changes to prefer a
x-fade when possible.
This new variant does not support concurrent re-allocation and
execution. Hence the auto-connect thread needs to take a lock before
updating latencies (actually there's no need for an explicit update with
built-in backends, so this case remains to be updated further)
2017-11-04 07:14:12 +01:00
5fdd6ca21e
Clean up delayline API: don't use 'get_' for accessor method-name
2017-11-04 07:14:12 +01:00