13
0
Commit Graph

39210 Commits

Author SHA1 Message Date
4212e23e77 make "modified-with" a session member 2024-07-11 19:10:13 -06:00
9b1a56febf Add guard points when drawing freehand automation 2024-07-12 00:48:14 +02:00
5a647cd84a Fix guard point logic for editor_add_ordered API.
Previously the code was too simple and potentially added points out of
order, leading to automation jumping back in time.
2024-07-12 00:45:37 +02:00
cooltehno
a1d317be98
Create captain_light-ardour.colors
Hello Paul, Robin! Maybe you will be interested in new "Captain Light" theme! :)
https://vimeo.com/977749209
2024-07-11 23:09:32 +02:00
Edgar Aichinger
0f654ebde4
update german translation 2024-07-11 23:04:34 +02:00
fa6fbbf810
Fix ctrl surface shutdown sequence
Tear down GUI before stopping event loop, this fixes
a crash on windows (and perhaps a rare crash on other OS).
2024-07-11 19:19:21 +02:00
676b372ac5
FP8: tear down GUI before terminating event loop
This fixes an issue on Windows, where UI::run can dispatch
a signal that ends up via cross-thread channel at the surfaces'
BaseUI::request_handler. causing a segfault.
2024-07-11 18:10:39 +02:00
c3d90f415c
Fix fader/trim automation after locate
First see 31c6f66d9b and 5cb6e1046b.

It worked previously due to `AutomationControl::get_value`
evaluating automation, which was removed in 5cb6e1046b
in favor of properly using latency compensated evaluation.

However due to 31c6f66d9b, fader and trim automation were
never evaluated on locate, only during playback via
`Amp::setup_gain_automation`.

This fixes a case where gain is incorrect after a locate.
The amp still has the gain from before the locate, and when starting
playback ramps to the new gain.
2024-07-10 19:26:02 +02:00
ab0d2dce6f
Fix reduced channelcount when restarting engine with different device
1. Start engine with a stereo soundcard (n_inputs was set to 2)
2. Restart engine with multi-channel soundcard, n_inputs remained a 2)
2024-07-10 15:39:01 +02:00
d6b14e761b
Remove unused backend channel count config API 2024-07-10 15:39:01 +02:00
a54a6c40a4
Prepare for API removal
`set_input/output_channels` API to limit a device to the first
`N` chnanels is somewhat ill conveived and was never really
used or useful. LiveTrax has a bitset of exposed channels,
which makes a lot more sense (e.g. hide ADAT or S/Pdif, or
some specific channels)
2024-07-10 15:39:01 +02:00
249442fe99 JACK backend: fix race condition caused by not wrapping jack_set_property() in JACK_SERVER_CALL 2024-07-09 10:14:39 -06:00
7052f57ee9 no drag-n-drop for VCA masters, since they are intended to be non-reorderable 2024-07-03 18:48:39 -06:00
78ea2521b0 fix previous commit to Kurzweil K2700 MIDNAM 2024-07-01 22:44:51 -06:00
dd4abedb8c add <Author> to Kurzweil K2700 MIDNAM 2024-07-01 12:27:35 -06:00
630587ee3f
VST2: amend prev commit, ignore SysEx and invalid MIDI events 2024-06-30 23:07:29 +02:00
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
ac159d899b new MIDNAM for the Kurzweil K2700, from Nikolaos Strikos <strikosn@gmail.com> 2024-06-26 17:19:59 -06:00
1f368900e3
Update GUI to use new IO PortSet API (2/2) 2024-06-24 22:19:51 +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
8718a1ba99
Remove redundant queue_draw calls 2024-06-22 18:10:21 +02:00
e6bdf31483
Prelight group-tab bars (backport from LiveTrax) 2024-06-22 18:10:00 +02:00
bdd6eec95c
Constrain height of group-tab to the editor's height
Previously the group-tab extended all the way down to the
last track. Potentially with a widget height of > 2^15 px.

This caused issues with gtk widgets (notably on Windows)
```
unhandled exception (type std::exception) in signal handler:
what: invalid value (typically too big) for the size of the input (surface, pattern, etc.)
```

This also prepares for Mixer Tab-Group to use the same
separation between visible and total extent.
2024-06-22 17:44:20 +02:00
c94ca79798 provide access to the trace parser (if any) for a MidiPort 2024-06-21 20:31:29 -06:00
df7fe4fb91 MIDI tracer: don't update ports if audio engine is not running when ports_changed() is called 2024-06-21 15:46:59 -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
44d01f5951
Update coverage frame while timming regions #9725 2024-06-21 17:36:28 +02:00
24f574772e
Hide coverage frame when dragging layered region #9725 2024-06-21 17:25:57 +02:00
0e3ed8dbaf
Fix typo in tooltip
thanks to SpotlightKid
2024-06-20 19:46:22 +02: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
cce6aba35d
Do not implicitly group trim controls #9724
This reverts fe7c36c04b (more or less)
2024-06-20 00:44:59 +02:00
b35e5f2e23
Place "Lock" dialog in the center of the screen 2024-06-19 21:24:43 +02:00
7990454c59
Fix range-selection when snapping to sections
Previously a range selection was canceled when the range
exactly matched a section, but the Drag was not canceled.
This lead to various issues.
2024-06-17 23:43:18 +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
c6c980c5a5
Try search-path when updating action scripts
When scripts are bundled the absolute path will
change with every version.
2024-06-17 16:22:52 +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
7982d69cb3 no need to set up midi input enable button for every ::set_route()
And additionally, do not pack it into the same container over and over, since that
generates gtk error messages
2024-06-14 22:17:22 -06:00
dbaead18bd
Prevent locate while recording 2024-06-14 15:43:03 +02:00