Commit graph

104 commits

Author SHA1 Message Date
Paul Davis
3a337b97ea OSC: remove singleton object from OSC code
This will allow, theoretically, multiple instances of an OSC surface.

The osccontrollable.{cc,h} code is not used anywhere in the rest of the surface
support, and so was removed from the library but left in the repository
2025-11-24 10:28:56 -07:00
Robin Gareus
09eeca09a9
Remove unused includes 2024-11-17 20:08:14 +01:00
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Matthijs Kooijman
142fa9f55d
osc: Let OSCSelectObserver know about feedback config changes
Before this commit, OSCSelectObserver would read the feedback value when
it was created, but then never update it anymore. In practice, the
OSCSelectObserver is created on startup, and when the surface connects
and configures feeback, this value is not applied.

For example, when sending `/set_surface` with a feedback value of
4 (Send SSID as path extension), `/strip/*` would get their ssid put
into the path, but `/select/plugin/*` messages would not have their
parameter id in the path. When setting the corresponding checkbox in the
default feedback preferences, it is applied as expected.

This commit passes the new feedback value to the OSCSelectObserver
instance whenever it changes, which ensures the value is applied as
expected.
2024-09-03 00:40:11 +02:00
Robin Gareus
0fd1edd78e
Update well-known ctrl: separate global and per band EQ enum 2024-01-15 15:34:55 +01:00
Robin Gareus
bfb22e2acc
Ctrl Surfaces: update bound controllables
Note: this only affects surfaces that use mapped_controls, and do
not already subscribe to processors_changed/RouteProcessorChange signal.
2024-01-13 17:14:17 +01:00
Robin Gareus
70a0b47cef
Update Ctrl Surfaces: use new well-known-ctrl API 2024-01-13 03:08:51 +01:00
Robin Gareus
8c2454238e
Remove explicit well-known ctrl enum string functions
This is better provided by Plugin::print_parameter, which
is called by PluginControl::get_user_string(). This removes
special cases for the mode enums.
2023-03-29 17:32:22 +02:00
Paul Davis
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Len Ovens
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
Len Ovens
c8bc9a25b3 Added strip feedback for new automation states
for mute, trim and panner
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
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
Len Ovens
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
Len Ovens
399192da4c OSC add width feedback to strips
Also detect panner type change
2020-06-22 23:29:11 -07: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
c38c91ddbd
Initialize variable, fix branch condition 2019-08-21 03:09:32 +02:00
Robin Gareus
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
Len Ovens
4b47a4c4cc OSC: Set lowest select meter to -120 for mixbus 2018-07-04 19:18:38 -07:00
Len Ovens
9d99cc8b01 OSC: Make sure group name for select gets updated 2018-07-02 08:18:42 -07:00
Len Ovens
e34f006658 OSC: Add /select/vca/toggle 2018-06-20 12:39:34 -07:00
Len Ovens
5ce341c127 OSC group sharing should be cleared for VCAs 2018-06-19 09:46:29 -07:00
Len Ovens
518f8108ac OSC make strippable null on drop references 2018-04-07 09:16:07 -07:00
Len Ovens
29975638c0 OSC: select should have latch too. 2018-03-20 08:43:10 -07:00
Len Ovens
74c4e4a6d8 OSC: group commands should feedback all off if no group 2018-03-12 16:03:53 -07:00
Len Ovens
b2259e11d0 OSC: change group sharing to individual commands
Send less feedback for group name and sharing
2018-03-10 13:07:13 -08:00
Len Ovens
30533cd43a OSC: Added slaved feedback to select 2018-03-10 13:07:13 -08:00
Len Ovens
edd21ac89e OSC: add group sharing bit feedback 2018-02-27 21:59:43 -08:00
Len Ovens
08632d623e OSC: select comment should feedback when comment changed 2018-02-18 09:16:16 -08:00
Len Ovens
dffecfa4c6 OSC: added group join, switch, remove function 2018-02-16 13:10:20 -08:00
Len Ovens
3504ecff5f noop OSC: path strings should not get tranlated 2018-02-16 13:10:20 -08:00
Len Ovens
f549fcfb76 OSC: Add group name feedback to strips 2018-01-31 11:48:10 -08:00
Len Ovens
ef1301759d OSC: Add feedback for hidden strip 2018-01-13 08:41:58 -08:00
Len Ovens
7d6e6424c7 OSC: Expand gainmode to add two new options
fix bug where a surface might have more than one global observer
2018-01-09 19:19:29 -08:00
Len Ovens
d6eea08021 OSC: initialize parameter correctly 2017-12-15 09:43:48 -08:00
Len Ovens
06ea56a2ce OSC: add /select/plugin/activate cause some add deactivated
And clean up plugin code as well
2017-11-28 12:33:20 -08:00
Len Ovens
da467cf39b OSC: Only send new select send values
no clear first, no double send
2017-11-23 12:04:54 -08:00
Len Ovens
3a2c481b96 OSC: catch bad commands on /cue/* created crash on exit 2017-11-07 20:18:59 -08:00
Len Ovens
bb8d65c528 OSC link: make selection work correctly 2017-11-06 13:38:18 -08:00
Len Ovens
3eee4fe8a5 OSC link: first working commit for linking two surfaces as one 2017-11-03 14:04:52 -07:00
Len Ovens
de9ae19d8c OSC: fix various crash points 2017-10-22 21:25:30 -07:00
Len Ovens
dabe7474b3 OSC: remove unused function. 2017-10-19 08:48:25 -07:00
Len Ovens
4c1feac16e OSC: Move observers to surface based for less traffic. 2017-10-17 14:57:47 -07:00
Len Ovens
6ad4379b4d OSC: fix issue #7444 send fader position/gain even when 0. 2017-08-10 08:50:46 -07:00
Len Ovens
b694ee9e53 OSC: only use gain change signals if value changes 2017-07-24 10:21:31 -07:00
Len Ovens
f1632fcfd2 OSC: make sure initialization is complete before we allow periodic to run 2017-07-23 20:08:02 -07:00
Len Ovens
a967a942d2 OSC: include all of select in feedback[13] 2017-06-30 20:47:42 -07:00
Len Ovens
296c9ae03e OSC: try to prevent race when clearing devices 2017-06-30 20:13:18 -07:00
Len Ovens
01e75da96b OSC: make sed_fader work with banking too. 2017-06-23 17:34:22 -07:00
Len Ovens
0b21143234 OSC: Add master_send_enable for MB 2017-06-23 17:09:54 -07:00