Commit graph

40620 commits

Author SHA1 Message Date
Paul Davis
b58abd5bf9 remove as-yet-undeclared method from Pianoroll 2025-04-05 18:32:28 -06:00
Paul Davis
be3e6c8f1b make sure enter/leave events propagate to both MidiView and EditingContext
This helps with cursor setting as we enter/leave the canvas.
2025-04-05 17:25:03 -06:00
Paul Davis
4ee709af7b libardour APIs for Sequence::shift (timepos_t const &)
A way to move all MIDI data in a Sequence later in time.

This is likely not finished, and may need a new signal for
notifications
2025-04-05 17:25:03 -06:00
Paul Davis
9c0c3309e6 avoid compiler warnings 2025-04-05 17:25:03 -06:00
Paul Davis
8677ebe1f0 fix playhead in pianoroll
Logic had all been messed up by earlier commits
2025-04-05 17:25:03 -06:00
Robin Gareus
3b8dcdcc9e
RTA: update min window-size with scale to allow for more dB labels 2025-04-06 01:16:49 +02:00
Robin Gareus
635fcdc206
Add scroll-wheel support to RT Analyzer 2025-04-05 21:11:46 +02:00
Robin Gareus
24e8784719
Increases contrast of RTA grid labels 2025-04-05 18:24:23 +02:00
Robin Gareus
db16c8818c
Add debug messages to investigate Windows/OneDrive read-only sessions 2025-04-05 18:23:28 +02:00
Robin Gareus
e6e536b923
NO-OP: whitespace 2025-04-04 17:51:45 +02:00
Houston4444
5550654513
Create Lua script to create a playlist on selected audio tracks with only audible contents 2025-04-04 13:17:53 +02:00
Houston4444
eb6f525938
add fade_in_length and fade_out_length lua bindings on region 2025-04-04 13:16:55 +02:00
Robin Gareus
70792e7f1c
Add Lua script snippet showing how to add sources to a track 2025-04-04 13:07:56 +02:00
Robin Gareus
04565528b7
Update icon tool ydk paths (after 07866caf1, f1e0f4b1) 2025-04-04 02:14:30 +02:00
Robin Gareus
0e011e0e90
NO-OP: cleanup 2025-04-03 21:06:14 +02:00
Robin Gareus
4f8a6e8e80
Fix stretching mono files on multi-channel trigger slots
Like in the non-stretch case `chn % data.size ()` is used.
2025-04-03 21:01:45 +02:00
Robin Gareus
8dd89616e1
Fix EmScale initialization, pixel-sizes are unsigned int 2025-04-03 03:15:29 +02:00
Paul Davis
1a95595e3d remove more debug output 2025-04-02 09:08:11 -06:00
Paul Davis
e927b34391 remove debug output 2025-04-02 08:31:18 -06:00
Paul Davis
def69dd383 temporary workaround for a weird callback problem with pianoroll automation buttons 2025-04-01 14:55:32 -06:00
Paul Davis
25114fee0e remove unused call to std::min(), dangling from commit ea0524177 2025-04-01 14:55:32 -06:00
Paul Davis
fad3c32267 better handling of cloned bindings/actions 2025-04-01 14:55:32 -06:00
Paul Davis
87ed40a855 design to handle "cloned" bindings/actions 2025-04-01 14:55:32 -06:00
Ben Loftis
7a8fbdd5b1 Cue page: recover missing Stretch Options box 2025-04-01 12:17:08 -05:00
Robin Gareus
03daa45bab
Add Automation List / Region envelope example script 2025-04-01 16:12:01 +02:00
Robin Gareus
53773ec310
Prepare RouteUI for RTA 2025-04-01 15:52:58 +02:00
Robin Gareus
53ac429b4f
Fix SNAFU, only expose RTA in debug builds for the time being 2025-03-31 21:37:45 +02:00
Robin Gareus
daee40a013
License Manager be gone 2025-03-31 20:21:31 +02:00
Robin Gareus
6a647c422d
Commence work on actual RTA GUI 2025-03-31 20:20:10 +02:00
Robin Gareus
0508d8cc4d
Expose RTA in Route context menu 2025-03-31 20:20:10 +02:00
Robin Gareus
b41bc2cf95
Outline RTA Manager API 2025-03-31 20:20:10 +02:00
Robin Gareus
e12d8b3769
Add API to tap signal from a Delivery to RTA
Rater than having each Delivery Object provide a Ringbuffer,
which is unused most of the time, the GUI will provide
them on demand.

We need to be careful of lifetime, and use `rt_safe_delete` in
case the Delivery holds the last instance.
2025-03-31 20:20:09 +02:00
Robin Gareus
76ba840be0
Bootstrap RTA Window 2025-03-31 20:20:09 +02:00
Robin Gareus
6609ea1564
Micro-step toward unified FFT API 2025-03-31 20:20:09 +02:00
Robin Gareus
34f0ed991f
Include JAPA - Perceptual Analyzer DSP
Fons, how many bottles of red wine is this going to cost me?
2025-03-31 20:20:09 +02:00
Robin Gareus
2139349468
Use global FFT planner lock in GUI
This *should* not be needed since the GUI is single
threaded, but it doesn't hurt, just in case some
someday someone uses a background thread :)
2025-03-31 20:20:09 +02:00
Robin Gareus
9f9c775830
Use global lock to prevent concurrent FFT plan calls
Depending on fftw version, compile-flags and availability of
`fftwf_make_planner_thread_safe`  fftw_plan_* may not be
called concurrently (fftw internally uses a static cache).
2025-03-31 20:20:05 +02:00
Robin Gareus
1c9cb5152d
Fix region-gain curve example script 2025-03-31 16:47:32 +02:00
Robin Gareus
1f27dc81f9
Properly create LuaWindow (always use Window Manger)
Previously directly using Luawindow::instance() was able
to create the window, bypassing the Window Manager, this resulted
in two issues, the first being rather significant:

* `LuaWindow::set_session()` was not called
* The Window was not maked as visible in the Window menu
2025-03-29 01:52:53 +01:00
Robin Gareus
b98884a54c
Cancel audio peak analysis when destroying AudioRegionEditor
This speeds up selection changes when the Region Properties
are show in the bottom attachment and long regions are
selected.

The RegionEditor is destroyed when selection changes and has/had
to wait for the peak analysis thread to complete.
2025-03-27 17:21:52 +01:00
Paul Davis
8b389ee829 amend 365e3ef8e2 to be "more right"
NoteBase-derived note objects must delete their children, because
often they are deleted long before the parent (group) is. However,
in MidiView::clear_events() we used to call _note_group->clear (true)
first, which would delete the canvas items owned by these objects,
without them knowing about it. This made it dangerous for them
to delete those same items in their destructors.

This reverses the ordering so that NoteBase objects are deleted first
(along with their canvas items) and after that we clear _note_group
which will address any danging canvas items created there that are
not owned by a NoteBase-derived object
2025-03-25 14:49:49 -06:00
Paul Davis
ca96e004bf more robustification of Pianoroll::maybe_update() 2025-03-25 14:28:45 -06:00
Paul Davis
8f2dd46b40 fix menu definition file (again) 2025-03-25 14:10:49 -06:00
Paul Davis
78fea874f4 add action groups to ardour.menus.in for all relevant actions from Editing::register_common_actions() 2025-03-25 12:34:48 -06:00
Paul Davis
e4f6eb9190 remove debug output 2025-03-25 12:34:25 -06:00
Paul Davis
98428dfcad make Pianoroll::maybe_update() a bit more robust 2025-03-25 12:25:24 -06:00
Paul Davis
4ab6da354e ensure that the global Edit menu references the correct undo/redo actions 2025-03-25 12:25:08 -06:00
Paul Davis
f82a9bbdc3 YTK: fix non-namespaced handling of action names in GtkUIManager
GTK+ 2.x only looked up action *names* and ignored the namespacing offered by
action groups. This means that if there are two actions in different groups
with the same name, GtkUIManager may not find the one intended when it is
referenced in a menus definition file.

This commit changes that - if the action name contains a '/' character it is
assumed to contain both the action group name and the action name, and it will
only look for the action within the named group.
2025-03-25 12:22:32 -06:00
Paul Davis
f5d941f575 move playhead during (MIDI) clip recording 2025-03-25 11:17:05 -06:00
Paul Davis
535934dee9 manually revert 119166a17f with a tweak 2025-03-25 11:17:05 -06:00