Commit graph

40987 commits

Author SHA1 Message Date
Paul Davis
b6d8f77173 fix bad lifetime mgmt for VerboseCursor class 2025-05-27 08:49:32 -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
Paul Davis
958135ff26 adjust help msg text for 21st century 2025-05-24 07:35:13 -06:00
Robin Gareus
6cc175343c
Show actual project name in derivative projects 2025-05-24 12:46:22 +02:00
Paul Davis
49ff88fd75 fix crash when calling toggle-roll with no time selection existing 2025-05-19 16:52:15 -06:00
Robin Gareus
b92fa1d0e4
Use PBD::CCurl for libardour HTTP/S requests 2025-05-20 00:03:21 +02:00
Robin Gareus
7b6ca334df
Use PBD::CCurl for Ardour GUI 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
6918a8a267 some rationalization to how Editor & CueEditor (Pianoroll) handle ZoomLevel and TimeOrigin changes 2025-05-19 14:57:19 -06:00
Paul Davis
37f318e417 set a minor/micro tick font for Pianoroll BBT ruler 2025-05-19 14:57:19 -06: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
c7cc5a1a61 MIDI binding map for Nektar Impact LX, c/o Mike Lupe 2025-05-18 10:38:09 -06:00
Jon Bennett
426107ca20 Add Nektar Impact GXP MIDI Map
Just adding the file
2025-05-18 03:51:29 +02:00
Paul Davis
01a087985e fix set/unset of Pianoroll::ref (trigger reference) when a region is set
We do want to reset things like history, but not lose the trigger reference, if any
2025-05-16 16:43:12 -06:00
Paul Davis
72bb24bb1b remove debug output 2025-05-16 16:43:12 -06:00
Paul Davis
2d79195264 prevent crash when timing issues lead to a playing trigger, no region, during Pianoroll::maybe_update() 2025-05-16 16:43:12 -06:00
Paul Davis
711b12035e using C++17 auto map iterator syntax when iterating over MidiView::_events
Also, call NoteBase::show() and NoteBase::hide() rather than item()->show() or item()->hide()
2025-05-16 16:43:12 -06:00
Paul Davis
0ddb9fa8e2 fix erroneous deletion of notes after MIDI clip recording
If an idle data captured callback executed AFTER the code trigger by capture
end, it would call ::begin_write() which would end up calling clear_events()
which would delete all notes in the correctly setup MidiView.

Now, the idle data capture callback no longer does anything of significance if
the TriggerBox is not actively recording. In addition, we do not call
begin_write() in the MidiView if it is not already set up for capture
display (this is triggered by changes in the TriggerBox's record enable state
and the first data captured callback from an RT thread. Further,
::begin_write(), if called, only deletes notes that were in
_active_notes (though this should probably never happen).
2025-05-16 16:43:12 -06:00
Paul Davis
c3a4026ace pianoroll: update bbt ruler when changing zoom level 2025-05-16 16:43:12 -06:00
Paul Davis
5a0919f2b0 do not construct a useless tempo map when setting samples per pixel in a pianoroll MidiView 2025-05-16 16:43:12 -06:00
Paul Davis
f6b3caad52 do not attempt to compute samples per pixel (zoom level) on EditingContext if _track_canvas_width is still zero
This leads to undefined/incorrect arithmetic results
2025-05-16 16:43:12 -06:00
Paul Davis
4732e702ce use a Glib constant as a better indication of the return value semantics in an idle callback 2025-05-16 16:43:12 -06: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
e81f1464a9
Potential fix for #9932 2025-05-16 18:17:32 +02:00
oxfn
c486289c68 Update ru.po: fix typo 2025-05-16 18:01:09 +02:00
Bill Smith
0f8e941d0d
Roland / Boss GT-8 Midnam
Adding a midnam for Boss GT-8 Guitar Effects Processor
2025-05-15 15:34:57 -07:00
Robin Gareus
d6c6c58155
NO-OP: fix alignment after recent code change 2025-05-14 20:28:56 +02: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
9494ecf6e9 EditorComponent should have a reference, not pointer, to an Editor
the value is not allow to be null, and the coding style guide says in such cases to prefer
a reference.

No semantics change here, just the fact that all EditorComponents receive *this instead
of this when the Editor that owns them creates them
2025-05-14 11:50:30 -06:00
Paul Davis
94dbcaa7e2 provide a new EditingContext/Editor method to set the cursor appropriately for section selections 2025-05-14 11:37:01 -06:00
Paul Davis
a8b4345d8f change API of EditorSections to take an EditingContext& at construction
Then use this instead of PublicEditor::instance() in its code, mostly.
2025-05-14 11:35:53 -06:00
Paul Davis
316947f7dc move trigger rec-enable button above trigger box, for ergonomic reasons 2025-05-13 19:18:32 -06:00
Paul Davis
2b1c1804c5 NO-OP: whitespace 2025-05-13 16:43:20 -06:00
Paul Davis
32ea051fb7 fix PatchChangeTriggerWindow so that if the clip is empty, it shows everything, rather than nothing 2025-05-13 16:43:20 -06:00
Robin Gareus
18e5061b46
Fix race-condition when detecting xjadeo/harvid version
Apparently it can happen that waitpid() can return before
the Terminated signal handler is invoked.
2025-05-13 22:44:58 +02:00
Paul Davis
c4da3f2120 when arming triggers for recording, PRIMARY means "unbounded" length; plain means follow-length 2025-05-13 12:16:11 -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
a9fad0c4f5 remove debug output 2025-05-13 12:16:11 -06:00
Paul Davis
18c4040b77 fix crash/memory mgmt during MIDI clip recording
the active notes that are extended by transport rolling are
owned by MidiView::_events, not MidiView::_active_notes, so do not
delete them when cleaning up _active_notes.
2025-05-13 12:16:11 -06:00
Paul Davis
57efff5a1f NO-OP: fix spelling in a comment 2025-05-13 12:16:11 -06:00
Paul Davis
5b8e3a2ecb space bar action for clip recording should only take place if transport is rolling 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