Commit Graph

87 Commits

Author SHA1 Message Date
Luciano Iam cef81b8c23 WebSockets: minor update in JS code style
Use anonymous blocks { } instead of anonymous functions as the outermost scope
in some files.

Also fix incorrect wording for a comment
2021-06-14 10:36:10 +02:00
Luciano Iam f1d7e1759a WebSockets: repeat 8baf275 for JS files
Like ec131fc does
2021-06-14 10:25:45 +02:00
Luciano Iam 9ee828b47b
WS: properly support MIDI strips 2020-11-19 17:03:36 +01: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
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
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
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
Luciano Iam 0a19e87646
WebSockets: match message.js constants to C++ code 2020-05-28 18:56:21 +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
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
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
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
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