Commit Graph

88 Commits

Author SHA1 Message Date
Ben Loftis ee6d46d403 Ardour repo should not distinguish between Mixbus variants 2024-01-08 08:25:18 -06:00
Robin Gareus 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
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
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
Robin Gareus 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
Robin Gareus 847f1e54c1
Clean up ctrl surface API
Remove unused fields, no mandatory surfaces
2023-05-01 02:22:45 +02:00
Paul Davis f718279949 surfaces & event loops: i really mean no more request buffer factories 2023-04-21 13:55:58 -06: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
Robin Gareus 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
Paul Davis 7a32ff33d4 handle compiler stupidity with early return 2022-06-22 13:31:08 -06:00
Paul Davis 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
Mads Kiilerich 49855e52aa wscript: consistently have at most one empty separator line 2022-04-09 12:16:40 +02:00
Paul Davis 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
Robin Gareus 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
Robin Gareus 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
Robin Gareus bbb6851468
Subscribe to pretty-port name changes (surfaces) 2021-01-18 03:18:20 +01: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
Robin Gareus 23feb0491e
Remove using std::min/max from header 2020-06-18 01:05:48 +02: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
Jan Lentfer 260e7ad5a9 LCXL: Make the pan fix nice again 2020-02-12 21:37:52 +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
Robin Gareus d10c4c651c
Consolidate and extend "well-known" controls:
* Add new common strip controls (inspired from Mixbus)
* Remove duplicate documentation, document virtual API only.
* "azimuth" not "azi"
2019-09-25 14:02:45 +02:00
Robin Gareus f7968f15dd
LCXL: Fix uninitialized pointer function
See also 026b74e25d. FilterFunction must point to a valid function.
2019-08-24 00:01:28 +02:00
Robin Gareus 026b74e25d
Fix potential call of uninitialized pointer function
_template_number can be set via sysex to an arbitrary number, this
can lead to calling a filter-function at an undefined address, usually
a segfault.
2019-08-21 03:53:46 +02:00
Robin Gareus 365f6d6337
Update plugins/addons GPL boilerplate and (C) from git log 2019-08-03 15:53:18 +02:00
Jan Lentfer dfda5eab82 LCXL:Disable global mute/solo/recarm in device mode 2019-03-06 09:28:25 +01:00
Jan Lentfer ff0ee75a56 LCXL: Fix a problem in switch_bank 2019-01-03 19:22:56 +01:00
Jan Lentfer 45f83beb17 LCXL: fix special 32C handling for autom. lanes 2019-01-03 19:22:15 +01:00
Jan Lentfer 5d2a03578c
LCXL: some more small tweaks
* assign Pan knob to Comp thresh as secondary function
    * make cancel_all_solo and cancel_all_mute work in device mode, too
2018-12-12 18:14:48 +01:00
Jan Lentfer fb1fe5ce30 LCXL: some final fixes 2018-11-11 19:52:37 +01:00
Robin Gareus 897258f5f1 Fix scalar initialization of shared_ptr<>. 2018-10-18 04:15:47 +02:00
Jan Lentfer 05d3539591 LCXL: complete overhaul and Mixbus support 2018-10-17 15:14:59 +02:00
Térence Clastres a33a5cdeaf LCXL: Assign one callback function per Knob/Fader 2018-10-17 15:14:59 +02:00
Jan Lentfer e52c8e376a LCXL: fix off by one cause by fader8master 2018-09-22 15:12:26 +02:00
Jan Lentfer 7d6c9c3085 LCXL: Fix a crash on exit 2018-09-22 15:12:26 +02:00
Robin Gareus 2172337306 Add missing cast (NoteButton to TrackButton) 2018-09-06 23:03:55 +02:00
Robin Gareus e1c58aad60 Fix an invalid conversion from 'int' to non-scalar. 2018-09-06 19:28:45 +02:00
Jan Lentfer eff7a51de1 LCXL: Refactor code to use boost::shared_ptr 2018-09-04 18:55:49 +02:00
Térence Clastres 2a78f0a852 LCXL: Fix check if ports exist 2018-08-30 22:39:24 +02:00
Jan Lentfer c3d0c80f68 LCXL: Fix two crashes
* fix a crash when accessing VCAs
    * fix a crash when being at the end
      of available stripables
    * unify for-loop constructs
2018-08-29 23:40:26 +02:00
Jan Lentfer fdbce2e8c8 LCXL: add visual feedback for sec button functions
also add some little fixes in regard
    to fixing master fader on controller
    fader no 8
2018-08-25 22:51:31 +02:00
Robin Gareus 3136b20847 Cleanup various design patterns.
* do not use implicit bool-to-int-cast
* avoid C++11 member initialization in header
* always use set and access methods, remove public variable
2018-08-24 16:55:00 +02:00
Térence Clastres 6bd81ee3c7 Revert "LCXL: Fast skip to first/last stripable with left/right long press"
This reverts commit 27b05f4d8d.
2018-08-22 22:40:57 +02:00
Térence Clastres 65cadf2cb6 LCXL: Make knobs' leds' color constant when controlling master bus 2018-08-22 22:33:00 +02:00
Térence Clastres 3f77c1245c LCXL: track select: change from 1 strip at a time to whole bank 2018-08-22 22:33:00 +02:00