Commit graph

397 commits

Author SHA1 Message Date
David Robillard
ae8f00be50 Use SessionController::locate() in surfaces 2021-06-17 11:22:06 -04:00
David Robillard
d6106ad6d4 Use SessionController::set_transport_speed() in surfaces 2021-06-17 11:22:05 -04:00
David Robillard
1559829e24 Factor out SessionController from BasicUI
Towards sharing this code with ARDOUR_UI.
2021-06-17 11:02:08 -04:00
David Robillard
56fe5b47ae Rename ControlProtocol::session to ControlProtocol::_session
To match ARDOUR_UI, towards finally sharing code here.
2021-06-17 10:57:07 -04:00
David Robillard
181ec1e207 Remove null session checks from OSC surface
Control surface lifetime is managed to be shorter than the session lifetime, if
the session does not exist, then the control surface does not exist either.
2021-06-17 10:55:43 -04:00
Paul Davis
48e5607f7c use Session::request_roll() instead of request_transport_speed (1.0, ...) 2021-04-19 16:14:08 -06:00
Paul Davis
52b7e68102 use new Session transport API calls in GUI 2021-04-19 16:14:08 -06:00
Robin Gareus
b064b3c136 OSC: fix some compiler warnings 2021-02-28 20:01:06 +01:00
Robin Gareus
0c3eaf188b OSC: liblo compatibility fix
see also 770fd1519c
2021-02-28 20:00:04 +01:00
Robin Gareus
770fd1519c
Liblo compat fix
Upstream liblo changed the opaque type `lo_message` from void*
to a custom struct {}.

https://sourceforge.net/p/liblo/git/ci/2c1ef1c682e01aabec511223b52d9d845063d6dc/
2021-02-28 02:25:02 +01:00
Len Ovens
cd524f70dc OSC, strip and select share all main strip functions
Allow blocking strip commands for master or monitor
2021-01-23 21:18:32 -08:00
Len Ovens
a9f0f771c1 Reuse the same code for strip and select
Combine Maser and Monitor to reuse code

Started adding query functionality

	Added query functionality to all touchosc fixed commands
2021-01-23 21:17:46 -08:00
Robin Gareus
8386874a03
OSC: Allow to specify marker name #8543
Patch from atsampson
2021-01-18 23:36:35 +01:00
Robin Gareus
a266a2d5b9
Use session API to set solo
This is required so that ::update_route_solo_state() is called
to propagate solo/mute state
2020-10-18 15:28:10 +02:00
Robin Gareus
72736289c8
NO-OP: rename API rename
CP selection API is now implemented as functions, not signals.
2020-10-18 14:47:05 +02:00
Len Ovens
1cc9573dba OSC toggle roll make return to zero optional 2020-08-20 16:26:07 -07:00
Len Ovens
b8da1d0265 fix toggle_roll will only start but not stop PH 2020-08-20 16:26:07 -07:00
Len Ovens
ab0217f3a2 Added touch to more stripable controls
pan azimuth and width
	mute and trim
2020-08-19 09:45:44 -07:00
Len Ovens
d5016f80d3 Added automation control to the rest stripable controls
Pan azimuth
	Pan Width
	trim
	mute
2020-08-19 09:45:44 -07:00
Len Ovens
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
Len Ovens
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
Robin Gareus
72d45c154a
Do not allow ctrl chars in file (or session) names (1/2) 2020-06-09 20:30:51 +02:00
Len Ovens
df8c000810 OSC: support foldback busses 2020-04-05 14:10:50 -07:00
Nikolaus Gullotta
5dcac21092
Adhere to Ardour style guide - 810b2fb78d 2020-03-10 09:41:50 -05:00
Nikolaus Gullotta
810b2fb78d
Prevent double free of global observers
We accomplish this by explicitly setting the global_obs to NULL after
free'ing it. The crash that led to this fix can be replicated as such

$ sendosc localhost 3819 /set_surface i 8 i 159 i 8
$ sendosc localhost 3819 /set_surface i 0 i 0 i 0
$ sendosc localhost 3819 /set_surface i 0 i 0 i 0

In this example the observer is created, then free'd, and then free'd
*again* because the new observer was never made (sur->feedback[x]
checks fail)
2020-03-09 13:02:38 -05:00
Robin Gareus
1196eed89d
Remove Mixbus send special case
Mixbus v6 uses AutomationType BusSendLevel like other Sends,
however with different min/max range compared to default Ardour
Aux sends. Control surfaces should use interface/internal API.
2020-03-07 02:33:36 +01:00
Robin Gareus
9c97724fc9
Fix OSC endless loop for tracks with hidden plugins 2020-03-07 02:23:56 +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
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
Robin Gareus
e0d5c1426c
NO-OP: fix some Wimplicit-fallthrough
gcc can recognize various regexps in comments. Since C++17 provides
[[fallthrough]], using /* fallthrough */ consistently seems
appropriate until we switch to C++17.

see also https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
2019-09-18 17:37:54 +02:00
Len Ovens
df2917568d OSC: foldback buses should be able to be mono 2019-08-06 11:12:19 -07:00
Robin Gareus
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
Robin Gareus
925d25851d
Fix OSC crash when there's no master bus 2019-04-03 03:35:13 +02:00
Len Ovens
616ee4e43b OSC: remove unused variable 2019-01-18 10:24:13 -08:00
Len Ovens
c7787690f6 OSC: shorten foldbackbus names 2019-01-18 10:24:13 -08:00
Len Ovens
9b2612f686 Make foldback bus match foldback sends namewise
to avoid confusion with listener sends or monitor bus
2018-11-12 22:30:32 -08:00
Len Ovens
f27ca29d6c Changed send/deliver role "Personal" to "Foldback" so bus type can match 2018-11-12 22:30:32 -08:00
Len Ovens
e9013c0f99 OSC: New personal monitor buses no longer need to be hidden 2018-11-12 22:30:32 -08:00
Len Ovens
1b2b3452cb OSC: logic thinko fix 2018-11-12 22:30:32 -08:00
Len Ovens
894145c527 OSC: specify which stiripable type we want 2018-11-07 17:00:16 -08:00
Len Ovens
f7b67501a9 OSC: Allow non-cue surfaces to create personal send and ListenBus 2018-10-30 12:15:28 -07:00
Len Ovens
777fe3c68f Add personal monitor sends 2018-10-19 08:51:29 -07:00
Len Ovens
5e21b6633d Option to hide send if aux is hidden 2018-10-17 15:59:00 -07:00
Len Ovens
1b7cb8aec4 OSC: personal monitor can hide the aux bus 2018-10-16 13:56:52 -07:00
Len Ovens
87ab15c862 OSC: personal monitor send hidden follows aux hidden 2018-10-16 13:56:52 -07:00
Len Ovens
b35283caa1 OSC: allow personal monitor to add a send. 2018-10-14 21:20:57 -07:00
Len Ovens
7390b88c2b OSC: Allow personal monitor to change output connection 2018-09-18 15:39:14 -07:00
Len Ovens
a96aa4e1fd OSC: Personal monitoring can add a new aux 2018-09-10 09:58:15 -07:00
Len Ovens
8004b9bb8e OSC: custom mode should turn temp mode off 2018-07-06 08:09:03 -07:00