Paul Davis
7be70d658b
Revert "refactor pianoroll/cueeditor/audioclipeditor to share code and do the right stuff (compile success stage)"
...
This reverts commit 01beb00a5f .
2025-07-17 22:38:05 -06:00
Paul Davis
01beb00a5f
refactor pianoroll/cueeditor/audioclipeditor to share code and do the right stuff (compile success stage)
2025-07-17 22:36:25 -06:00
Robin Gareus
74d7bf407a
Add roll-will-loop option (as alternative to loop-is-mode)
...
This is mainly for the benefit of Mixbus (this option is not [yet]
available for Ardour, except for power users manually editing
the config).
This option is ostensibly exclusive with loop-is-mode, but an
enum seems not appropriate at this point in time.
2025-07-17 23:00:56 +02:00
Ben Loftis
ae56743b7d
Tapereel icon should follow fg_color, not use hardcoded red
2025-07-16 16:39:38 +02:00
Robin Gareus
3cc13c1f1e
Consolidate ArdourButton layout and size for derivative projects
2025-07-16 13:56:43 +02:00
Paul Davis
7cfc5d3d7d
amend 0edba1f559 to restore algorithm design
...
The issue here was caused by 39949e778 which removed a reverse iteration
over the list of regions in order to get top-first ordering.
2025-07-14 10:21:44 -06:00
Paul Davis
b153add0ef
enhanced DEBUG_TRACE messages for MIDI playlist rendering
2025-07-14 09:12:22 -06:00
Paul Davis
4b834d11b3
autofication
2025-07-14 09:12:07 -06:00
Paul Davis
0edba1f559
fix MIDI playlist rendering with opaque regions
...
regions are sorted lowest-first, not highest-first.
2025-07-14 09:11:42 -06:00
Paul Davis
ee4b68fc80
when clip recording, we are always monitoring input regardless of timeline rec modes
2025-07-13 21:26:26 -06:00
Paul Davis
f82a755a22
NoCamelCase method names (libs)
2025-07-12 10:51:46 -06: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
ea4616913c
cocoa: experimentally, redraw entire window after deminimization
2025-07-05 08:34:08 -06:00
Robin Gareus
a0ba6e3dfb
Cache BundleChannel nchannels, allow lock-free calls
2025-07-01 17:46:17 +02:00
Paul Davis
02abf956d7
a better way to build ArdourDropdowns from Actions
2025-06-25 22:17:53 -06:00
Paul Davis
66a8776f98
fix InternalSend (and InterntalReturn) to allow fade out/MIDI mute
...
previously, as soon as the Send is disabled, it would short-circuit ::run(),
preventing the fade to zero to take effect. Now, the send will run until the
effective gain reaches zero, and the return will collect data from it until it
is fully deactivated.
2025-06-19 13:50:37 -06:00
Paul Davis
464ea0d31f
fix Amp to send MIDI mute when the gain control is set to zero
...
Do not send MIDI mute from ::apply_gain(), which is too general and can end up
resending MIDI mute messages when the owner is muted.
2025-06-19 13:38:39 -06:00
Paul Davis
6b675bac18
for MIDI mute block in Delivery, add ALL_NOTES_OFF
2025-06-19 13:37:53 -06:00
Paul Davis
fc24c59eb9
refactor midi mute buffer sizing into a separate method for Delivery
2025-06-19 13:37:30 -06:00
Paul Davis
e45c2f616a
modify Delivery::maybe_merge_midi_mute() to allow forcing the merge
...
In an internal send, this may be called with _current_gain not yet
at zero. So provide an extra argument to force the merge.
2025-06-19 13:36:50 -06:00
Paul Davis
4bf1202493
tiny optimization tweak and auto-fication for Amp::apply_simple_gain()
2025-06-19 09:13:25 -06:00
Paul Davis
8b09becf1d
fix the way mute operates for MIDI tracks
...
our policy is that "mute works on outputs", which means that mute should have
no effect on what an instrument plugin does. However, MidiTrack::act_on_mute()
used to inject sustain=0 messages into the data flow, which would affect
the instrument plugin(s) in the track.
now, MidiTrack::act_on_mute() simply notifies all Delivery objects in the track
that a MIDI mute is needed via a channel mask. The Delivery objects notice this
during their ::run() method, and deliver the required MIDI events to their
output ports.
There is still a potential issue that Amp objects which notice they have been
muted also send a similar set of messages. This needs more investigation and
possibly other changes. But this commit allows a sustained note to return after
the track is muted midway through it.
2025-06-19 08:03:43 -06:00
Paul Davis
919ce6309c
auto-ify the main processor loop in process_output_buffers()
2025-06-19 08:03:43 -06:00
Paul Davis
fc692f5680
Fix for timepos_t::earlier() - superclock_t vs.samplepos_t confusion
2025-06-17 14:03:43 -06:00
John Emmas
b795d36cd3
Avoid using 'boost::aligned_storage' which is known to be problematic in MSVC builds
...
MS initially believed the runtime issues might be fixable in VS2015 but in fact, Boost's alignment strategy and Microsoft's alignment strategy just turned out to be incompatible:-
https://www.boost.org/doc/libs/1_65_0/libs/type_traits/doc/html/boost_typetraits/reference/aligned_storage.html
2025-06-17 09:02:24 +01: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
f64627da48
Fix include order TRACE_SETSESSION_NULL is defined in session_handle.h
2025-06-13 17:01:49 +02:00
Robin Gareus
704241dec2
Fix button corner radius math
2025-06-13 02:42:26 +02:00
Paul Davis
5223cbdc18
add new NSApplicationDelegate method to deal with warning on macOS Sonoma
2025-06-12 12:09:11 -06:00
Ben Loftis
aa5685c585
Add icons for editor toolbar buttons: follow*, show_auto_on_touch
2025-06-12 18:57:56 +02:00
Ben Loftis
f644b83f3f
Add new icons for LoopMode and AutoReturn
2025-06-12 18:57:27 +02:00
Robin Gareus
72cc6a3e69
Amend 877f603d92 (clang + execstack)
2025-06-12 02:25:43 +02:00
Robin Gareus
7c476f0468
Allow for blank separators
2025-06-11 23:57:55 +02:00
Robin Gareus
31a75af243
In the case where there is no pane-divider, add space at top
2025-06-11 20:25:37 +02:00
Ben Loftis
2ac2a4fd4c
(backport) loop and config icon should obey the fg_color they are provided
2025-06-11 19:21:07 +02:00
Robin Gareus
63bab272dc
Tweak cue/trigger icon to match weight of similar icons
2025-06-11 19:20:31 +02:00
Ben Loftis
9463eabfe4
Expose corner_mask variable for ArdourButtons
2025-06-10 21:18:36 +02:00
Robin Gareus
c02a7668d7
Tweaks rounded corners
2025-06-10 21:18:36 +02:00
Ben Loftis
8272c33fb8
Expose gtkmm rounded_functions for rounded_bottom_left/right
2025-06-10 21:18:36 +02:00
Ben Loftis
b397d48a56
Remove redundant logic for calculating button rg color
2025-06-10 21:18:36 +02:00
Ben Loftis
43b48467f8
Ardour_icon: shrink the stop icon to match the weight of Play
2025-06-10 21:18:36 +02:00
Robin Gareus
ccf3addf5a
Add spacer widget to maintain size with GUI scaling
...
This is intended for the (Mixbus) Group Bar
2025-06-10 21:18:35 +02:00
Ben Loftis
41fc50898e
Allow themeing of icon colors so they can be less severe
...
Note: this breaks some themes, notably light ones.
2025-06-10 21:18:35 +02:00
Ben Loftis
d9176fd862
Button-sizing Tweak:TransportIcon alternative to ExpandToSquare
2025-06-10 21:18:32 +02:00
Paul Davis
742f654fa4
StringCompletion: allow case-folded matching
2025-06-10 12:28:33 -06:00
Robin Gareus
877f603d92
Make execstack optional, and check clang's variant with space
...
see also ec5b06e63d
and https://discourse.ardour.org/t/fyi-ardour-9-doesnt-build-on-linux-using-clang/111896
2025-06-10 16:13:44 +02:00
Paul Davis
4eb9285659
allow StringCompletion to match anywhere
2025-06-08 09:14:33 -06:00
John Emmas
23c7d564e2
The new class 'StringCompletion' needs to be visible outside of gtkmm2ext
2025-06-08 11:51:43 +01:00
Paul Davis
4a827ef7ee
remove new functions that are not actually used
2025-06-07 23:03:30 -06:00
Paul Davis
3ac59dc837
some helper APIs to find things in a Session
2025-06-07 21:10:30 -06:00