Commit Graph

21866 Commits

Author SHA1 Message Date
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
Paul Davis
dbe7288dc4 new Gtkmm2ext helper class for string completions on a text entry 2025-06-07 21:10:30 -06:00
Robin Gareus
0803cac946 Fix optimized builds 2025-06-07 01:53:33 +02:00
Robin Gareus
f31df0a1d1 Announce and add last duplicated regions to the region-map
This fixes a potential issue of region being retained
at session close (no DropReferences signal).
2025-06-06 23:51:31 +02:00
Paul Davis
cc435bcd0f make connection/emission debugging of PBD::Signal more useful/informative 2025-06-06 09:07:45 -06:00
Robin Gareus
f40b64b0d5 Properly handle incomplete audio read
DiskReader::[do]refill() returns either 0, or -1 on error.
2025-06-04 17:58:51 +02:00
Paul Davis
774658e01c remove debug output 2025-06-03 17:11:45 -06:00
Paul Davis
88f35a9c09 fix thinko when drawing lines in a LineSet
self represents the bounding box of each drawn line, but not
the coordinate(s) where to draw it
2025-06-03 17:10:07 -06:00
Paul Davis
959e360dd0 fix LineSet arithmetic (again!) and reduce redundancy
The logic for "is-integral" was backwards, and the code in both
branches of the conditional was identical
2025-06-03 17:09:29 -06:00
Paul Davis
ae913acacf simplify cairo pixel alignment in Canvas::LineSet
1. do the math when we add a new coord, not at every render call
2. correctly decide whether to force an odd-width line on an integer
   coordinate to a half pixel, or an even-width line on a non-integer
   coordinate to a whole pixel.
2025-06-02 19:19:30 -06:00
Paul Davis
705fe2b52d compile RectSet code 2025-06-02 19:16:11 -06:00
Paul Davis
6a67a6bcc4 new canvas item: RectSet
a collection of rectangles, conceptually similar to LineSet

this avoids keeping around N different Canvas::Rectangles and instead
collapses a related set of them down to a single item
2025-06-02 18:30:40 -06:00
Robin Gareus
72057395eb Fix potential use-after-free (when device in use)
An instance must not delete itself..
Here ARDOUR::SystemExec::Terminated signal handler deleted the
class that emitted the signal in the same thread.
2025-05-25 00:21:19 +02:00
Robin Gareus
b92fa1d0e4 Use PBD::CCurl for libardour HTTP/S requests 2025-05-20 00:03:21 +02:00
Robin Gareus
4f300b5474 Migrate SSL-cert setup to libpbd, so the downloader can use it 2025-05-20 00:03:21 +02:00
Paul Davis
4a6716e39c add option for a minor/micro tick font description to ArdourCanvas::Ruler 2025-05-19 14:57:19 -06:00
Robin Gareus
ba7e63f570 Ignore FLAC seek/peak-file read while recording
FLAC files are either read-only or write-only.
When recording the GUI may ask for additional data to render.
Depending on zoom level, this may require seeking in the audio
data, which in case of FLAC is not possible, and should fail silently:

ARDOUR::SndFileSource::read_unlocked()
ARDOUR::AudioRegion::read_peaks()
ArdourWaveView::WaveView::process_draw_request()
2025-05-19 22:19:54 +02:00
Robin Gareus
d537cdf60b Fix windows build (see also e44a66287a) 2025-05-19 18:39:13 +02:00
Robin Gareus
e44a66287a Correctly detect localtime_r 2025-05-18 20:08:27 +02:00
Paul Davis
5d34dd2f57 change error message when a PortRegistrationFailure exception is thrown, to no longer refer specifically to JACK 2025-05-16 16:43:12 -06:00
Robin Gareus
6c8a2ec05b Fix false read-only detection of sessions on Windows with OneDrive
see https://discourse.ardour.org/t/ardour-8-4-on-win11-amd64-always-opens-session-in-read-only-mode/110063/38?u=x42
2025-05-14 20:21:44 +02:00
Paul Davis
2b1c1804c5 NO-OP: whitespace 2025-05-13 16:43:20 -06:00
Paul Davis
7ce7d2239b NO-OP: add a couple of comment-placeholders about a post-record action choice 2025-05-13 12:16:11 -06:00
Paul Davis
35c6fdb044 NO-OP: remove "STEP XXX" elements from comments
They were inaccurate and out of order anyway.
2025-05-13 12:16:11 -06:00
Paul Davis
bbbedfcd1d triggerbox: use Trigger::disarm() more consistently 2025-05-13 12:16:11 -06:00
Paul Davis
b6e1846c39 temporal: fix implementation of timepos_t::operator+= (BBT_Offset const &)
TempoMap::bbtwalk_to_quarters() converts the distance of the walk into quarters, but
we need the endpoint of the walk
2025-05-13 12:16:11 -06:00
Robin Gareus
998dceb96a Amend previous commit, fix macOS builds 2025-05-11 17:02:20 +02:00
Robin Gareus
ec5b06e63d Set executable stack flag when linking
This is required on some modern hardneded Linux systems to allow
to dlopen executable objects (load plugins).

https://discourse.ardour.org/t/tls-1295-lea-so-linux-vers-doesnt-work/111778/20?u=x42
2025-05-11 15:58:00 +02:00
Paul Davis
1c0882ba56 PBD::Signal: do not use a StackAllocator for signals with return values 2025-05-09 14:21:05 -06:00
Robin Gareus
1e3100efbc Stretch gain envelope and region-FX automation with region 2025-05-08 22:01:25 +02:00
Robin Gareus
a3fb3abcc5 Add API to time-stretch region-FX automation 2025-05-08 21:53:59 +02:00
Robin Gareus
5d185c5885 TimeFX: copy region Fx (if any) 2025-05-08 17:34:41 +02:00
Robin Gareus
3f1cb6c019 TimeFX: copy region gain evevelope 2025-05-08 17:34:07 +02:00
Nils Philippsen
3c63a81c1c Don’t install test programs
Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2025-05-06 23:42:07 +02:00
Robin Gareus
d685b000c6 Use consistent duration calculation when relayering 2025-05-06 23:08:47 +02:00
Paul Davis
2a7bef47fa return immediately in a non-void Signal if there are no handlers
This allows r.begin(() to not refer to undefined memory
2025-05-05 21:51:23 -06:00
Paul Davis
9096acd3b4 change PortCountChanging to prefer handlers that return int
There are some issues with PBD::SignalWithCombiner on aarch64 when the handlers return bool. These
may arise from specializations of std::vector<bool> and std::list<bool> in stdlib, but this is
not clear. For now, to avoid an ASAN warning about calling operator delete() on stack memory,
change the only signal that does this to use int rather than bool
2025-05-04 19:21:50 -06:00
Paul Davis
cf84ed0041 use a std::vector to collect signal handler return values, not std::list 2025-05-04 19:21:50 -06:00
Robin Gareus
e3860844a6 Improve StackAllocator debug messages 2025-05-04 23:41:22 +02:00
Robin Gareus
868d8c1d51 Document and fix monitoring-states
See https://manual.ardour.org/appendix/monitor-modes/

This fixes #11, #27 (auto-in, rolling, track armed, but session
disarmed)
2025-05-01 17:15:57 +02:00
Paul Davis
52996e7a8d fix thinko when setting MIDI trigger first/last event indices
Unclear why I use this pattern when the change here uses the more normal way
of finding the upper/lower of some values. Either way, the code as it was would
skip the first event in a MIDI trigger (most of the time, anyway)
2025-04-24 16:41:49 -06:00
Paul Davis
3918fea26f provide Session::armed_triggerbox() API 2025-04-24 12:07:19 -06:00