13
0
Commit Graph

39313 Commits

Author SHA1 Message Date
8f5d6295b3
RegionFX: fix plugin cycle times 2024-08-18 00:54:09 +02:00
d8725ff3c8
RegionFX: fix crash when custom GUI thread sends change requests
This can happen with VST2s (e.g gvst) and some JUCE based plugins.
Previously that lead to a "programming error: no per-thread pool"
when the DR queues a overwrite buffer session-event.
2024-08-17 16:54:53 +02:00
76ee3339ac
RegionFX: fix variable I/O channel map 2024-08-17 16:47:53 +02:00
74a909e299
RegionFx: allow touch (for "show on touch") 2024-08-17 16:47:45 +02:00
d9752bb2c5
RegionFX: fix replicated channels 2024-08-17 16:47:38 +02:00
a2a9ceab92
RegionFX: actually activate plugin on load 2024-08-17 16:47:33 +02:00
15c7603fdd
Add API to query plugin tail duration
So far only VST3 plugins have an actual implementation.
2024-08-17 16:47:30 +02:00
b4fca7bc1c
Refactor API to allow VST2 plugins to callback to I/O and RegionFx 2024-08-17 16:47:26 +02:00
8c4819e588
AU: request offline processing 2024-08-17 16:47:21 +02:00
35cb60c2dc remove "auto-discover" buttom from Mackie GUI
It could never do anything useful anyway, and deadlocked due to bad
lock usage
2024-08-16 13:12:24 -06:00
95d1ae595a Normalize the name of the E-MU Xboard 61 map 2024-08-16 18:16:15 +02:00
d0994dbfcc
Remove debug message 2024-08-16 17:25:54 +02:00
2411a6a62d
Windows: unregister fonts on crash
This allows to cleanly un/reinstall Ardour after
a crash. Previously registered fonts remained in-use,
and uninstall could not remove the files.
2024-08-16 16:58:57 +02:00
d4b71a7777
VST3: correctly set offline processing 2024-08-15 15:03:42 +02:00
8a8ae7069e
Fix edge-case pre-roll required for looping
This is mainly for the benefit of Mixbus, where input_latency
is not propagated upwards from the master bus (no direct
connection).

In Ardour's case _worst_input_latency >= _worst_route_latency
unless a given track with latent plugin is not connected.

Previously looping became out of sync (normal playback was not
affected) when a track had a latent plugin.
2024-08-14 21:50:58 +02:00
803ff507ab Add MIDI map for Akai MPK mini mk3, contributed by Peter Zenk 2024-08-14 20:42:36 +02:00
1b6868f69c Rename the DDX3216 map to clarify who the vendor is 2024-08-14 20:18:14 +02:00
b55e94ced4
Fix crash when deleting route while creating a routegroup for it
This reverts 00e35c48b6. Modal dialog does not
allow to change the color of the RouteGroup. Interaction
with the colorpicker was not possible.

See also 0db79b8023
2024-08-13 21:08:04 +02:00
b501eaf43a
Fix undo when removing multiple regions on the same track 2024-08-13 03:07:39 +02:00
9f0b829cfb
Fix undo when ripple deleting a region (#9767) 2024-08-13 03:07:36 +02:00
3bdf378df3
Add some additional Lua bindings 2024-08-12 21:36:55 +02:00
58120f75d5
Add API to check if backend was used previously
This is backported from LiveTrax, yet potentially handy
for future auto-connect policy in Ardour as well.
2024-08-12 21:26:42 +02:00
84506a041c
Move Mute automation with region(s) #9762
Mute and Panner are the only automatable Route owned controls
(that are not managed by a processor). So they need special
casing to be moved when moving a region.
2024-08-09 16:03:39 +02:00
550b38fb00 preliminary change to avoid unnecessary stuff happening when track drags do not reorder 2024-08-08 18:46:41 -06:00
c4224b2a5a
Fix x-alignment of velocity lollis for Percussive Events 2024-08-08 21:35:46 +02:00
c07c865b1d
Correctly mark Lollipops for Percussive events as hits 2024-08-08 21:35:00 +02:00
21610015ed make sure SelectionRemove case is handled for selection ops
Also fix formatting for switch/case statements
2024-08-06 17:36:35 -06:00
15912fea77
Remove outdated monitor-modes PDF, refer to the manual 2024-08-07 01:16:57 +02:00
b121ee157e
Update Auto-Input meter policy
This replaces rule #17, 27, 43 and 59 on
https://manual.ardour.org/appendix/monitor-modes/

"Meter (What you see)" changes to 'Disk (Audio)'
aka "what you hear" in those cases.

This way "what you see" is always "what you hear".
Monitoring inputs is more conveniently done using
the Recorder Page.
2024-08-07 01:15:50 +02:00
76b25163bd
Fix YTK filemanager recently-used (Windows, macOS)
g_get_user_data_dir() folder does not exist on macOS
compare to gtkfilechoosersettings.c which creates
g_get_user_config_dir().
2024-08-06 20:51:56 +02:00
558e32e639
VST3: handle offline FX processing callbacks
This fixes potential deadlocks, when not using rt
process threads.
2024-08-06 20:51:55 +02:00
3f1486fa12 coreselection: fix thinko
The core selection can be (a) stripables (b) automation controls (c) possibly a combination of both

Any given selection op might pass (a) or (b) or (c), so we need to handle the
case where (a) is null.
2024-08-05 20:14:28 -06:00
c2bf45a033
Fix triggerbox cues when looping
This correctly handles the case when a cue marker is at the
same position as loop-end. Previously the cue was triggered
even though transport looped
2024-08-03 20:21:53 +02:00
dc5753118c
Fix LTC TC master for incoming 30fps LTC
By default timecode.rate = 30. When 30fps LTC is received,
::detect_ltc_fps() never returned true (FPS changed), and
the TransportMaster never entered "locked" stage.
2024-08-02 23:29:13 +02:00
460ecadc00
Significantly speed up building region bounday cache 2024-08-02 20:08:51 +02:00
533f4a61f6
Remove unused variable 2024-08-02 20:08:51 +02:00
a06e519296 GUI code changes to follow new CoreSelection API
This removes ::add_grouped_tracks() from Editor selection and
RouteProcessorSelection, since adding grouped stripables is now
a CoreSelection function, and should not be attempted by UI-side
elements
2024-08-02 11:50:21 -06:00
b21dd1212e redesign API and internals of CoreSelection for more universality
We now have two basic methods for CoreSelection

* when selecting a stripable, use ::select_stripable_and_maybe_group() with
  appropriate arguments to cover the group selection aspects.

* when selecting an automation control that is part of a stripable, call
  ::select_stripable_with_control()

The old, more simply named methods (set/add/toggle etc.) have all been
made private, and their internal implementations changed somewhat.

This commit includes changes to control surfaces that use CoreSelection directly.
2024-08-02 11:50:21 -06:00
af5c99dd05 move definition of selection operations in to ARDOUR namespace
This is a rare commit that I think should be done for GUI and libs at the same time
2024-08-02 11:50:21 -06:00
0f4fb04344
Prevent crash when dragging notes near 1|0|0
When moving the mouse fast it can happen that the resulting
position (note_qn + dx) becomes negative. Which causes
tempo-map ramp calculations to fail and the application aborts.
2024-08-02 17:53:26 +02:00
5d02970de8
Clarify new session dirty state
New unnamed sessions need to remain dirty so that the GUI
asks to save or delete the session.
2024-08-01 23:26:57 +02:00
2a5b5a8b0e in the case of a missing theme file, fall back to 'dark' 2024-08-01 12:43:07 -05:00
03971be30d tweak MMC behavior: ffwd should start rolling immediately; but disallow ffwd during active recording 2024-08-01 12:34:58 -05:00
ff9a55df97 add a preference for MMC FastWind which allows skipping to markers 2024-08-01 12:34:58 -05:00
59e50c0e16
Better version of 1471950e (Note-drag dx) 2024-08-01 19:17:05 +02:00
1471950e24
Fix dragging MIDI events when using a tempo-map
This keeps mouse pointer and the dragged note in sync.
See also https://discourse.ardour.org/t/110511
2024-08-01 19:03:01 +02:00
d4227b6ca4 add actions for region lock/unlock (from Mark Knoop < mark@opus11.net> 2024-07-31 22:38:45 -06:00
170bc45de9
Sort MIDI Ports by human readable name in connection matrix
This is mainly for the benefit of CoreMIDI where MIDI
ports are identified by kMIDIPropertyUniqueID and ALSA
where Ardour uses a unique hash for persistent names.
2024-07-31 17:38:40 +02:00
cb34845498
Rename JACK to "JACK/Pipewire" on Linux (2/2) 2024-07-31 04:44:04 +02:00
a76b2ed1bb
Rename JACK to "JACK/Pipewire" on Linux (1/2) 2024-07-31 04:38:01 +02:00