13
0
Commit Graph

37230 Commits

Author SHA1 Message Date
ba66381ab0 push2: remove unused member 2023-04-21 12:16:37 -06:00
7ad0deff10 abstractui: don't register self as a sending thread
if thread A emits a signal that is handled by thread A, no request buffers are
involved.
2023-04-21 12:16:37 -06:00
4a2c27ed6d abstractui: provide a message if an event loop wakes but finds no work
(this only occurs for debug builds)
2023-04-21 12:16:37 -06:00
6e65e9c82f abstractUI: pseudo-no-op: debug trace message expansion, and some reformatting 2023-04-21 12:16:37 -06:00
5d023b4c60 libpbd: fix an important thinko for cross-thread signal architecture
The old code assumed that the thread that created a request buffer for a given
signal-emitting thread would be the latter thread, and thus a thread-local
pointer to the request buffer could be used. This turns out not to be true: the
GUI thread tends to be responsible for constructing the request buffers for
pre-registered threads.

That mechanism has been replaced by using a RWLock protected map using
pthread_t as the key and the request buffer as the value. This allows any
thread to create and register the request buffers used between any other pair
of threads (because the lookup always uses a pthread_t).

The symptoms of this problem were a signal emitted in an audioengine thread
that was propagated to the target thread, but when the target thread scans its
request buffers for requests, it finds nothing (because it didn't know about
the request buffer). In a sense, the signal was successfully delivered to the
target thread, but no meaningful work (i.e the signal handler) is performed.
2023-04-21 12:16:37 -06:00
6eec11e50e midi surfaces: fix debug trace string 2023-04-21 12:16:37 -06:00
9dc53f9400 midi surfaces: no reason for the connection handler to be virtual 2023-04-21 12:16:37 -06:00
0eed821eb9 JACK: do not set the thread-init callback
Because we use the non-callback API, we can call our thread init callback
ourselves from ::process_thread(). In addition, the init_callback in JACK is
used by every thread JACK creates, including the messagebuffer thread, and this
confuses things from an Ardour POV where the callback was intended just for
realtime threads.
2023-04-21 12:16:37 -06:00
b66bb61650 audioengine thread(s) should have their actual numbered name 2023-04-21 12:16:37 -06:00
074516cdb4 libpbd: provide access from a ScopedConnection to the underlying UnscopedConnection 2023-04-21 12:16:37 -06:00
5dc75694f0 libpbd: fix return type of Signal<>::size() 2023-04-21 12:16:37 -06:00
70e56ba4e9
Amend 2f3841a8, fix Mixbus build 2023-04-21 03:01:26 +02:00
Nil Geisweiller
57a5f96a98
NO-OP: use Tab to indent 2023-04-21 01:00:41 +02:00
Stefan Westerfeld
55dc3113f3
ace-fluidsynth: fix free_path initialization in save 2023-04-21 00:58:24 +02:00
3364fdd9f3
Update context menu for subgroup bus creation
Rather than hiding options that are not available,
all options are shown and the sensitivity is
set accordingly.
2023-04-21 00:41:30 +02:00
2f3841a81d
Add support for MIDI subgroup busses
This also fixes the channel-count use by the bus,
depending on the type (aux or direct out).

Mixbus detection is also moved from the GUI to the
backend.

This also limits the number of subgroup busses to one,
so that "Remove subgroup bus" works properly.
Eventually we should allow multiple subgroup busses
for aux-sends.
2023-04-21 00:40:59 +02:00
bedca7b5ef
Amend prev commit, pick different max channels for custom config 2023-04-20 19:08:29 +02:00
24986b1f17
Add dialog to configure custom number of chnnels 2023-04-20 19:04:39 +02:00
d2a4e0ac9a import_pt: Fix PT import to session with existing tracks
Previously, the PT import would place regions on tracks
numbered from 0, therefore landing on unrelated tracks
when pre-existing tracks were present in the session.

This change skips all existing ardour tracks and imports
the PT regions onto the correctly named, appended tracks.

If any tracks exist with the same names as the ones in the import,
the new tracks get an incremented number at the end of them and
the imported regions are placed on the new track, as expected.
2023-04-20 15:45:32 +10:00
03b4635bea
Fix a small memory leak 2023-04-19 14:20:48 +02:00
7094c82e75
Add Lua bindings to std::shared_ptr<T const>
This is required after the recent RCU change to return
const shared pointers for read (295dbd8e1).
2023-04-19 01:46:58 +02:00
b4d8a3f933 get initial display for tempo ruler more correct 2023-04-18 14:37:46 -06:00
be73956f4c add GUI option for controlling default tempo edit behavior 2023-04-18 14:30:59 -06:00
8f95cfd995 different default tempo edit behaviors for mixbus vs ardour 2023-04-18 13:57:14 -06:00
9f52bc05de fix a minor conflict after reverting a couple of commits 2023-04-18 13:48:59 -06:00
6cc116e6de Revert "add ProcessedRanges element to Session and update its contents appropriately"
This reverts commit 33047987a7.
2023-04-18 13:48:59 -06:00
909a2ad639 Revert "modify API of MIDI Clock ticker to use ProcessedRange"
This reverts commit 720102f98a.
2023-04-18 13:48:59 -06:00
328b4f2d1a Revert "further steps towards correct (or more usable) MClk output"
This reverts commit fe6beee68e.
2023-04-18 13:48:59 -06:00
1a2fff932f prevent crash during ripple-mode dragging a region with copy enabled (weird crash but this stops it) 2023-04-18 13:48:59 -06:00
4d5bce3568 ardev and its cousins should have ARDOUR_MIDI_PATCH_PATH set to be in-tree 2023-04-18 13:48:59 -06:00
3ddf99df08
Fix color-palette preference tooltips 2023-04-18 02:20:26 +02:00
c228d05c47
Clarify round-robin color palette API name 2023-04-18 02:18:02 +02:00
9e35a9da66
Add option to use a neutral color for new routes 2023-04-18 01:07:54 +02:00
23a9ce4651 more debug information 2023-04-16 10:33:48 -06:00
d66f3e7c9d temporal: factor out twist iteration, add debug output 2023-04-16 10:33:37 -06:00
6313a61f15 more improvements to text position in tempo mapping bar 2023-04-16 10:32:50 -06:00
88e4b40857 remove concept/implementation of a mapping stretch drag (aka "half twist")
This concept proved to be impossible.
2023-04-13 17:50:41 -06:00
c10b265333 tempo mapping: various tweaks and improvements to workflow/Ux 2023-04-13 17:47:34 -06:00
f29557348e remove debug output 2023-04-13 17:47:32 -06:00
9d2c1232c5 tweak position of tempo text in mapping bar 2023-04-13 14:36:21 -06:00
040dae9b0d tempo mapping: adjust BPM delta during a twist to reflect zoom level 2023-04-13 10:57:12 -06:00
b362d2b6ba temporal: don't abort() for illegal omega value, just leave it as it was 2023-04-13 10:57:12 -06:00
dbc3008163
Add Lua Bindings for const shared_ptr lists (295dbd8e1e) 2023-04-12 20:47:35 +02:00
89c7159bc5 prefer auto const & as an amendment to b4291cfb32 2023-04-12 12:45:11 -06:00
73f41a4d3b remove debug output 2023-04-12 10:38:57 -06:00
36525a1ada rippling - use a list and ::push_front() to avoid having to reverse 2023-04-12 10:38:27 -06:00
b4291cfb32 some more C++11 loop-auto-fication 2023-04-12 10:16:09 -06:00
117c751293 fix undo for multi-non-contiguous region cut/delete (#9295)
Defer all ripples till after cut/delete. Then perform them
from the latest to the earliest.
2023-04-12 10:16:09 -06:00
e575d5c6dc remove crash-causing reference to non-existent action 2023-04-12 10:16:09 -06:00
c3102ab8a5
Add preference to set PPQN of exported MIDI files
This also changes the default from 19200 to 1920
2023-04-12 13:12:41 +02:00