Robin Gareus
4c8b414fb6
Allow to numeric ctrl point edit to apply to all selected points
2023-07-11 00:53:48 +02:00
Paul Davis
ac68fcb880
automation drawing: fix right-to-left free drawing
2023-07-10 14:39:23 -06:00
Paul Davis
f6f1f3393d
automation drawing: fatter line
2023-07-10 14:38:58 -06:00
Paul Davis
d12aa315fc
automation drawn: ensure the right-to-left drawn lines are ordered correctly
2023-07-10 14:23:39 -06:00
Paul Davis
459659d229
ControlList: do not handle mis-ordered OrderedPoints
2023-07-10 14:23:17 -06:00
Paul Davis
9c590c1ed1
syntactic tweak
2023-07-10 14:17:10 -06:00
Paul Davis
9d5b6a78d5
automation drawing: better line color
2023-07-10 14:16:59 -06:00
Paul Davis
64dc7557cf
automation drawing: some code cleanup and thinko fixes for ::editor_add_ordered()
2023-07-10 14:05:27 -06:00
Paul Davis
25d17e857f
when free-drawing straight lines, allow retrograde motion
2023-07-10 13:42:25 -06:00
Paul Davis
57167dafbe
use configurable thinning factor, not a hard-coded constant
2023-07-10 13:42:06 -06:00
Paul Davis
67d9fa885a
use mid-drag key events to allow Alt to force a line break
2023-07-10 12:22:16 -06:00
Paul Davis
a14c534d16
dragging: add possibility of handling key events mid-drag
...
Currently only called from a canvas automation track event handler.
2023-07-10 12:21:27 -06:00
Paul Davis
6453049c0a
automation drawing: add point at grab start & use new ControlList API for speed
2023-07-10 11:20:47 -06:00
Paul Davis
45b02538e6
Evoral: extend ControlList API with ::editor_ordered_points()
...
Much more efficient than adding points 1 by 1
2023-07-10 11:20:47 -06:00
Robin Gareus
76ba032d3c
Fix creating session from template
...
bug was introduced in a36ddb72dd
2023-07-10 16:47:00 +02:00
Paul Davis
7f653de3e2
automation drawing: don't draw staircases when there are no staircases
2023-07-09 22:14:38 -06:00
Paul Davis
c584bfd374
automation drawing: thinning does not work well with snapped-drawn lines
...
Also, adding points to a ControlList can fail and that's OK
2023-07-09 22:10:18 -06:00
Paul Davis
caa278ae55
fix reverse drags and a compiler warning
...
Not quite sure what to do if we fail to add a point, yet
2023-07-09 21:01:22 -06:00
Paul Davis
0a0a882f5a
snapping, straight lines, and merge drawn points to list for auto draw
2023-07-09 20:42:09 -06:00
Paul Davis
de67226c90
provide PolyItem::pop_back()
2023-07-09 20:41:36 -06:00
Paul Davis
e0c24f5bcf
automation drawing: stay in your lane and keep moving in the same direction
2023-07-09 18:12:08 -06:00
Paul Davis
86d5e2472c
automation drawing: we have the squiggly
2023-07-09 17:39:32 -06:00
Paul Davis
78bca64a81
fix (and maybe break) two Drag classes that used the wrong name for setup_pointer_offset()
...
This might have unexplored consequences
2023-07-09 17:39:11 -06:00
Paul Davis
6743c09b4a
change return type from ptr to reference for AutomationTimeAxis::base_item()
2023-07-09 17:37:22 -06:00
Paul Davis
94f413c399
basic empty skeleton for automation draw drag
2023-07-09 16:33:16 -06:00
Paul Davis
0c8fd48d6f
velocity lane: appropriately hide automation controls until we have line automation
2023-07-08 17:18:14 -06:00
Paul Davis
1c54f0e4c0
handle MidiVelocityAutomation in the event type map code
2023-07-08 16:36:50 -06:00
Paul Davis
3b1d4d8fa6
midi: fix playback of notes the start at playhead position (#9398/#9410)
...
The diskreader uses the route's monitoring state when deciding whether or not
to fetch MIDI data for playback. Route::monitoring_state() would determine
whether or not we were already rolling to affect its return value. However,
using Session::transport_rolling() is affected by pre-roll and consequently
returns the wrong value during transport startup. Instead, we now use
::transport_state_rolling() which ignores preroll conditions. This leads to the
DR actually reading MIDI data from the initial playback position, which fixes
this issue.
Note that the bug only occured if the track or the session was rec-enabled. The
monitoring state value was always correct for non-rec-enabled conditions.
2023-07-08 15:25:32 -06:00
Robin Gareus
920a6a46c3
VST3: work around UADx crash when in mono configuration
...
When using a UADx plugin on a Mono track in Ardour, the plugin
is configured to be Mono. by calling `setBusArrangements`.
The call succeeds and querying the Bus layout via `getBusArrangement`
as suggested by https://steinbergmedia.github.io/vst3_doc/vstinterfaces/classSteinberg_1_1Vst_1_1IAudioProcessor.html#ad3bc7bac3fd3b194122669be2a1ecc42
confirms this. The plugin acknowledges the speaker layout
for both input and output (Vst::SpeakerArr::kMono = 0x80000)
```
Input BusArrangements: 0 chan: 1 bits: 80000
Output BusArrangements: 0 chan: 1 bits: 80000
```
but UADx plugins crash later during process() if any of the lower
bits are unset and the bus is enabled.
PS. The plugin does NOT crash as long as a lower bit
(Vst::SpeakerArr::kSpeakerL or ::kSpeakerR) remains set
in addition to kMono.
2023-07-07 21:32:59 +02:00
CardamomCake
4fc3bd88aa
Add MIDI map for Devine_Versakey
2023-07-06 23:54:38 +02:00
Robin Gareus
e23cfe2942
Add ACE Stereo Routing
2023-07-06 00:27:30 +02:00
Robin Gareus
2a1d4ffce9
Add note about LuaSignal for windows
2023-07-05 19:38:51 +02:00
Robin Gareus
883a83aca2
Fix windows builds (Lua signal bitset 9b8040a9f4
)
2023-07-05 19:36:25 +02:00
Robin Gareus
d01dbcba83
Update minimp3
...
based on afb604c06b/minimp3.h
This reapplies be4bdb5365
.
2023-07-05 18:05:33 +02:00
Robin Gareus
538bb73f99
Add example selection-changed Lua script
2023-07-04 21:21:07 +02:00
Robin Gareus
9b8040a9f4
Add Lua signal emitted when editor selection changed
2023-07-04 21:13:52 +02:00
Robin Gareus
efed61af44
Amend d899441df1
, fix duplicate device map entries
2023-07-03 19:57:55 +02:00
Robin Gareus
b757dd9fd8
Vertically center markers
...
see also 64d633cd26
2023-07-03 18:35:56 +02:00
Robin Gareus
771cc4581e
LuaProc: use effective sample-rate, like other plugin instances
2023-07-03 00:31:21 +02:00
Robin Gareus
a36ddb72dd
Correctly set sample-rate of plugins when loading a different session
...
Directly loading a new session (Session > Recent) stops the engine
when the sample-rate mismatches. All is fine.
When closing a session (Session > Close), the engine is kept running.
Loading a different session with different sample-rate shows
the "SR mismatch" dialog. Reconfiguring the engine then does not call
`Session::immediately_post_engine` again.
2023-07-03 00:13:20 +02:00
Robin Gareus
7e121f4e13
Fix alloc-dealloc-mismatch (malloc vs operator delete)
2023-07-02 23:54:16 +02:00
Robin Gareus
168b67bd17
Allow to initiate Rubberband-drag on blank Trackview
2023-07-02 21:19:46 +02:00
Robin Gareus
1f4490fff9
Allow to select region-gain points via rubber-band drag
2023-07-02 20:47:41 +02:00
Paul Davis
64d633cd26
amend/fix b490f7d2a1
to correctly (?) place marker text
2023-07-01 21:07:25 -06:00
Paul Davis
3be6ae57ba
gtkmm2ext: provide an additional ink extents method to get descender
2023-07-01 21:07:25 -06:00
Robin Gareus
d899441df1
ALSA: disambiguate multiple soundcards with the same name
2023-07-02 00:17:58 +02:00
Paul Davis
d688af76c0
clean up mapping bar context menu, extend with clear tempos
2023-06-30 15:50:47 -06:00
Paul Davis
20e1b6b287
temporal: add API to clear tempos in various ways
2023-06-30 15:50:25 -06:00
Paul Davis
a8c2585cdc
remove AudioEngine::destroy() calls from various test/util code
...
ARDOUR::cleanup() does this, and the engine must exist during port deregistration.
2023-06-30 12:58:43 -06:00
Paul Davis
bfa13ad714
temporal: reference time for BBT_Argument is always superclocks (GUI)
2023-06-30 12:10:50 -06:00