Luciano Iam
e7e4fb3a81
WS: Use Ardour native scale for pan knobs
2020-07-21 06:49:28 +02:00
4717f7806d
issue 8186 strip controls reset then show on select
...
Causes motor controls to jiggle on all strips
when select changes. Fixed
2020-06-23 20:25:49 -07:00
32aa290578
issue 8243 select gets feedback past selected strips
...
make sure to drop old references when route is changed
2020-06-23 09:03:19 -07:00
399192da4c
OSC add width feedback to strips
...
Also detect panner type change
2020-06-22 23:29:11 -07:00
23feb0491e
Remove using std::min/max from header
2020-06-18 01:05:48 +02:00
ad234b1853
US2400: fix pan_azimuth direction by setting rotary flag
2020-06-18 00:19:29 +02:00
aa4d357201
CC121: fix pan_azimuth direction by setting rotary flag
2020-06-18 00:10:08 +02:00
Luciano Iam
8ff4bcfd68
WebSockets: improve JS client message handling code
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
5296ed141f
Fix support for older libwebsocket versions
...
LWS_WITH_EXTERNAL_POLL a new optional define for libwebsocket 4.x.
Earlier versions always supported it, without the compile-time define.
This fixes support for libwesocket 2.x (Debian, Ubuntu), and 3.x.
Also for Windows, LWS_WITH_GLIB is not available.
2020-06-10 15:58:47 +02:00
72d45c154a
Do not allow ctrl chars in file (or session) names (1/2)
2020-06-09 20:30:51 +02:00
Peter Kovář
630a3d07d2
Added support for the original Contour Design ShuttlePRO
2020-06-09 17:29:01 +02:00
9398a6f60a
Fix generic MIDI encoder off by one
...
Increment for CC values > 0x40, decrement control for values <= 40.
- 0x41 increment by one
- 0x40 decrement by one
previously: 0x3f decremented by one, 0x3e by two, .. 0x00 by 64,
but 0x40 also by 64.
2020-06-06 17:10:31 +02:00
Luciano Iam
e253302c62
WebSockets: allow compilation with lws < 2.1.0
...
Old libwebsockets does not define lws_callback_http_dummy()
Conditionally use custom code instead
2020-05-28 18:56:21 +02:00
Luciano Iam
3840264edd
WebSockets: remove usage of lws constant LLL_USER
...
It is not available on lws 2 and really not needed
2020-05-28 18:56:21 +02:00
Luciano Iam
c3d72625cd
WebSockets: leverage LWS_WITH_GLIB
2020-05-28 18:56:21 +02:00
Luciano Iam
85d1aa30d5
WebSockets: comment out a lws_callback case that made clients hang
2020-05-28 18:56:21 +02:00
Luciano Iam
7554655616
WebSockets: improve libwebsockets 4 compatibility
...
After upgrading from lws 3 to 4 clients could still connect to the surface but no data was sent from the server.
2020-05-28 18:56:21 +02:00
Luciano Iam
6e5aeb57b3
WebSockets: fix LWS_WITH_EXTERNAL_POLL check
2020-05-28 18:56:20 +02:00
Luciano Iam
ea16fc51d3
WebSockets: fix guard header in json.h
2020-04-22 21:59:35 +02:00
Luciano Iam
dbb26daafa
WebSockets: also json-escape strings in state messages
2020-04-22 21:59:35 +02:00
Luciano Iam
946094b25c
WebSockets: also json-escape paths in manifests
...
Extends 3c423d9
2020-04-22 21:59:35 +02:00
Luciano Iam
c362605b49
WebSockets: add some TO DO comments
2020-04-22 21:59:35 +02:00
Luciano Iam
8b65b0a961
WebSockets: disable http caching if NDEBUG is set
...
This is useful while developing web surface javascript code
2020-04-22 21:59:35 +02:00
Luciano Iam
ff7b7fe6a7
WebSockets: fix a comment in server.cc
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
68463cb591
WebSockets: add checks for VCA stripables
...
Also include VCAs when sending strip descriptions
2020-04-21 15:53:27 +02:00
Luciano Iam
cc08a2d945
WebSockets: compatibility fixes for Windows
...
Escape path strings in surfaces.json
Default to index.html in mount points
2020-04-21 15:53:27 +02:00
Luciano Iam
d5c2af1cfb
WebSockets: NOOP fix comment in manifest.cc
2020-04-20 22:59:17 +02:00
Luciano Iam
3c423d9265
WebSockets: json-escape user strings loaded from manifest.xml
2020-04-20 22:59:17 +02:00
Luciano Iam
4f2fdb10a3
WebSockets: send caching headers for static resources
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
dc97bf3ff0
WebSockets: output position time in seconds
2020-04-20 22:59:16 +02:00
Luciano Iam
bfbb15011c
WebSockets: add record state support to surface
2020-04-20 22:59:15 +02:00
Luciano Iam
5105219076
WebSockets: rename *_desc nodes to *_description
2020-04-20 22:59:15 +02:00
Luciano Iam
0e664b1556
WebSockets: add transport roll support to surface
2020-04-20 22:59:15 +02:00
c32fef2660
WebSockets: hotfix crash when a session has VCAs
...
This eventually needs a better solution, special casing VCAs
on the top-level.
2020-04-19 15:44:39 +02:00
Luciano Iam
137042f80c
WebSockets: rename _lws_mnt_index to _lws_mnt_root
...
This mount point not only serves the index but everything that is under
/ , including the built-in surfaces directory
2020-04-17 20:15:10 +02:00
Luciano Iam
36a27b8a90
WebSockets: prevent crashes by validating inbound message addr and val sizes
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
612c71aa25
WebSockets: allow serving SVG files using libwebsockets < 3
2020-04-17 20:15:10 +02:00
Luciano Iam
30c8563a6d
WebSockets: rename send_index_* to send_availsurf_* to avoid confusion with a static index page
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
1b4deb11ec
WebSockets: use canonical paths in index.json
2020-04-13 16:29:38 +02:00
Luciano Iam
46d39a9ee7
WebSockets: reject an empty ARDOUR_WEBSURFACES_PATH
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
9aef431818
WebSockets: move diskPath property to surfaces group object
2020-04-11 22:30:41 +02:00
Luciano Iam
ad363d12a2
WebSockets: fix path field in index.json
2020-04-11 22:30:41 +02:00