13
0
Commit Graph

21167 Commits

Author SHA1 Message Date
Attila M. Magyar
e1ef129ab0 VST2: store VstMidiEvents with the correct size
...otherwise MidiBuffer::push_back() will drop them. (E.g.
MIDI_CMD_CHANNEL_PRESSURE events are just 2 bytes, not 3.)
2024-06-30 22:47:38 +02:00
Attila M. Magyar
5360ba0000 VST3: store kAfterTouch events with the correct size
...otherwise MidiBuffer::push_back() will drop them.
2024-06-30 13:11:53 +02:00
41b6c8a5bf fix previous commit (typo) 2024-06-27 16:51:16 -06:00
8efab1c796 fix handling of MIDI controller MSB & LSB values
The MIDI specification makes it quite clear that when a receiver
receives the MSB of a 14 bit controller value, it should consider
the LSB reset to zero. This has been an error in Ardour for many,
many years, though likely of little consequence
2024-06-27 16:42:00 -06:00
da520cecf3
Yet another attempt at gcc-14 lstat/realpath (#9703 PR #893)
See also 4b8b5acfc4 and realpath(3)

```
realpath():
   _XOPEN_SOURCE >= 500
       || /* Glibc since 2.19: */ _DEFAULT_SOURCE
       || /* Glibc versions <= 2.19: */ _BSD_SOURCE
```
2024-06-27 17:01:46 +02:00
2e23ec4422
Use RCU to for IO::_ports (#9730) 1/2
This removes the _io_lock in favor of a RCU.
The reason for this change is to ensure data structure
consistency, notably iterators. Previously adding/removing
ports invalidated iterators, which caused [rare] crashes,
since IO::ports() simply returned a PortSet reference.

(This breaks API)
2024-06-24 22:19:22 +02:00
c94ca79798 provide access to the trace parser (if any) for a MidiPort 2024-06-21 20:31:29 -06:00
bbcaf617c4 async MIDI ports run output trace parser scanner if there is one 2024-06-21 15:46:59 -06:00
af9472ecb6 fix naming of MIDI scene changes
Or at least make the arithmetic precedence clearer
2024-06-21 15:46:59 -06:00
d7f9b659f2 slightly improve mgmt of shared_ptr<MIDISceneChange> 2024-06-21 15:46:59 -06:00
f54fd286ee MIDI scene changes should use bank 0 if no bank msg has been seen 2024-06-21 15:46:59 -06:00
10cd3c85cd when delivering a MIDI scene change, ensure trace parser sees the data 2024-06-21 15:46:59 -06:00
a0da78d8c5
VST3: do not expose hidden parameters as automatable 2024-06-20 16:32:53 +02:00
3efe7ff056
Special case DPF VST3 MIDI CC Ports (similar to JUCE) 2024-06-20 16:32:31 +02:00
d2fdd72bc4
Constrain gain-control range (notably trim) 2024-06-20 01:01:11 +02:00
e15c337f57
Fix crash (invalid Track Drag) when starting automation value edit
When double-clicking to edit a fader value three button press
events are created:
1. GDK_BUTTON_PRESS
2. GDK_BUTTON_PRESS
3. GDK_2BUTTON_PRESS

The first two start an Editor Drag, which later crashes in
Editor::mid_track_drag() gtk2_ardour/editor.cc:7067
2024-06-17 19:55:08 +02:00
1e5a5b6b4f do not have MIDI input follow selection when recording 2024-06-15 14:01:36 -06:00
0847dc8a37 when disconnecting a MIDI port for follows-selection, get ALL connections
without the 3rd argument, we only get information about ports that we own.
2024-06-14 22:17:41 -06:00
cf58a157e3 extend PortManager API to include 3rd argument used by backend get_connections()
Value is defaulted so this does not change behavior at all
2024-06-14 22:17:30 -06:00
dbaead18bd
Prevent locate while recording 2024-06-14 15:43:03 +02:00
1e491591c3
VST3: move runloop into backend (3/3) - old remove API 2024-06-13 21:36:06 +02:00
816860e0f5
VST3: move runloop into backend (1/3) 2024-06-13 21:35:51 +02:00
698ad071b7
VST3: prepare to provide a runloop to IAudioProcessor
Currently _run_loop is NULL (which is valid) until the
GUI is opened at least once. Next step is to move
the [static] runloop into libpbd.
2024-06-13 17:00:38 +02:00
b142fc4410
NO-OP: clarify maths 2024-06-12 18:30:01 +02:00
827be736ae
Convert rec-enable of old sessions 2024-06-11 23:57:13 +02:00
66ef68d46a
amend 16fb29d57 (ADM content creation) 2024-06-10 20:49:02 +02:00
acb5feec4a
Show master bus comment on session load #9718 2024-06-09 01:29:00 +02:00
0a01acc86a add optional Location::Flags argument to Locations::mark_at
If specified, we will only return a mark whose flags match those passed in
2024-06-07 22:19:44 -06:00
8a145c3bc1
Fix Wsign-compare 2024-06-06 22:52:30 +02:00
1dd7d2af1f sort of NO-OP: follow if/return coding guidelines 2024-06-05 16:38:00 -06:00
0fc5b49d9f
build fix for mac 2024-06-05 02:02:12 +02:00
b9bca313d2
CoreMIDI: fix crash when receiving long MIDI messages
CoreMidiIo::recv_event imposes a limit of 1024 bytes/packet.
2024-06-04 16:43:20 +02:00
3dd8b930e4 fix paste error 2024-06-03 17:24:36 -06:00
144fe5b08a fix issues with the length of captured MIDI regions when there are tempo changes present 2024-06-03 17:23:46 -06:00
40ef5f3b15
Fix repeat of stem-export of stereo channels
Restoring the export profile state previously added a new
Export Processor for each state for each channel to the same
route.

This fixes silent stem export channels after an initial
correct stem export (which saves ExportChannelConfiguration)
2024-06-03 22:26:09 +02:00
ecf5f9b1d7 remove unused global static variable 2024-06-01 09:02:32 -06:00
949b4d4017 fix reversed logic in test of Delivery::set_name()
Note that the Delivery::set_name() method worked correctly, but
the Route::set_name() method would return false incorrectly. This
appears to have no consequences.
2024-06-01 07:56:42 -06:00
4a99a40afd
Add options to create and locate to scene markers 2024-05-31 18:21:21 +02:00
69d63bac92 do not plot ruler marks that are left of the current (scroll-adjusted) canvas edge 2024-05-29 14:13:47 -06:00
1f35010713 extend libardour API to include possible flags when searching for prev/next mark 2024-05-28 22:07:13 -06:00
1cd78c94d3
Improve doxygen's main page, add references 2024-05-28 01:00:42 +02:00
ab62177bdf
Fix incomplete doxygen doc (libardour) 2024-05-27 22:21:57 +02:00
e317d75b17
Fix YTK doxygen errors 2024-05-27 22:21:29 +02:00
fd96694a21
Fix various doxgen errors in YTK
This is about half of the reported errors, then my patience
ran out. More later
2024-05-27 00:43:04 +02:00
5a52b66dfa
Remove unsupported xml/html tag <inlinegraphic> 2024-05-26 23:45:31 +02:00
76beb21862
Remove non-standard @newin doxygen token
We are not interested in which version a given GTK method
was added.
2024-05-26 23:39:04 +02:00
03689d8070
Remove/fix unused namespace [forward] declarations (2/x) 2024-05-26 16:46:39 +02:00
8f3794f0ca
Remove unused CubicInterpolation 2024-05-26 05:37:05 +02:00
5b746b186a
Be more strict about possible track/route names
The GUI `RouteUI::verify_new_route_name` checks for colons.
This left the session vulnerable, from calling set_name
from other places (e.g. ctrl surfaces).
2024-05-26 00:13:40 +02:00
4a14f2fed5
Fix track renaming, ensure unique name
Track::set_name first set the disk-i/o name before calling
Route::set_name (which calls ensure_track_or_route_name).
2024-05-25 23:51:39 +02:00