Robin Gareus
61b6b740bc
Fix deadlock, shared_ptr d'tor called from ScopedConnectionList d'tor
...
See https://ardour.org/styleguide.html #10
https://pastebin.com/gJfrNhL2
2020-02-25 22:55:59 +01:00
Robin Gareus
1074c16299
Websockets: error on unhandled callbacks
...
This prevents unhandled http request from hogging the backend.
2020-02-24 22:06:15 +01:00
Robin Gareus
bd00db9e8b
Websockets: use established NDEBUG - see assert(3)
2020-02-24 22:06:15 +01:00
Robin Gareus
bf649cd68a
Fix another websocket surface crash when no panner is available
...
This amends 224be91211
2020-02-23 19:12:26 +01:00
Robin Gareus
8b092f8658
Websockets: use unique header guards
2020-02-23 16:21:55 +01:00
Robin Gareus
5e3480ba8f
NO-OP: Re-indent websockets code
...
"Always use Tabstops for block-indent (the code must be
formatted correctly with "[TAB] = N spaces" for any value of N).
Use space only for alignment." - https://ardour.org/styleguide.html
2020-02-23 16:21:55 +01:00
Robin Gareus
224be91211
Fix websockets surface crash when panner is not available
2020-02-23 16:21:55 +01:00
Ben Loftis
3e77680a57
surfaces transport hotfix: surfaces should query the transport state via BasicUI, when possible
2020-02-23 09:02:25 -06:00
Ben Loftis
276baee8ad
surfaces transport hotfix: BasicUI: prefer actual_speed() and transport_stopped_or_stopping() for current Transport FSM
2020-02-23 09:02:21 -06:00
Ben Loftis
8efb642c46
surfaces transport hotfix: actual_speed() is preferred over transport_speed() for current Transport FSM
2020-02-23 09:02:13 -06:00
Robin Gareus
7fdc35bb45
Fix Unix compile with older libwebsockets
...
Debian/Ubuntu still only ship libwebsockets 2.x.
Recent libWS abstracts the poll interface to be
compatible with Windows.
2020-02-22 23:27:08 +01:00
Luciano Iam
d7ef188aea
Prefix events with LWS_
2020-02-22 23:10:25 +01:00
Luciano Iam
5abce5aae5
Properly initialize IOCondition in events_to_ioc()
2020-02-22 23:10:25 +01:00
Luciano Iam
7f73cfb36e
Properly initialize lws config structs
2020-02-22 23:10:25 +01:00
Luciano Iam
047b05b860
Remove all initializer list usages
2020-02-22 23:10:24 +01:00
Luciano Iam
bb448080b6
Remove locally defined classes
2020-02-22 23:10:24 +01:00
Luciano Iam
d8d70adab8
Replace C++11 lambdas with functors
2020-02-22 23:10:24 +01:00
Luciano Iam
6e499e2cc5
Make code adhere to C++98 (WIP)
2020-02-22 23:10:24 +01:00
Luciano Iam
8db9755d1e
Add websockets surface module
2020-02-22 23:10:24 +01:00
Paul Davis
57598acbcf
remove unused members
2020-02-20 12:53:57 -07:00
Paul Davis
2398f6127f
fix up apparent design thinkos in US2400 key binding handler
2020-02-20 12:53:57 -07:00
Paul Davis
444ef73c7d
fix up apparent design thinkos in Mackie key binding handler
2020-02-20 12:53:57 -07:00
Paul Davis
938e65f12a
use MIXBUS approach to User button for Faderport (it's just a button, not a modifier
2020-02-20 12:53:57 -07:00
Ben Loftis
b5f2aed234
Faderport(1): fix pan_azimuth direction by setting Rotary flag.
2020-02-20 12:25:51 -06:00
Ben Loftis
ef5fddd8b5
MCU: fix pan_azimuth direction by setting Rotary flag.
2020-02-20 12:25:51 -06:00
Robin Gareus
43bed39d30
Reset MIDI-control when a given ctrl is not available
...
This fixes an issue with "/route/eq/freq/0 S1":
When a newly select strip that does not have a EQ
(e.g. mixbus or master), the control from the previously
selected strip is used. -- Reported by tavasti on IRC.
2020-02-20 19:13:58 +01:00
Jan Lentfer
d7fed7c52e
LCXL: make sends assignable for 32C
...
* add an option to the controller configuration gui
to assign the 3x2 send banks in mixer mode
to either the upper (1-6) or lower (7-12) Mixbus sends
* This was a user request to better support the workflow
of the CoMondo Mix system
2020-02-13 18:32:41 +01:00
Jan Lentfer
b9b6a57245
LCXL: fix pan for Mixbus device mode, too
2020-02-13 09:53:38 +01:00
Robin Gareus
7e25298721
FP8: fix direction of panner bar on scribble-strip
...
(amend 4f90bd6298 , see also c663a2d8ef )
2020-02-13 03:13:30 +01:00
Robin Gareus
3cb4678bb3
FP8: don't send non-ASCII chars to scribble-strip
...
In particular the degree sign (\u00B0) used by Mixbus' panner
caused issues.
2020-02-13 03:12:14 +01:00
Jan Lentfer
260e7ad5a9
LCXL: Make the pan fix nice again
2020-02-12 21:37:52 +01:00
Robin Gareus
c321bc82bb
FaderPort8: Don't lock shift, when using shift + encoder
2020-02-12 20:31:10 +01:00
Robin Gareus
4f90bd6298
Fix Faderport 2/8/16 pan azimuth knob direction
...
See also c663a2d8ef
2020-02-12 20:12:08 +01:00
Jan Lentfer
cc7eca7453
LCXL: Adopt pan knob behaviour
...
* "left/right" changed in A6, adopt for this
* add a pick_up_rev function to honour this
2020-02-09 23:34:20 +01:00
Robin Gareus
06b2eb1c27
Explicitly use OSX
...
Previously this was inherited via PBD.
On MacOS/X, this adds
"-undefined dynamic_lookup -flat_namespace"
and various "-framework .." options to linkflags
Without this flag, .dylibs fail to link usually because
of missing `-lintl` (Undefined symbols: "_libintl_dgettext")
On other systems this is a NO-OP:
CFLAGS_OSX, CXXFLAGS_OSX and LINKFLAGS_OSX
are only set on the darwin platform.
2020-01-25 04:07:41 +01:00
David Runge
2e9ac80e99
Towards waf python 2+3 support
2020-01-25 04:07:37 +01:00
Paul Davis
47767738b9
rename DoTheRightThing to RollIfAppropriate
2020-01-18 08:49:18 -07:00
Paul Davis
3c00048b0c
Session::request_locate() takes a tri-valued second argument for "roll-after-locate"
...
This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it
can be cnentralized and is less ambiguous
2020-01-18 08:49:18 -07:00
Paul Davis
baf0cdcbef
fix handling of flags in the OSC input handler
...
Some builds of glib on macOS end up delivering IO_PRI when IO_IN is also set. This differs from our own build stack
version, but it isn't really an error, so we should handle it.
2020-01-05 11:25:36 -07:00
Paul Davis
d100c92731
convert GenericMIDI into a real control protocol module, with its own event loop and ports
2019-12-31 12:06:14 -07:00
Paul Davis
007136cc23
remove MIDI Control input and output ports from session-level objects
2019-12-31 12:06:14 -07:00
Paul Davis
60ccbcf9cc
use a local version (copy) of the G_SOURCE_FUNC macro, since it is not available in the GTK+ version we use for the official build stack
2019-12-30 09:49:23 -07:00
Robin Gareus
3ee08bbae7
Revert "fix a cast warning (as recommended in GTK+ docs"
...
This reverts commit af30a6f001
because it breaks OSX/MacOS builds:
libs/surfaces/mackie/mackie_control_protocol.cc:945: error: 'G_SOURCE_FUNC' was not declared in this scope
2019-12-30 16:00:22 +01:00
Paul Davis
d79d2807b1
expand use of new BasicUI API for transport button state to all control surfaces
2019-12-29 18:53:22 -07:00
Paul Davis
52aa405ce3
use new Session API to deal with transport state
...
Transition to use BasicUI button state API to come
2019-12-29 18:43:51 -07:00
Paul Davis
e46e6f12a3
use new BasicUI and Session API to deal with transport state
2019-12-29 18:43:51 -07:00
Paul Davis
a8cc5b1303
provide new methods for BasicUI that wrap the "complexity" of how to show transport state via lit buttons
2019-12-29 18:43:51 -07:00
Paul Davis
af30a6f001
fix a cast warning (as recommended in GTK+ docs
2019-12-29 18:43:51 -07:00
Robin Gareus
d4e023e1cb
Make BusSendLevel 1st class citizen (1/2)
...
Equivalent to Gain and Trim (gain-coefficient, not dB) and use
it for Sends.
2019-12-14 15:06:23 +01:00
David Robillard
941aa20148
Fix font size on Push2
...
At least on my machine, the fonts on the Push display were ridiculously large,
making everything overlapping and unusable. I suspect this is because
pango_cairo_font_map_get_default() inherits DPI from the system, so the
monitor scaling factor got applied to the Push display as well.
This commit instead creates a new plain font map, and sets the resolution to
96, which looks like what the UI was designed for. Some more tweaking of the
Pango context might make things more optimal on the Push, but just setting the
resolution makes things look reasonable to me anyway.
2019-12-09 23:38:10 +01:00