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
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
9deee4df7c
better tracking of lower pane content visibility based on region selection
2025-05-04 19:21:50 -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
Paul Davis
130cfd2e08
catch hscroll in pianoroll appropriately
...
Some thought might be put into thinking about why/whether EditingContext
ought to do this instead, since Editor does almost the same thing, but
without using the horizontal_adjustment owned by EditingContext
2025-05-02 09:40:38 -06:00
Paul Davis
e348607976
limit length of controller names on user-defined automation buttons in pianoroll
2025-05-01 09:33:43 -06:00
Paul Davis
cc5e110216
change API of build_controller_menu() to allow clamping button name length
2025-05-01 09:33:43 -06: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
3600a6ffd0
fix computation of note position for HitCreateDrags
2025-04-30 18:07:55 -06:00
Paul Davis
7e75162840
allow MIDI note range (vertical) zoom to work with no selected notes if velocity-scroll is disabled
2025-04-29 10:50:16 -06:00
Paul Davis
d68472115f
in MidiViews, primary-scroll is always left unhandled so that horizontal zoom works everywhere
2025-04-29 10:49:34 -06:00
Paul Davis
3cc3b867dc
NO-OP: add a comment about requiring a region to be selected for MIDI scrolling
2025-04-29 10:47:51 -06:00
Paul Davis
f28e13fcdb
NO-OP: fix named class type in a comment
2025-04-28 16:59:12 -06:00
Paul Davis
b874bbfbf0
use instrument info for note names in pianoroll (canvas-based) header
2025-04-28 16:58:57 -06:00
Paul Davis
1a8445d6a1
MidiViewBackground now has a virtual method to access instrument info
2025-04-28 16:58:29 -06:00
Paul Davis
fece4f0ca8
fix thinko in handling of cue page context menus
...
Context menus should (unless there is a very strong reason otherwise) be
popped up on button press, not button release. In addition Gtk::Menu::popup()
should be given the button ID of the button used, so that it can manage
both styles of menu interaction (press/drag/release and press/release/drag/press)
2025-04-28 14:26:15 -06:00
Paul Davis
975b01060a
enforce a 1 octave minimum note range in MidiViews
...
May revisit this to allow less in the future
2025-04-28 08:58:25 -06:00
edwar4rd
747be87974
Fix typo in ardour.keys.in causing spacebar to not work
2025-04-28 16:55:54 +08:00
Robin Gareus
cb8dd39f31
Allow SchedRR for I/O threads (fix copy/paste typo)
2025-04-26 16:11:51 +02:00
Robin Gareus
89003b1708
Only show Surround settings in group dialog when available at compile time
2025-04-25 21:06:30 +02:00
Paul Davis
8d7b4f7991
fixes so that cursor changes inside a MidiRegionView work as intended
...
They already worked in the PianorollMidiView, because that hands off enter/leave events
to the parent EditingContext (a Pianoroll). But MidiRegionView and Editor were
not interacting in the same way, so leaving a note object would not cause the Editor
to do the right thing with the cursor.
2025-04-25 11:28:45 -06: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
c45103c1d7
ensure zoom of an empty pianoroll matches that when an empty slot is shown
2025-04-24 12:07:19 -06:00
Paul Davis
5526880ac8
do not create an empty region for a cue slot when it is selected for editing
...
There's an assumption that slots with regions cannot be recorded into,
so adding a region to an empty slot makes it impossible to record to that
slot.
Create the region at the appropriate point during a NoteCreateDrag.
This may also be needed for some automation drawing drag operations.
2025-04-24 12:07:19 -06:00
Paul Davis
a835de7e08
add a comment to explain a default length
2025-04-24 12:07:19 -06:00
Paul Davis
ce236c49ca
when building a tempo map for the Pianoroll, consider using the main tempo map
...
This is only relevant when a Pianoroll is used to edit a timeline region.
2025-04-24 12:07:19 -06:00