13
0
Commit Graph

84 Commits

Author SHA1 Message Date
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
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