Commit Graph

302 Commits

Author SHA1 Message Date
Robin Gareus f8f6eb51ed
Add some loudness export presets 2021-04-12 23:15:31 +02:00
James Crompton d73e7218fc
device description and profile for Arturia MkII keyboard/control surface 2021-04-11 17:42:30 +02:00
NeonRayTracer 21f3c6980f
Create Alesis_VI25.map 2021-04-11 17:40:55 +02:00
Robin Gareus d87002617e
Implement zero-latency convolver 2021-03-30 01:29:32 +02:00
Robin Gareus c5cca7680e
Add Lua script to send 12TET tuning as MTS messages 2021-02-12 16:01:43 +01:00
Robin Gareus 89f91324d4
Cleanup Scala to MTS Lua script 2021-02-12 14:19:20 +01:00
Robin Gareus 5974e61854
Add option to skip MIDI track input auto-connect 2021-01-08 22:50:45 +01:00
Clara Hobbs 381ebeab13
Add Moog Grandmother midnam
Contains all the CCs from the documentation for firmware version 1.1.3.
2021-01-06 18:44:41 +01:00
Nikolaus Gullotta 2b55e40af8
Add updated Waldorf Blofeld midnam
Special thanks to Rob Duncan for this updated midnam!
2020-11-24 09:12:20 -06:00
Luciano Iam 9ee828b47b
WS: properly support MIDI strips 2020-11-19 17:03:36 +01:00
Robin Gareus cbe4de0f5a
Add tagged wav export-format 2020-11-14 19:38:00 +01:00
Thomas Brand 275a37ff39
Fix Tom's Loop
-There's no 'printf' (!)
-New: Use LuaDialog to tell error cases instead of printing help to the log window.
2020-11-09 20:54:51 +01:00
Robin Gareus b00baa8ac2
Add Lua script to collapse playlists 2020-11-04 00:21:29 +01:00
Carlo Stemberger e96c7e9b84
Fix broken link
Lua scripts moved to `share` subfolder
2020-10-21 15:57:58 +02:00
Robin Gareus 3cae10ab40
Elaborate MIDI rewrite example script 2020-10-14 01:56:36 +02:00
Robin Gareus c8df8418dc
Consolidete script author names 2020-09-30 22:06:35 +02:00
Robin Gareus 46e895aaad
Re-brand a-* plugins as Ardour Community Effects (ACE) 2020-09-30 21:59:20 +02:00
Robin Gareus 2b21a571b9
Update Lua scripts to use new APIs 2020-09-20 19:20:32 +02:00
Robin Gareus dcea35191c
Consolidate code: use API to print plugin-type 1/2 2020-09-15 16:03:33 +02:00
Robin Gareus 58cd5ca8fe
Show plugin-author in plugin-list script 2020-09-05 00:29:51 +02:00
Hubert Figuière b3ff86aa98
Added midimap for Arturia MiniLab mkII
Use the factory settings 1 (Analog Lab)

Allow controlling a bank of 7
2020-09-04 02:21:58 +02:00
Justin Hoffman 917923512e
Add MIDI mapping for AKAI_MPK249 2020-09-04 02:04:35 +02:00
Luciano Iam 9c08c058a3
WS: crash bugfix related to missing strip panner
Surface made Ardour crash when a client connected
and some session track was not a VCA nor had a panner,
like MIDI strips.
2020-09-04 01:59:53 +02:00
Luciano Iam 71714cb8b6 WS: add plugin parameter controls to the web mixer 2020-09-01 09:43:58 +02:00
Luciano Iam 4fc23fe029 WS: Add strip mute buttons to mixer demo 2020-09-01 09:08:55 +02:00
Luciano Iam ec2972df66 WS: Add a fullscreen toggle to the mixer demo 2020-09-01 09:08:55 +02:00
Luciano Iam 43c1929b7d WS: Add strip labels in the mixer demo
Plus some minor widget code and layout improvements
2020-09-01 09:08:55 +02:00
Luciano Iam b298f44468
WS: improve mixer demo layout 2020-08-19 18:58:27 +02:00
Luciano Iam 864bcf09b7
WS: Add strip mute buttons to mixer demo 2020-08-19 18:58:26 +02:00
Luciano Iam 75338ad4c5
WS: Add a fullscreen toggle to the mixer demo 2020-08-19 18:58:26 +02:00
Luciano Iam 0b71764f44
WS: Add strip labels in the mixer demo
Plus some minor widget code and layout improvements
2020-08-19 18:58:26 +02:00
Robin Gareus 5218c104f9
Fix off by one (Lua arrays are 1-based) 2020-08-05 20:28:14 +02:00
Robin Gareus 0c6d369434
Tweak list-plugins script & add icon 2020-08-01 01:15:57 +02:00
Robin Gareus 591292da0f
a-amp: special case empty pin-mapping mode 2020-07-27 22:03:53 +02:00
Robin Gareus 44fc824128
Update Lua script to use new bounce API 2020-07-26 17:17:49 +02:00
Robin Gareus 134319bde6
Fix a/b and cross-fade plugins to handle unconnected inputs 2020-07-23 21:51:13 +02:00
Robin Gareus affc28a0a0
Fix meter-point Lua script 2020-07-22 03:54:43 +02:00
Luciano Iam 52e80db8d5
WS: improve pan knob appearance in mixer demo 2020-07-21 06:49:28 +02:00
Luciano Iam f1d96f5bf1
WS: fix some mixer layout glitches on Safari 2020-07-21 06:49:28 +02:00
Luciano Iam e7e4fb3a81
WS: Use Ardour native scale for pan knobs 2020-07-21 06:49:28 +02:00
Luciano Iam 1109fc7983
WS: Improve mixer demo 2020-07-21 06:49:27 +02:00
Robin Gareus 398101ad92
Add cross-fade and A/B switch plugins 2020-07-13 00:53:45 +02:00
caprenter b09d17ebc8
Adds a midi map for the M-Audio Oxygen 25 3rd Gen controller
The existing midi map for the M-Audio Oxygen controller did not work for me.
I note that my controller says 3rd Gen on the back
I used the documentation: https://manual.ardour.org/using-control-surfaces/generic-midi/midi-binding-maps/ to create a new map.
I think adding it to the rest of the files might be better than overwriting the old one, but happy for others to decide.
Maps the transport control buttons on the device only. They are labelled C10 to C15 on the controller, and map to 113 to 118 in the file.
2020-07-05 19:34:27 +02:00
Luciano Iam c4ead80613
Extend 1de0542
Make Mixer and Transport subclasses of ChildComponent
2020-06-23 22:00:58 +02:00
Luciano Iam d65e1170b9
WS: make ArdourClient extend Component
This allows the client object to be observed using the on()
method just like with the mixer and transport components,
instead of passing separate callbacks.

See mixer-demo/js/main.js for an example.
2020-06-23 22:00:58 +02:00
Luciano Iam 1369076c14
WS: improve Observable implementation 2020-06-23 22:00:58 +02:00
Luciano Iam 842b989e19
WS: improve ES6 import/export syntax 2020-06-23 22:00:58 +02:00
Luciano Iam 5929551b3b
WS: improve Component class hierarchy 2020-06-23 22:00:58 +02:00
Luciano Iam cc8ed1580c
WS: use dot notation for JS properties 2020-06-23 22:00:58 +02:00
Robin Gareus 6f0e0000e6
Further updates to Scala to MTS script:
* allow non-realtime bulk transfers
* debug mode, dump .syx file
* add some comments and references
2020-06-22 23:06:19 +02:00
Paul Davis 6c273e28f2 add Nektar Panorama midi map 2020-06-20 08:34:19 -06:00
Robin Gareus 0d5e01eda6
Update Scala to MTS script:
* relax octave requirement, allow the scale
  to repeat at intervals other than 1200 cents
* fix frequency alignment of root note
  to use the given scale (not equal temperament)
2020-06-17 16:18:07 +02:00
Robin Gareus f70b53803d
Include SCL to MTS script with releases 2020-06-16 16:41:39 +02:00
Robin Gareus c93ce8d6a4
Refine scala -> MTS script
* clean up, add comments
* skip out-of-bounds notes
* replace assert() with dialogs
* add simple icon
2020-06-16 16:41:07 +02:00
Robin Gareus dc23b9e118
Update SCL -> MTS script to send events to tracks or plugins 2020-06-16 04:22:57 +02:00
Robin Gareus 59fb0aed36
Add script to read scala files and generate MTS sysex
So far this script can only send MTS to async MIDI output ports
(from the GUI thread).
2020-06-16 03:32:46 +02:00
Luciano Iam 8ff4bcfd68
WebSockets: improve JS client message handling code 2020-06-10 19:47:37 +02:00
Luciano Iam 176d803a55
WebSockets: move autoReconnect option in JS client to client ctor 2020-06-10 19:47:37 +02:00
Luciano Iam a26a9018fd
WebSockets: code refactor
Terminology used by server and client was starting to diverge.

C++ classes ArdourStrips and ArdourGlobals classes have been
renamed to ArdourMixer and ArdourTransport respectively.

State node values for transport functionality have been simplified
and prefixed with 'transport_' to match what was done for strips.
2020-06-10 19:47:37 +02:00
Luciano Iam ae4df127ad
WebSockets: implement a JavaScript object-oriented client API
Replace previous callback based basic client with an easier
to use object-oriented API that further abstracts the low level
details of the WebSockets Server surface messaging protocol.

All built-in web surface demos were updated to use the new API.
2020-06-10 19:47:37 +02:00
Robin Gareus 9b9128f917
Better version of 1ee2d57d49 (a hi/lo bypass) 2020-05-29 19:55:58 +02:00
Robin Gareus 1ee2d57d49
Add a bypass/enable port to a-HP/LP 2020-05-29 17:29:52 +02:00
Luciano Iam 0a19e87646
WebSockets: match message.js constants to C++ code 2020-05-28 18:56:21 +02:00
Guido Aulisi a5ec4fa3ac Do not install wscript 2020-05-27 17:23:04 +02:00
Daniel Appelt 2e7992dd58 Use editor_add to avoid unwanted event points 2020-05-17 15:02:04 +02:00
Daniel Appelt a7fa29d731
Delete as little automation data as possible 2020-05-17 14:14:36 +02:00
Robin Gareus 34fd8b5356
Bundle script to send raw MIDI to a given port 2020-05-09 23:43:04 +02:00
Robin Gareus e424fdc197
Prototype an A/B x-fade plugin 2020-04-30 21:30:04 +02:00
Robin Gareus e6de7957ee
Move US2400 device profile to shared data
This file is not referenced by any bundle script nor wscript
install directives. Perhaps it's not needed?
2020-04-27 16:20:07 +02:00
Luciano Iam 847eb93784 WebSockets: correct comment in mixer-demo/main.js 2020-04-24 13:23:32 +02:00
Luciano Iam f983dfe6a7 WebSockets: workaround for index page on Windows
Avoid 404s when following surface links while the issue in https://github.com/Ardour/ardour/pull/491 is better investigated
2020-04-24 12:39:06 +02:00
Robin Gareus 5c127f35b1
Add a Lua script to map MIDI events for the AVL Drumkits 2020-04-24 06:52:01 +02:00
Robin Gareus f72b05d3a5
Update Lua script descriptions, rename some scripts 2020-04-24 05:47:02 +02:00
Luciano Iam 742adad310
WebSockets: extend 57fdce8 2020-04-22 21:59:35 +02:00
Luciano Iam b0733a0d20
WebSockets: fix JS client get* methods 2020-04-22 21:59:35 +02:00
Luciano Iam 32f0e4e8be
WebSockets: remove unnecessary import from mixer-demo/widget.js 2020-04-22 21:59:34 +02:00
Robin Gareus 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
Robin Gareus 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
Robin Gareus 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
Robin Gareus 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
Robin Gareus 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
Robin Gareus 93a5f2d768
Fix typo in script 2020-03-15 11:24:55 +01:00
Robin Gareus 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
Robin Gareus f921b4790f
Add Lua example snippet to set region fades 2020-03-10 23:20:07 +01:00
Robin Gareus 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
Robin Gareus 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
Robin Gareus 9712501139
Lua Amplifier plugin with gain-coeff ratio controls 2020-02-29 00:25:51 +01:00
Robin Gareus 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
Robin Gareus 28accee44e
Update script to use new process_map() API 2020-02-26 17:51:32 +01:00
Robin Gareus 65425b9fe2
Add a mute/gate plugin 2020-02-26 17:51:25 +01:00
Robin Gareus 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
Robin Gareus 180843f9bd
Also move Lua scripts to share subfolder 2020-02-23 20:48:02 +01:00
Robin Gareus 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