13
0
Commit Graph

176 Commits

Author SHA1 Message Date
1e57175471
Example Lua script to add plugins and sends 2020-04-22 21:40:46 +02:00
Luciano Iam
80dc3a38e0 WebSockets: let clients know if a strip is a VCA
This allows to hide the panner for example
2020-04-21 16:20:24 +02:00
Luciano Iam
744762f343
WebSockets: reduce transport surface buttons size 2020-04-20 22:59:17 +02:00
Luciano Iam
4579f5b4cd
WebSockets: transport surface minor optimizations
Layout tweaks on small screens (ie, phones)
Custom font for transport time
Fix ArdourClient constructor parameters
2020-04-20 22:59:17 +02:00
Luciano Iam
b7cdb63a95
WebSockets: optimize transport surf. layout 2020-04-20 22:59:16 +02:00
Luciano Iam
66b8a741ae
WebSockets: remove Firefox button focus border in transport surface 2020-04-20 22:59:16 +02:00
Luciano Iam
7118eff7eb
WebSockets: transport surface implementation 2020-04-20 22:59:16 +02:00
Luciano Iam
33fdd023ab
WebSockets: improve plugin params layout in mixer-demo 2020-04-20 22:59:16 +02:00
Luciano Iam
1d84cc0046
WebSockets: add transport methods to client JS 2020-04-20 22:59:16 +02:00
Luciano Iam
5105219076
WebSockets: rename *_desc nodes to *_description 2020-04-20 22:59:15 +02:00
656cd9c8a7
Fix Lua script auto-connect new tracks
Since c16ab3a248 Session::new_audio_track has an optional parameter
to auto-connect inputs. Lua scripts don't have a default parameter,
so bool input_auto_connect was assumed false and inputs left
unconnected.
2020-04-20 22:24:08 +02:00
8edc94edea
Update a-Amplifier, use Ardour::Amp
This fixes an issue with a-Amp interpolating the parameter in dB,
resulting in a double-exponential fade when the parameter changes.

Now fade is linear in dB, also using Ardour' Amp processor is more
efficient, since interpolation happens in C++.
2020-04-19 00:49:43 +02:00
Luciano Iam
28dd253231
WebSockets: make the mixer-demo look good on small screens 2020-04-17 20:15:11 +02:00
Luciano Iam
1a6997e0c8
WebSockets: change mixer-demo color palette to look closer to Ardour's default skin 2020-04-17 20:15:10 +02:00
Luciano Iam
50ba8dea96
WebSockets: improve JS client and demo
add methods to callback.js
automatically reconnect js client on disconnection
mixer-demo do not recreate UI on reconnection
NO-OP: indentation in message.js
make client JS reconnection optional
fix mixer-demo scrolling
minor JS client refactor
improve mixer-demo readability
2020-04-17 20:15:10 +02:00
Luciano Iam
2ba8dab95e
WebSockets: update JS client and demo
avoid hardcoded node name strings in mixer-demo
improve mixer-demo design
split ardour.js client into control and metadata mixins
rename JS client class Ardour to ArdourClient
JS client improve mixin implementation
JS client improve manifest parser
NO-OP whitespace and comments
NO-OP update websurface manifest versions
add Ardour icon in mixer-demo
improve mixer-demo scrolling on touch screens
2020-04-17 20:15:10 +02:00
Nikolaus Gullotta
4fffb39258
Fix Mixer Recall script
Add new Mixbus internal processors to well_known list, and ensure that
proc is not nil before invalidation
2020-04-16 10:59:44 -05:00
87626e0bdd
NO-OP: remove trailing whitespace 2020-04-16 16:53:48 +02:00
Nikolaus Gullotta
858bb4294d
Fix Mixer Store/Recall
Two main problems are addressed by this commit.

First, storage of
parameters was broken because the index for values was set by the
parameter count, not the control port count which set_processor_param()
expects.

Second, the value was not clamped to pd.upper and pd.lower causing some
parameters to fail when set.

This invalidates previous mixer store files.
2020-04-15 13:38:33 -05:00
Nikolaus Gullotta
07709b39c1
Reset master send control along with sends 2020-04-14 13:34:49 -05:00
Luciano Iam
83353b3125
WebSockets: add client getSurfaceManifest() example in mixer-demo 2020-04-13 16:29:42 +02:00
Luciano Iam
9fa7eb15ac
WebSockets: avoid hardcoding node names in mixer-demo, fix typo in message.js 2020-04-13 16:29:41 +02:00
Luciano Iam
da670aa186
WebSockets: improve support for callbacks in JS client lib 2020-04-13 16:29:41 +02:00
Luciano Iam
1f3b40f4bd
WebSockets: improve wording in latest commit instructions 2020-04-13 16:29:41 +02:00
Luciano Iam
e700e640c0
WebSockets: display usage instructions when loading index.html from a local file 2020-04-13 16:29:41 +02:00
Luciano Iam
eead6f9cac
WebSockets: make mixer-demo import ardour.js instead of lower level channel.js 2020-04-13 16:29:41 +02:00
Luciano Iam
1f0dfddde1
WebSockets: split channel.js into channel.js and message.js 2020-04-13 16:29:41 +02:00
Luciano Iam
1e3084d760
WebSockets: detect channel drop in ardour.js 2020-04-13 16:29:41 +02:00
Luciano Iam
236ba5c1c4
WebSockets: NO-OP update some code comments 2020-04-13 16:29:41 +02:00
Luciano Iam
8c2f7d42b8
WebSockets: improve mixer-demo look 2020-04-13 16:29:40 +02:00
Luciano Iam
a8dce60eb5
WebSockets: rename Node to ANode to avoid shadowing DOM Node class 2020-04-13 16:29:40 +02:00
Luciano Iam
b8f52a519a
WebSockets: add support for a message callback in ardour.js 2020-04-13 16:29:40 +02:00
Luciano Iam
c5366427d0
WebSockets: NO-OP update comments in mixer-demo code 2020-04-13 16:29:40 +02:00
Luciano Iam
bfcba85336
WebSockets: throw error if trying to send() before open() in MessageChannel 2020-04-13 16:29:40 +02:00
Luciano Iam
7aca159017
WebSockets: remove test code from ardour.js 2020-04-13 16:29:40 +02:00
Luciano Iam
089a4958ca
WebSockets: complete ardour.js client APIs 2020-04-13 16:29:40 +02:00
Luciano Iam
de7b76e77d
WebSockets: fix node+addr hash when addr is undefined 2020-04-13 16:29:39 +02:00
Luciano Iam
3fd7be9aba
WebSockets: NO-OP add a comment in mixer-demo code that explains approach 2020-04-13 16:29:39 +02:00
Luciano Iam
50fc366eeb
WebSockets: add mixer APIs in ardour.js 2020-04-13 16:29:39 +02:00
Luciano Iam
dbbd3b0eaf
WebSockets: export Node constants in channel.js 2020-04-13 16:29:39 +02:00
Luciano Iam
2b8e9ceb89
WebSockets: make Message.fromJsonText() a ES6 static method 2020-04-13 16:29:39 +02:00
Luciano Iam
feeda2c19d
WebSockets: avoid duplicated node+addr hash function in JS code 2020-04-13 16:29:39 +02:00
Luciano Iam
22199e8845
WebSockets: decouple Message from MessageChannel 2020-04-13 16:29:39 +02:00
Luciano Iam
a51ce18334
WebSockets: rename ArdourMessageChannel to MessageChannel 2020-04-13 16:29:39 +02:00
Luciano Iam
198590bc94
WebSockets: update index page JS to reflect latest two commits changes 2020-04-13 16:29:38 +02:00
Luciano Iam
e7f22cf989
WebSockets: rename resource index.json to more meaningful surfaces.json 2020-04-13 16:29:38 +02:00
Luciano Iam
17cbd65603
WebSockets: rename all occurrences of 'disk path' to 'filesystem path' 2020-04-13 16:29:38 +02:00
Luciano Iam
fef1ed81ed
WebSockets: improve index page design 2020-04-13 16:29:38 +02:00
Luciano Iam
320233b075
WebSockets: add surface version numbers to index page 2020-04-13 16:29:38 +02:00
Luciano Iam
b66b2858b1
WebSockets: add version field in manifests and update loader 2020-04-13 16:29:37 +02:00
Luciano Iam
d709d8b868
WebSockets: cleanup index page JS 2020-04-13 16:29:37 +02:00
Luciano Iam
68ecf6c0b3
WebSockets: add method for retrieving surface manifest in ardour.js 2020-04-11 22:30:42 +02:00
Luciano Iam
3d8e430324
WebSockets: remove unnecessary .. in module import 2020-04-11 22:30:42 +02:00
Luciano Iam
5c78c85ef5
WebSockets: rename Channel to ArdourMessageChannel 2020-04-11 22:30:41 +02:00
Luciano Iam
02cdd5b52d
WebSockets: re-add close callback in channel.js 2020-04-11 22:30:41 +02:00
Luciano Iam
ece0bcde8b
WebSockets: make mixer-demo use ardour lib and remove duplicated code 2020-04-11 22:30:41 +02:00
Luciano Iam
40a03e4cf5
WebSockets: update index page to use JS client lib, cleanup code 2020-04-11 22:30:41 +02:00
Luciano Iam
01e25a3199
WebSockets: shared JS client initial implementation 2020-04-11 22:30:41 +02:00
Luciano Iam
b7acaf1193
WebSockets: update web index to handle latest index.json format and show surface paths on disk 2020-04-11 22:30:41 +02:00
Luciano Iam
c96e392f0f
WebSockets: prepare for developing a shared JS API client 2020-04-11 22:30:40 +02:00
Luciano Iam
d219cde926
WebSockets: better handle errors in web-based surfaces index 2020-04-11 22:30:40 +02:00
f18a7e3fc3
Prefer using C++ DSP for noise generation in scripts
This significantly reduces the DSP load of the noise
generator (avg. process time is reduced by a factor of 8 or more).
2020-04-11 11:41:22 +02:00
Luciano Iam
891c63fe89
Update HTML/CSS/JS frontend 2020-04-09 20:56:46 +02:00
93a5f2d768
Fix typo in script 2020-03-15 11:24:55 +01:00
925be49b2d
Remove redundant collectgarbage() calls from scripts
Since 8112d6472e garbage is automatically collected
after running a Lua GUI script.
2020-03-10 23:31:20 +01:00
f921b4790f
Add Lua example snippet to set region fades 2020-03-10 23:20:07 +01:00
1d17993a29
Revert failed experiment, scripted multiple MIDI outputs via dsp_run()
This reverts commit 8702ff2189,
and b10d9cf09b.

There was a misconception on the iterator (port vs message
in sequence), besides Ardour's mixer-strip is preferably used
with a single MIDI port. Most plugin-standards also only support
one port.

If need be LuaDSP run_map() can be used to handle multiple
MIDI I/O ports already.
2020-03-09 22:12:23 +01:00
1a69bc4a96
Fix off by one in Lua scripts
Lua arrays (tables) start counting at one.
Also `for i = a, b do .. end` is inclusive: a <= i <= b
2020-03-03 00:28:19 +01:00
9712501139
Lua Amplifier plugin with gain-coeff ratio controls 2020-02-29 00:25:51 +01:00
bf3a36a126
Fix script to bypass all plugins
deactivate() hard bypassed all plugins, this made plugins with
a dedicated en/disable soft-bypass option inaccessible.
2020-02-28 04:34:54 +01:00
R
b10d9cf09b
Add example Lua DSP script with multiple MIDI outputs 2020-02-26 20:39:21 +01:00
28accee44e
Update script to use new process_map() API 2020-02-26 17:51:32 +01:00
65425b9fe2
Add a mute/gate plugin 2020-02-26 17:51:25 +01:00
b5761ea443
Update gitignore, clean up git status
* allow for a "local" folder with stuff that git does not list
* ignore local Lua scripts
* ignore icon tool binary
2020-02-23 21:11:47 +01:00
180843f9bd
Also move Lua scripts to share subfolder 2020-02-23 20:48:02 +01:00
54c4d3adc5
Clean up top-level source tree
Collect architecture independent data in 'share' subfolder.
This also matches the install path
2020-02-23 16:21:55 +01:00