13
0
Commit Graph

607 Commits

Author SHA1 Message Date
2e23ec4422
Use RCU to for IO::_ports (#9730) 1/2
This removes the _io_lock in favor of a RCU.
The reason for this change is to ensure data structure
consistency, notably iterators. Previously adding/removing
ports invalidated iterators, which caused [rare] crashes,
since IO::ports() simply returned a PortSet reference.

(This breaks API)
2024-06-24 22:19:22 +02:00
0fd1edd78e
Update well-known ctrl: separate global and per band EQ enum 2024-01-15 15:34:55 +01:00
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
70a0b47cef
Update Ctrl Surfaces: use new well-known-ctrl API 2024-01-13 03:08:51 +01:00
ad51c7c2ba
Localize stripped down gtk2
This is intended mainly for GNU/Linux distros who will remove
GTK2 support in the near future.
2024-01-06 21:52:48 +01:00
3de600625f
Consolidate internal bus checks (1/2) 2024-01-06 20:21:51 +01:00
Mads Kiilerich
6b61b03434 wscript: drop traces of shutdown() handling
autowaf has no real shutdown functionality anyway. The automatic
shutdown function that could have been called wouldn't work anyway, as
it takes an argument.

The only reason it doesn't fail is that the top level wscript has no
shutdown handling and doesn't recurse to other scripts, so it is all
dead code.
2023-10-15 10:47:16 -06:00
Mads Kiilerich
88cecdfaef wscript: drop repeated autowaf.set_options - it is enough to set at top level 2023-10-15 10:47:16 -06:00
8c2bf116f5 fix crash when using OSC in a session with no master bus and no stripables selected 2023-09-22 15:18:27 -06:00
Mads Kiilerich
d220f477ed wscript: drop unused "mandatory variables" 'top' and 'out' in libs
Variables by these names are only used from the local wscript and when
running "waf configure", which already for other reasons only can run at
the top-level.

These variables are thus not mandatory and not used.
2023-09-17 07:34:55 -06:00
65346496f5
Refactor Ctrl Surface API
* reserve "probe" to actually probe for devices
* use separate probe for libusb and MIDI port devices
* use "available" to check if surface can be used
* allow both methods to be NULL
* remove unused ControlProtocolDescriptor* argument

Most surface just return `true` for available.
2023-05-03 15:38:42 +02:00
847f1e54c1
Clean up ctrl surface API
Remove unused fields, no mandatory surfaces
2023-05-01 02:22:45 +02:00
f718279949 surfaces & event loops: i really mean no more request buffer factories 2023-04-21 13:55:58 -06:00
295dbd8e1e
Make RCU reader return a const pointer (omnibus commit) 2023-04-08 00:15:37 +02:00
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
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
39ed528e25 std-ize: convert all boost shared/weak ptr includes to <memory>
Also fix stdint.h -> cstdint and alphabetically order std includes
2023-03-24 14:19:15 -06:00
bd091906ac
Fix OSC/liblo zeroconf, properly query server URL 2022-12-13 17:15:54 +01:00
7d928bf265
Announce OSC via mDNS 2022-12-02 17:34:10 +01:00
aae15e3c90
Fix Wreorder, initialize variables 2022-12-02 13:13:13 +01:00
3f3d0c7e49
Surfaces and panners should not export headers
Those are not shared libraries but only dynamically loaded
plugin objects. Their headers are their own.
2022-11-19 01:11:53 +01:00
7038e586d0 OSC: add support for Mixer Scenes: save, recall, and state feedback 2022-11-07 10:28:30 -06:00
c6dade9484 OSC: implement controls and feedback for a banked trigger grid controller
(first iteration ... API may change)
2022-11-01 13:52:54 -05:00
f3423b8a77
Consolidate send/delivery gain control
This moves the _amp from send to delivery (which already
applies gain for the master-bus normalization). This generalizes
the use of a gain stage for use in port-inserts.
2022-10-14 02:21:49 +02:00
42a4216f22 osc: publish session-provided trigger functions: bang/unbang 2022-10-01 09:13:14 -05:00
1e283adb22 disambiguate trigger functions: stop_all_triggers -> trigger_stop_all 2022-10-01 09:13:14 -05:00
75ae0fd4b1 disambiguate trigger functions: cue_bang -> trigger_cue_row 2022-10-01 09:13:14 -05:00
be28c9ff88 osc: add functions to trigger cue rows, and stop all triggers 2022-10-01 09:13:14 -05:00
Mads Kiilerich
3fa64af624 osc: fix warning message
Apparently just a missing update from copy-paste.
2022-08-19 10:58:41 -06:00
luz paz
47c525315d Fix various typos
Found via `codespell -q 3 -S *.po,./.git,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch  -L ba,buss,busses,discreet,doubleclick,hsi,ontop,ro,scrollin,seh,siz,sord,sur,te,trough,ue`
2022-08-03 12:10:01 -06:00
bb5798ee66 fix may-be-used-unset warning and bizarre brace/indent style 2022-06-22 13:31:08 -06:00
cc2e6b3cf8 libardour: change API of Session::request_locate() to include "force" argument
No behavior should be changed by this modification; the argument has a default value of false, which
matches previous semantics, and every instance where the argument is specified, it is given as false.
2022-05-27 18:49:11 -06:00
9758e6280f use new event loop callback to ensure that all surface/control protocol threads have tempo map ptr set 2022-05-16 15:24:52 -06:00
44bb8caa65
Use new Route fed-by API (2/2) 2022-05-06 14:02:35 +02:00
3862d13e21
Prepare for GraphNode::feeds () and fed-by API update (2/2) 2022-05-06 14:02:34 +02:00
7bf89ce109 Constification: make Stateful::get_state() const, with all other required const-ness added (libs) 2022-04-06 21:56:59 -06:00
7633005a22 Fix solo control activation 2022-03-17 13:51:30 -07:00
Mads Kiilerich
8bb91099c5 wscript: drop configure statements already present in the top level wscript
Avoid repeated pointless configure messages like:
Checking for 'g++' (C++ compiler!)                   : /usr/lib64/ccache/g++
Checking for 'gcc' (C compiler)                      : /usr/lib64/ccache/gcc
2022-01-22 22:19:03 +01:00
12847b0125 remove Session::bbt_time() and use TempoMap::use()->bbt_at() explicitly everywhere 2021-12-14 21:59:33 -07:00
3702da5488 fix up osc support after rebase/merge conflicts 2021-08-13 12:51:33 -06:00
bed76798f3 manual fixups after rebase against master (general libs edition) 2021-08-13 12:51:31 -06:00
f67029bd02 random commit to facilitate trivial move of work from laptop back to main system 2021-08-13 12:51:29 -06:00
086e48796c surfaces: first round of conversion to use timeline types 2021-08-13 12:51:29 -06:00
f4490f54c5 change Timecode::BBT_Time to use Temporal namespace, plus a couple of other minor changes to enable compilation
This still uses the tempo map object in libs/ardour, not the new one in libs/temporal, and isn't likely to be functional
(though it could be)
2021-08-13 12:51:28 -06:00
9cbaa31c7e libs fix for get_microseconds() move to libpbd 2021-06-26 18:27:39 -06:00
1b4aaea92a Remove unused private fields (Wunused-private-field) 2021-05-30 20:09:35 -04:00
a5a2f111ee Remove debug line 2021-05-18 14:32:38 -07:00
0130f19e26 Fix positions before start and after end 2021-05-18 14:27:20 -07:00
f9557d0d04 Remove unused code 2021-05-17 13:50:18 -07:00
ab7c6e74e0 OSC, update marks list better. 2021-05-17 13:34:19 -07:00