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
Paul Davis
86ef6a5e59
remove debug output
2025-04-24 12:07:19 -06:00
Paul Davis
02aeb3895f
NO-OP: newline/whitespace/brace
2025-04-24 12:07:19 -06:00
npt-1707
dd0de15269
Fix potential vulnerable cloned functions: Bug: Lua can generate wrong code when _ENV is <const>
2025-04-24 13:05:49 +02:00
npt-1707
edf2ce7cfe
Fix potential vulnerable cloned functions: Save stack space while handling errors
2025-04-24 17:06:24 +08:00
Robin Gareus
5f1bea0b6b
Fix rec-arm disable
...
This broke in 91f9561958 , when the condition for clip
recording was added.
2025-04-19 18:40:50 +02:00
John Emmas
d285ff365e
Add a visibility specifier that's now needed
...
Following the introduction of 'Pianoroll::region_prop_change()' (commit #29833d75c9 ) the operator<< (for PBD::PropertyChange) now needs to be visible outside of libpbd
2025-04-19 13:33:36 +01:00
Paul Davis
292e722758
use bg[ACTIVE] for scrollbar troughs, like all other GTK engines
2025-04-18 15:52:07 -06:00
Paul Davis
743657e265
simplify scrollbar slider drawing code
...
No more pattern for the slider, brighter shade for prelight,
and keep prelight color even when widget is active
2025-04-18 15:00:55 -06:00