Commit graph

21771 commits

Author SHA1 Message Date
Robin Gareus
b59c69b34d
Fix monitoring state, specifically #59
This partially reverts commit 7455b99b45.
and updates the condition for clip-recording.
2025-02-25 00:40:11 +01:00
Robin Gareus
978495c4f9
Update macOS codenames 2025-02-24 19:32:16 +01:00
John Emmas
8d7fc15917 Fix an issue where 'ytkmm' wouldn't run properly if built with MSVC 2025-02-24 12:42:53 +00:00
John Emmas
046623df59 Correct a mistyped include path 2025-02-20 09:15:49 +00:00
Paul Davis
36fb75690d macOS/YDK: various changes in invalidation debugging 2025-02-13 20:32:28 -07:00
Paul Davis
45e2555988 macOS/YDK: when a full-draw is needed, use the GdkQuartzView bounds as the rect, not the drawRect:rect 2025-02-13 20:31:50 -07:00
Paul Davis
499389d7b5 we do not use clear_region() on macOS and never have 2025-02-13 20:29:54 -07:00
Paul Davis
71f93d3c12 provide a stacktrace function callable directly from C (libpbd_c_stacktrace()) 2025-02-11 10:23:01 -07:00
Paul Davis
809d605a4a improve stacktraces on macOS involving Objective C 2025-02-11 10:23:00 -07:00
Paul Davis
870af9fd23 remove debug output 2025-02-10 10:17:02 -07:00
Paul Davis
84e2ca2d21 fix data loading of audio clips 2025-02-10 10:06:05 -07:00
Paul Davis
16535e9e1d expand ArdourButton API to expose ::is_led_click() for use by derived classes and owners 2025-02-08 09:28:53 -07:00
Paul Davis
fbc55a75b4 API changes to MetaButton, mostly to allow submenus to be hung from the built menu 2025-02-07 23:09:02 -07:00
Paul Davis
46507df2de expose Gtk::Menu member of ArdourDropdown 2025-02-03 14:29:35 -07:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Robin Gareus
233fc890de
Update gdkmm -> ydkmm header location (omnibus commit) 2025-02-01 15:01:52 +01:00
Robin Gareus
ab41165854
Update gdk-pixbuf -> ydk header location 2025-02-01 14:24:41 +01:00
Robin Gareus
f1e0f4b1ea
Update gtk -> ytk header location (omnibus commit) 2025-02-01 13:53:21 +01:00
Robin Gareus
07866caf1e
Update gdk -> ydk header location (omnibus commit) 2025-02-01 13:37:48 +01:00
Robin Gareus
eff811d437
Update atkmm -> ztkmm header location 2025-02-01 12:44:12 +01:00
Robin Gareus
f9a92e7872
Update atk->ztk header location 2025-02-01 12:22:32 +01:00
Robin Gareus
1e28ee9cc9
YTK is no longer optional
Since the addition of the touch-API, Ardour is no longer compatible
with upstream gtk2.
2025-02-01 11:57:35 +01:00
Robin Gareus
fdfdde093d
libAAF update for NetBSD (#9886) 2025-02-01 11:30:14 +01:00
Robin Gareus
b4bf87725e
VST3 SDK update for NetBSD (#9886) 2025-02-01 11:27:03 +01:00
Robin Gareus
728e0c0144
Build fixes for NetBSD from pkgsrc (#9886) 2025-02-01 11:25:42 +01:00
Paul Davis
7cf89d192b robustify Canvas DEBUG_TRACE for PBD::CanvasEvents to handle case where an event handler deletes the item 2025-01-31 12:33:43 -07:00
Paul Davis
debef6ab25 lighter, simpler math for sample-aligned superclocks 2025-01-30 11:26:41 -07:00
Paul Davis
456a8bcabf autofication of some loops in Stateful::apply_changes() and avoidance of a loop in non-debug builds 2025-01-29 17:40:57 -07:00
Paul Davis
fa376b709d add new sample_aligned_superclock() method and use it when converting Beats to superclock
There can never be fractional audio time, and since superclock_t is used to represent audio time, when we
convert from Beat time, we should never, ever return a superclock value that does not correspond to
an integer number of samples.

This fixes a number of bugs, including any use of ARDOUR::Filter which writes a new (audio) file
to disk that must be an integer number of samples long, but may be derived from and later used
by a region that had an audio-time duration that is slightly longer (less than one sample)
than the audio file
2025-01-29 17:40:57 -07:00
Robin Gareus
0516c12694
MetaButton: handle boxy theme, separate active state from menu index 2025-01-28 22:52:00 +01:00
Paul Davis
146df0306c provide new API for Gtkmm2ext to allow ActionGroup cleanup 2025-01-28 13:29:40 -07:00
Robin Gareus
6cdf6b6e42
Properly propagate un/map window events
This fixes issues with openGL rendering bleeding
behind when switching editor/mixer and other related
window events that depend on  on_unmap()
2025-01-28 17:43:33 +01:00
Robin Gareus
fb6b64f736
Allow left-click on MetaButton Dropdown indicator 2025-01-28 17:38:38 +01:00
Robin Gareus
ff2c33e42e
Add MetaButton Widget
A Button that changes functionality.

* right click: show a drop-down to pick what left click will do
* left click: activate selected action
2025-01-28 07:52:35 +01:00
Robin Gareus
d280c46d44
Add API to add sizing-texts to ArdourButton 2025-01-28 07:52:34 +01:00
Robin Gareus
58f1d46e31
One font to rule the rulers.
Remove bold fonts for Bar/beats and font-size
inconsistency on macOS (VerySmall, SmallBold).

This reverts commit e3dc0a24f2.
and 14318dd342
and a76afae0e9
and 7c27f617dc
and 20029ec7e6
2025-01-23 19:43:26 +01:00
Robin Gareus
9e164bf0cf
Further reduce debug output 2025-01-23 03:55:09 +01:00
Paul Davis
15a093df76 wrap Tabbable contents in an EventBox so we can get events from "the whole thing" 2025-01-22 18:20:25 -07:00
Robin Gareus
8919594353
Add API to query number of regionFX 2025-01-22 19:18:36 +01:00
luzpaz
b22f482114
fix typo bug in libs/ardour/ardour/triggerbox.h 2025-01-19 16:08:39 +01:00
Robin Gareus
44de3c5247
NO-OP: shift indent (see previous commit) 2025-01-17 21:29:07 +01:00
Robin Gareus
654785fcc9
Handle read peak-data edge case (npeaks == 1 near EOF)
It can happen that at a given zoom-level the last chunk
of peak-data to be read is after the last peak-file data
but still before the end of the file.
2025-01-17 21:27:12 +01:00
Robin Gareus
631cda9fc8
Fix mac/Quartz drawRect full exposure
When full-draw is set, use the `rect` passed as argument
to `drawRect` and ignore `drawn_rects` invalidation.

This may fix some missing redraws when switching tabs.
2025-01-17 18:26:50 +01:00
Robin Gareus
4e34c0a0e3
Remove redundant gdk_region_destroy 2025-01-17 18:26:50 +01:00
Robin Gareus
462c5ad400
Windows multitouch fixes and notes
Properly special case first single touch; fall
back to allow windows to emulate mouse events for it.
Yet let gdk handle any multi-touch events, not allowing gestures.
2025-01-16 18:46:27 +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
Robin Gareus
90755045f5
Windows multitouch tweaks
* Fix special case of first single touch. While another touch
is active, any new touch must not get the ID of the (ignored)
first touch.

* reset "last-touch" coordinate on touch-begin.
Previously it was possible that the first motion event was
ignored.

NB: This does not fix missing events when the first touch
coincides with any other finger (gesture?).
2025-01-15 03:32:17 +01:00
Robin Gareus
91fe10165e Linux/X11 grab window when emulating touch button events
The first touch moves the mouse cursor, but X motion events
for the first touch are only sent after a XGrabPointer.
2025-01-15 02:06:45 +01:00
Robin Gareus
f0ffee4a13
NO-OP: fix off by one in comments 2025-01-14 00:37:58 +01:00