Commit Graph

38475 Commits

Author SHA1 Message Date
Robin Gareus 49abbe5777
RhythmFerret: fix heap-use-after-free
After splitting regions, the AudioRegionView of the original
Region no longer exists when the RhythmFerret calls
`clear_transients()` at the end.
2023-10-31 04:31:08 +01:00
Robin Gareus eebc902564
Auditioner: fix stuck notes when auditioning different files
The MIDI Buffer is cleared when starting to process,
the panic message never made it to the plugin.
2023-10-31 02:17:05 +01:00
Robin Gareus 560885b7da
Do not automatically set `font-size` on macOS
freetype on macOS does not scale fonts, font-scale and ui_scale
have to remain at 100% otherwise other UI elements change size
while the font does not.
2023-10-30 21:52:43 +01:00
Robin Gareus 870172611f
Update message for relocated preference 2023-10-29 02:40:57 +01:00
Martin Vlk 562a6335de
Czech translation updates. 2023-10-29 02:41:18 +02:00
Paul Davis 638509738d launchpads: edge buttons are supposed to use CC not note messages
Apparently the LP Pro responds to either, but the LP X does not
2023-10-28 17:48:33 -06:00
Paul Davis d5a7e5f289 pass vectors for velocities by reference 2023-10-28 17:48:33 -06:00
Robin Gareus 49426a602f
Console1: Clean up previous commit 2023-10-28 23:04:39 +02:00
Holger Dehnhardt 03e3546422
Clean init process to prevent exceptions 2023-10-28 22:59:39 +02:00
Robin Gareus 828d45c6fa
Disambiguate In/Out etc for translations (2/2) #9512 2023-10-28 14:46:04 +02:00
Robin Gareus e22415f0ce
Disambiguate In/Out for translations (1/2) #9512 2023-10-28 14:45:33 +02:00
Paul Davis 4ea676b855 lollipops: try to make sure we use the right velocity when setting lolli heights (dragging vs. not dragging 2023-10-27 14:11:47 -06:00
Robin Gareus bec4344546
Console1: leave some TODO notes for later 2023-10-27 21:23:33 +02:00
Robin Gareus a5aff68053
Console1: remove unused dependencies 2023-10-27 21:23:33 +02:00
Robin Gareus 5cad7837fa
Console1: fix compiler warnings
For reasons unknown only the console1.h produces
 -Winconsistent-missing-override
warnings, other similar headers e.g. lppro.h do not.
2023-10-27 21:23:28 +02:00
Paul Davis ef0938a16d more improvements to velocity drawing (including straight line) 2023-10-27 11:50:15 -06:00
Paul Davis 91fbb1c65b first steps towards improving straight line drags for velocity 2023-10-27 11:50:15 -06:00
Robin Gareus 68f55d62d0
Console1: cleanup, fix event loop initialization 2023-10-27 17:12:30 +02:00
Robin Gareus c7eb410d0b Make Xcode output readable again 2023-10-27 15:12:49 +02:00
Robin Gareus cd5369c7cd
Unload VST3 modules when closing session
This is perhaps a better solution than b8551eed7e
and 8d0a655608 and 7942897d93. It is certainly less
fragile.

It is more consistent with other plugin standards,
where modules are closed with the last instance in a session.

Then again keeping the VST3 factory around is beneficial
when switching snapshots.

Discuss, and let's watch for issues when re-loading a
previously unloaded VST3 module.
2023-10-27 04:46:38 +02:00
Robin Gareus b8551eed7e
Properly unload VST3 plugins
The InstrumentSelector keeps a PluginPtr reference to all
instruments. By default Ardour does not destroy the editor
at exit, So 3 instances of Instrument Selector can remain

 * TriggerClipPicker in the editor sidebar (owned by _editor)
 * TriggerClipPicker on the TriggerPage (owned by trigger_page)
 * SoundFileOmega (sfbrowser owned by Editor)

If a shared_ptr reference is retained, VST3 Module is not
unloaded at exit. This leads to issues with various plugins.
eg. Reason Rack does not terminate, Ardour hangs at exit.
2023-10-27 00:39:03 +02:00
Robin Gareus 49124ab987
Console1: properly shut down 2023-10-26 21:53:27 +02:00
Robin Gareus 61ec873481
Console1: another attempt to fix uncaught exeptions 2023-10-26 21:37:28 +02:00
Robin Gareus 85d9e333c9
Revert "Console1: catch some more uncaught exceptions"
This reverts commit 99e2546477.
2023-10-26 21:21:01 +02:00
Robin Gareus 53e24168b6
Partially revert "Clean init process to prevent exceptions"
This reverts commit 94fec7fd8a
except whitespace and intent changes as per discussion on
https://github.com/Ardour/ardour/pull/834
2023-10-26 21:20:06 +02:00
Robin Gareus afc6c060a8
WebSockets: remove unsued variable after f34ce17bf0 2023-10-26 21:06:25 +02:00
Robin Gareus 830910c787
Region list columns do not use property_markup
This fixes an issue with frozen region "<F1>Foo" being
displayed as "&lt;F1&lt;Foo" in the sidebar.
2023-10-26 05:46:11 +02:00
Alexandre Prokoudine d5c62fe2b9 Add Alexander Mitchell to the list of authors 2023-10-26 03:48:07 +02:00
Robin Gareus b139bfdb88
VST3: add debug messages to trace ModuleExit 2023-10-25 00:37:03 +02:00
Paul Davis f34ce17bf0 websocket: event loop names and thread/evloop pairs are set in BaseUI::main_thread()
There is no thread when an AbstractUI<T> is constructed. The event loop name and the
association between the event loop object and the thread that "runs" it must be
set from within the thread, which is not created until BaseUI::run() is called.

There appears to have been some confusion in e3569b64 about how this
all works; this commit should remove that
2023-10-24 16:26:50 -06:00
Hoger Dehnhardt 94fec7fd8a
Clean init process to prevent exceptions 2023-10-24 23:11:05 +02:00
Robin Gareus 1dbc3305fa
WebSockets: fix crash when switching snapshots #9506 2023-10-24 23:05:46 +02:00
Paul Davis e0f543d8fb launchpad X: buttton/pad cleanup from the pro code
Edge button lighting is still not functional
2023-10-23 23:20:00 -06:00
Paul Davis 499912b07d get Launchpad X port names in the right order
Unlike the LP Pro, the "DAW" port comes first, not last
2023-10-23 17:45:41 -06:00
Paul Davis ea02c49856 a better solution for the problem being addressed in b40513ff7 2023-10-22 17:31:29 -06:00
Paul Davis a5a1caf9fa NOOP: whitespace changes 2023-10-22 17:15:20 -06:00
Paul Davis 8f405f3657 provide preference for scrolling-adjusts-note-velocity 2023-10-22 17:15:20 -06:00
Paul Davis b40513ff7d temporal: workaround (perhaps temporary) for rounding issues in ::midi_clock_beat_at_or_after() 2023-10-22 17:15:20 -06:00
Paul Davis 4228fce86b temporal: minor optimization for TempoMap::{tempo,meter}_at() to cover common case 2023-10-22 17:15:20 -06:00
Robin Gareus 671e0b356b
Add Lua script to sequence mixer-scenes using markers 2023-10-22 16:44:44 +02:00
Robin Gareus d5d730ef8c
NO-OP: move implementation out of header file
This is in preparation to test directly flushing insert/send
buffers after Delivery::run like Ardour 7.4 to 8.0 does
see also 44a2ef9098
2023-10-22 00:17:08 +02:00
Robin Gareus a59e64f1d8
Catch XDG_CONFIG_HOME is not an absolute path
see https://discourse.ardour.org/t/glib-converterror-arch-linux/109362
2023-10-22 00:14:24 +02:00
Robin Gareus 711668267a
Clarify toolbar widget preference
PDC toolbar widget is not just showing information,
but also interactive.
2023-10-21 18:08:52 +02:00
Robin Gareus a7145661bc
NO-OP: cleanup after 44a2ef909 2023-10-21 15:40:12 +02:00
Paul Davis 4ca457bb9e use launchpad x icon 2023-10-19 23:46:58 -06:00
Paul Davis b0871f50b8 an icon image for the launchpad x 2023-10-19 23:41:57 -06:00
Paul Davis 98ff1307bf ardev and waf tweaks for launchpad X 2023-10-19 22:19:23 -06:00
Paul Davis 3e34229b9f initial launchpad X exploration, using copy-n-edit of launchpad pro code 2023-10-19 22:19:23 -06:00
Robin Gareus 99e2546477
Console1: catch some more uncaught exceptions 2023-10-19 23:46:43 +02:00
Robin Gareus 8f5df7ed28
Fix console1 crashes when no surface is present
e.g. selecting a track causes a ControlNotFoundException
if the ctrl surface is enabled, but no hardware is connected.

terminate called after throwing an instance of 'ArdourSurface::ControlNotFoundExceptio

```
#0  0x00007ffff14d8c2e in __cxa_throw () at /lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00007fffe2b560a0 in ArdourSurface::Console1::get_button(ArdourSurface::Console1::ControllerID) const (this=0x61d0017e1c80, id=ArdourSurface::Console1::FOCUS1)
    at ../libs/surfaces/console1/console1.cc:928
#2  0x00007fffe2bfc647 in ArdourSurface::Console1::map_select() (this=0x61d0017e1c80) at ../libs/surfaces/console1/c1_operations.cc:653
#3  0x00007fffe2b55384 in ArdourSurface::Console1::map_stripable_state() (this=0x61d0017e1c80) at ../libs/surfaces/console1/console1.cc:832
#4  0x00007fffe2b541ab in ArdourSurface::Console1::set_current_stripable(std::shared_ptr<ARDOUR::Stripable>)
...
```

This does at least fix the crash. Ideally the surface would
only be enabled if there is hardware present.
2023-10-19 21:58:28 +02:00