Commit Graph

38495 Commits

Author SHA1 Message Date
Paul Davis 673e41434e add image for launchpad mini 2023-11-04 15:13:01 -06:00
Paul Davis 9240b96bea reduce default size of lollis and make them scale with the UI scale factor 2023-11-04 12:27:55 -06:00
Paul Davis 3fc126b891 launchpads: add namespacing to make 1-source-2-surfaces work for X and Mini 2023-11-04 09:30:26 -06:00
Paul Davis 9b511ce973 launchpad: work on a single implementation for both Mini and X devices
This is not complete, because the symol names are identical, and there's no way (yet)
to ensure which versions Ardour will use if both are dynamically loaded.
2023-11-04 09:30:26 -06:00
Robin Gareus a038ac1fb6
Fix Subsequent_37 MIDNAM
PatchNameList is required
2023-11-04 11:20:08 +01:00
Paul Davis cd29e03c05 selection dragging: use time domain given to drag, not editor default 2023-11-03 15:11:38 -06:00
Paul Davis c4f8c84a75 region: in definition of ::end() use a slightly faster but entirely equivalent expression 2023-11-03 15:11:38 -06:00
Paul Davis 7d0b223330 region: end().decrement() IS nt_last(), so remove the explicit decrement call 2023-11-03 15:11:38 -06:00
Paul Davis 1b76e90246 when drawing range selection rect, use exclusive end semantics 2023-11-03 15:11:38 -06:00
Paul Davis d309ab31e8 playlist partition_internal() uses exclusive end semantics
Do not pass "end-1" to it from Playlist::cut()
2023-11-03 15:11:38 -06:00
Robin Gareus b27c804a7c
Prevent duplicate entries in recent session
This can happen with snapshots or after save-as with
.ardour session files having different "Names" in the same path.

Or simply by saving a session on macOS in /tmp (which is really
/private/tmp).
2023-11-01 23:17:47 +01:00
Paul Davis 53ad83c91c some extra debugging output for MerryIO to try to produce 2023-11-01 00:25:51 -06:00
Robin Gareus a57076d203
Fix MIDI input monitoring without connections
This was seemingly accidentally committed in 07d7e0bf54.
MIDI Monitoring works now with MIDI devices that are not
connected to a Track or Bus.
2023-10-31 22:35:05 +01:00
Robin Gareus 7664b15617
Fix build, amend previous commit 2023-10-31 20:25:18 +01:00
Robin Gareus c162aa7aca
Consistently use context-menu button action
This fixes an issue where brining up a menu can directly activate an
action in the menu. Notably on macOS.

Nathan reports that this may also address #9515

Note: mac touchpads are not affected since right-click there is
effectively a "press and hold".
2023-10-31 20:16:23 +01:00
Paul Davis 43c5f0ab46 launchpad X: 98% functionality 2023-10-31 09:56:40 -06:00
Paul Davis dec9282110 midisurface: use correct virtual method for note off
This likely needs checking for all surfaces that inherit from MidiSurface. It is clearly
the correct thing to have in the code, but existing behavior might be predicated on
the former incorrect connection
2023-10-31 09:56:40 -06:00
Paul Davis f45aec903b launchpad X: better general code design for Novation's use model 2023-10-31 09:56:40 -06:00
Paul Davis e9858773ca launchpad X: change design of fader bank implementation to match the X way (not the Pro way) 2023-10-31 09:56:40 -06:00
Robin Gareus 6dd1ad24ab
IOPlug: implement reset to default values 2023-10-31 07:41:23 +01:00
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