Luciano Iam
c32a5917f3
WS: handle strips and plugins removal
2020-08-30 19:29:27 +02:00
Luciano Iam
a8f917e7e2
WS: prepare for handling object disconnections
...
Use maps instead of vectors for holding strips and plugins
This allows to deal with "holes" after objects are removed
Also paves the way for a future improved way of identifying
individual strips and plugins
2020-08-30 19:29:27 +02:00
Luciano Iam
7521d8ab6f
WS: add some meaningful error messages
2020-08-30 19:29:27 +02:00
Luciano Iam
3509fe1589
WS: use an object-oriented internal API for the mixer
...
- This allows to better handle strips & plugins connection lifecycles
- Coherent with the JS client design
2020-08-30 19:29:27 +02:00
Luciano Iam
4a4734fbb1
WebSockets: properly release strips and plugins when removed
...
This should fix some crashes reported by the beta testing team
2020-08-30 19:29:27 +02:00
87f7dcc5f6
OSC Panner feedback crash with no panner
...
both select and route feedback now test for both
route and panner (not VCA)
2020-08-29 17:08:56 -07:00
1cc9573dba
OSC toggle roll make return to zero optional
2020-08-20 16:26:07 -07:00
b8da1d0265
fix toggle_roll will only start but not stop PH
2020-08-20 16:26:07 -07:00
dfe2270c9f
Revert "WebSockets: properly release strips and plugins when removed"
...
This reverts commit f007ba6b46
.
2020-08-19 23:59:38 +02:00
Luciano Iam
f007ba6b46
WebSockets: properly release strips and plugins when removed
...
This should fix some crashes reported by the beta testing team
2020-08-19 19:01:18 +02:00
c8bc9a25b3
Added strip feedback for new automation states
...
for mute, trim and panner
2020-08-19 09:45:44 -07:00
5ce796f0b5
Added strip feedback for new automation states
...
for mute, trim and panner
2020-08-19 09:45:44 -07:00
ab0217f3a2
Added touch to more stripable controls
...
pan azimuth and width
mute and trim
2020-08-19 09:45:44 -07:00
d5016f80d3
Added automation control to the rest stripable controls
...
Pan azimuth
Pan Width
trim
mute
2020-08-19 09:45:44 -07:00
fcd347fe0c
Fix --no-nls, i18n include order in libs -- #8361
...
Ardour's "pbd/i18n.h" needs to be included last,
after any include that may indirectly pull in getext or libintl.
For that reason "pbd/i18n.h" must not be used in header files either.
2020-08-19 17:39:32 +02:00
7ab67c42dc
Fixes OSC panner issues: 8338 and 8246
...
8338 - crash with midi and no audio strip
detect no panner
8246 - send feedback of panner type
2020-08-12 08:08:39 -07:00
5c6e8954ed
Add pre/post fader to foldback send creation
...
add position param to send creation
default all to prefader as first step
2020-08-08 18:41:03 -07:00
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