Commit graph

2584 commits

Author SHA1 Message Date
Franke Burgarino
c59dddfdae MCU: add scrolling in eq subview 2025-08-08 16:57:49 -05:00
Franke Burgarino
900706320c MCU: change 'Strip::notify_eq_type_changed()' to 'Strip::notify_subview_type_changed()' since it applies to dynamics as well 2025-08-08 16:57:49 -05:00
Franke Burgarino
947223fdfb MCU: rename/reorder dynamics subview controls 2025-08-08 16:57:49 -05:00
Franke Burgarino
c61cbe8b02 MCU: move filter controls from dynamics subview to eq subview 2025-08-08 16:57:49 -05:00
Franke Burgarino
e3710bd0a2 MCU: allow scrolling to gate controls in the dynamics subview 2025-08-07 16:16:19 -05:00
Franke Burgarino
dfa12dedcd MCU: make dynamics subview show actual values 2025-08-07 16:04:40 -05:00
Franke Burgarino
7df7f98566 MCU: fix formatting 2025-08-06 17:26:49 -05:00
Franke Burgarino
157031ae71 MCU: make EQ subview show actual values, not just decimal between 0 and 1 2025-08-06 16:09:34 -05:00
Robin Gareus
d1fd5452c9
Amend 0742fd8563, check if click_gain() is not null 2025-07-30 04:40:04 +02:00
Franke Burgarino
0fc28d3872
MCU: update controls when EQ type changes 2025-07-29 23:11:20 +02:00
Robin Gareus
0742fd8563
OSC: fix crash when querying master-status on systems w/o metronome
This happens when master-feedback is enabled and /refresh message
is received and the metronme is disabled at compile-time
(eg. LiveTrax)
2025-07-29 23:08:51 +02:00
Robin Gareus
d82861954d
Console 1: update API to match recent Mixbus 2025-07-29 06:16:12 +02:00
Hoger Dehnhardt
361d0374dc
Suppress the mapping of unititialized controls in setup dialog 2025-07-22 21:59:43 +02:00
Robin Gareus
280e30ade9
NO-OP: whitespace and indent 2025-07-21 15:17:24 +02:00
Hoger Dehnhardt
710d01a63f
Console1: Expose Mixbus SSL-EQ Q Control 2025-07-21 15:13:09 +02:00
Robin Gareus
99c1f50a72
Really remove gtk+ option (see also 1e28ee9cc9)
After patching gtk/ytk to add touch support and macOS rendering,
upstream gtk+2 is no longer an option
2025-07-06 15:20:20 +02:00
Paul Davis
1230e1258d code refactoring and action name handling to make follow-playhead work in multiple editing contexts (libs) 2025-06-15 21:18:06 -06:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Robin Gareus
5cb6a43eae
Amend previous commit (launchkey not pad) 2025-01-15 16:04:49 +01:00
Robin Gareus
c8f17ee0a5
Only build launchpad surfaces if libUSB is available 2025-01-15 16:00:28 +01:00
Paul Davis
5b112e489b move zoom in/out actions into shared "Editing" group 2024-12-07 08:00:46 -07:00
Robin Gareus
09eeca09a9
Remove unused includes 2024-11-17 20:08:14 +01:00
Robin Gareus
5aaec05429
Add Latch Automation for MCP
see https://discourse.ardour.org/t/cannot-activate-latch-automation-state-via-x-touch-in-mackie-mode/110969
2024-11-16 22:17:29 +01:00
Alejandro Domínguez
5223b176f3
Replace boost::shared_array<T> with std::shared_ptr<T[]> 2024-11-06 23:03:19 +01:00
Alejandro Domínguez
9544855fdd
Remove unused headers 2024-11-06 22:50:35 +01:00
Matthew Smith
84027120cc
Fix OSC observer heap buffer-overflow 2024-10-23 14:54:00 +02:00
Robin Gareus
86a4447805
OSC: Never, ever bind a shared_ptr<T> to a signal
This fixes crashes when controllable are destroyed, or
OSC surface is disabled (signals retain a reference).
2024-10-23 01:39:05 +02:00
Robin Gareus
2816c85324
Fix OSC observer heap buffer-overflow
OSCCueObserver::send_init may populate a sparse map, rather
than a contiguously indexed vector
2024-10-23 01:39:05 +02:00
Mads Kiilerich
48fcb30608 wscript: fix whitespace formatting
No tabs and no trailing spaces.
2024-10-20 19:52:14 -06:00
Mads Kiilerich
b4ff4f356c Make header files more self-contained - add missing Ardour and lib includes 2024-10-20 03:30:46 +02:00
Mads Kiilerich
955e634371 Make header files more self-contained - add missing std includes 2024-10-20 03:11:53 +02:00
Mads Kiilerich
140670541f Use .inc.h for #include files that not are plain headers
Regular .h files *should* be self-contained and independent of previous
includes and guarded to only include once. Make it clear which files
that *doesn't* apply for at all.
2024-10-20 03:11:53 +02:00
Mads Kiilerich
38db12c9ea Drop Frontier Tranzport surface - it has been dead for a decade 2024-10-20 03:08:03 +02: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
Robin Gareus
ff95d81612
Reduce reliance on boost - the easy part
* boost::unordered_map -> std::unordered_map
* BOOST_STATIC_ASSERT/static_assert
* BOOST_FOREACH -> for
* boost::tuple -> std::tuple/g
* boost::math::isnormal -> std::isnormal
* boost::container::set -> std::set
* boost::none -> std::nullopt
* boost::optional -> std::optional
2024-10-19 03:41:16 +02:00
Alejandro Domínguez
915200699b
Replace boost::lexical_cast with std equivalent functions 2024-10-19 01:04:15 +02:00
Alejandro Domínguez
7a0428644f
Replace boost::assign::map_list_of with initializer_list constructor 2024-10-19 01:04:15 +02:00
Robin Gareus
2d7cce44f1
Replace PBD::Signals (1/2) 2024-10-18 20:41:08 +02:00
Paul Davis
c03c3dd918 fix unused variable warning from clang 2024-10-17 07:44:32 -06:00
Paul Davis
1e8b2c521c provide a better method to decide if a trigger(slot) is occupied
This is necessary with clip recording because for some short time after recording,
a trigger may be playable despite not yet having a region.

libs edition.
2024-10-17 07:44:32 -06:00
Paul Davis
d7d208dc34 move RecordState enum from ARDOUR::Session to ARDOUR so we can use it in TriggerBox (libs) 2024-10-17 07:44:32 -06:00
Mads Kiilerich
99ba70384a
FaderPort8: Improve DEBUG_TRACE messages 2024-10-15 00:41:12 +02:00
Mads Kiilerich
5c763c99ba
FaderPort8: Use explicit "Port 1" for FP8 too
84e38b4c65 made the same change for FP16.

It has apparently not been necessary for FP8 so far, because backends
have happened to report "Port 1" before the control port. But that is
not necessarily the case. It failed for me when playing around.

Change FP8 handling to also not make assumptions about the device order
returned by the backend.
2024-10-15 00:41:12 +02:00
Robin Gareus
88a24ae8e5
Let PBD::Thread set thread-name 2024-09-28 03:16:07 +02:00
Robin Gareus
72cac07ae7
Generic MIDI: do not send touch events for all mapped controlers
Previously a start-touch was sent for any bound MIDI
Controllable on each incoming MIDI Control event.
2024-09-24 16:11:00 +02:00
Fabio Pesari
f94bde59d7
Fix for Boost 1.8.5
Recent boost prevents calls to `get_child` with temporary
default values.
2024-09-15 11:43:52 +02:00
Matthijs Kooijman
a9a5787399
osc: Fix send and plugin page size in /set_surface
When handling the `/set_surface` command, the code would set
plug_page_size to the new value first, and call `sel_plug_pagesize()`
later. The latter then sees the page size is already the same, so it
leaves it unchanged and also does not send the page size to the
OSCSelectObserver object. In practice, this means that only the default
plugin page size from the preferences or set with
`/set_surface/plugin_page_size` take effect and values set with
`/set_surface` are ignored.

Exactly the same thing happens for the send page size.

This code has been like this since it was first introduced in comit
9c0f6ea948 (OSC: Allow set_surface to set send and plugin page sizes.,
2017-06-13)

This commit fixes this by omitting the first assignment.
2024-09-03 00:40:11 +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
Paul Davis
79fcb3d0ba use new launckkey image file for surface GUI dialog 2024-08-29 18:54:11 -06:00
Paul Davis
cac849fe6d add new novation LK4 surface support 2024-08-29 18:31:00 -06:00