Commit Graph

132 Commits

Author SHA1 Message Date
f02e5d3a9f C++11 fallthrough (1/2) 2023-05-19 05:33:56 +02:00
a8f5f5636f
FP8: implement MIDI port probing, auto-enable 2023-05-04 00:20:38 +02: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
c1d6456d58
FP8: fix duplicate makeup control 2023-03-29 16:39:32 +02:00
886d7b9069
FP8: update for Mixbus v9
* add expander/gate
* show/hide mixer-strip controls
* add plugin-presets for channelstrip (if any)
2023-03-28 00:32:02 +02:00
9ef6ee21de
FP8: show value as formatted by the plugin 2023-03-28 00:31:45 +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
7e9f29e888
FP8: directly cancel solo (do not rely on GUI) 2022-12-26 13:33:19 +01:00
eb1373404a
FP8: do not reset fader to unity on re-selecting
This disables the feature added in 057fd9259e.
The idea was to use double-click to reset the fader (like
Harrison consoles). Simply re-select can lead to accidents.
2022-12-13 18:01:27 +01:00
d704572ed5
FP8: fix monitor control
monitor_active() is the wrong API (it checks if any
monitor-bus settings are enabled or used).
2022-12-13 17:14:52 +01: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
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
7bf89ce109 Constification: make Stateful::get_state() const, with all other required const-ness added (libs) 2022-04-06 21:56:59 -06: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
58796e6b19 fix likely crash in faderport8 support, from calling TempoMap::use() and not TempoMap::fetch() 2021-12-13 21:07:18 -07:00
8bada4b5e1 remove public ::bbt_at (INTEGER) methods, because of superclock_t/samplepos_t confusion
libtemporal still needs ::bbt_at (superclock_t) fairly often so retain it as a private method, but public
interfaces take either Beats or timepos_t
2021-08-13 12:51:35 -06:00
79763893b3 remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr) 2021-08-13 12:51:30 -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
74e21e942e Remove unused variables (Wunused-variable) 2021-05-30 20:09:35 -04:00
fbd1221833 move FaderPort8 method "button_varispeed()" into BasicUI for more general use 2021-05-04 16:10:24 -06:00
48e5607f7c use Session::request_roll() instead of request_transport_speed (1.0, ...) 2021-04-19 16:14:08 -06:00
e0a6aba28d
Ignore saved port-name when loading ctrl-surface state
In some cases old and/or conflicting port names were saved
with the session (e.g. "Faderport" for FP1,8). Loading old sessions
then merges this state into the config, which could lead to
port-registration failure when the surfaces was enabled.
2021-04-17 02:07:09 +02:00
c212909282
Ctrl-surface: do not name single-channel bundle ports
Follow Session::setup_bundles() lead for single channel
MIDI bundles. This cleans-up the port-matrix display and
removes redundant names. The underlying engine port-name
is not of interest to the user.
2021-04-17 00:43:20 +02:00
acfa04d700
Update Ctrl-surface MIDI port list when ports change
This is a better variant of bbb6851468, directly using
the GUI context without indirection.
2021-02-04 06:19:37 +01:00
bbb6851468
Subscribe to pretty-port name changes (surfaces) 2021-01-18 03:18:20 +01:00
6ca4980e71
FP8: Allow to sort plugin-params by priority 2020-11-20 06:04:32 +01:00
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
72736289c8
NO-OP: rename API rename
CP selection API is now implemented as functions, not signals.
2020-10-18 14:47:05 +02:00
dcea35191c
Consolidate code: use API to print plugin-type 1/2 2020-09-15 16:03:33 +02:00
3e77680a57 surfaces transport hotfix: surfaces should query the transport state via BasicUI, when possible 2020-02-23 09:02:25 -06:00
7e25298721
FP8: fix direction of panner bar on scribble-strip
(amend 4f90bd6298, see also c663a2d8ef)
2020-02-13 03:13:30 +01:00
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
c321bc82bb
FaderPort8: Don't lock shift, when using shift + encoder 2020-02-12 20:31:10 +01:00
4f90bd6298
Fix Faderport 2/8/16 pan azimuth knob direction
See also c663a2d8ef
2020-02-12 20:12:08 +01:00
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
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
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
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
365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
Johannes Mueller
ce47ec411a Make use of ActionModel::build_custom_action_combo() 2019-04-20 22:36:51 +02:00
Johannes Mueller
73f8b8d982 Use ActionModel::build_action_combo() for Control Surfaces that need it 2019-04-20 15:25:32 +02:00
Johannes Mueller
5b7bcec529 Use ActionModel API in the Control Surfaces that can make use of it 2019-04-20 15:25:32 +02:00
acbd12c885 fix all surfaces' available action menus
Note: this replicated code is ridiculous
2019-03-20 14:23:23 -07:00
94d859e30d ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 2 (surface support) 2019-03-20 11:15:34 -07:00