078e652859
Implement rt-safe deletion - delegate to butler
2022-05-06 14:02:32 +02:00
itmuckel
b4edbae7af
Add hidden ui config for close without asking
2022-05-06 10:12:17 +02:00
itmuckel
d7f2c35beb
Cruft removal
2022-05-06 10:12:17 +02:00
226dadbd19
Further reduce DSP load of debug builds
...
In all years of using these assert()s never triggered. Besides
there are valid_port() tests in other strategic locations that
are not periodically hit in realtime context.
2022-05-06 02:04:55 +02:00
ed21ea8fc6
Speed up valid-port changes O(n) -> O(log(n))
...
This significantly reduces DSP load of sessions with many ports
when using debug builds.
2022-05-06 02:04:49 +02:00
37c0fceeac
Prefer comparison operators as part of the class
2022-05-06 02:04:43 +02:00
ce95c9fb09
Fix std::set< BackendPortPtr> lookup by key
...
The set uses a custom sort-by-name comparator.
Previously it was possible to have an inconsistent set iterator.
std::set::find() did not find a given port while std::find() did.
This fixes using std::set::find() on the PortIndex set.
2022-05-06 02:04:33 +02:00
668cb1ca3b
Set names of RT tasks threads
2022-05-05 00:54:47 +02:00
6c2c3a49c4
Update comment about required buffers
2022-05-05 00:54:47 +02:00
John Emmas
2554302281
Export a variable which can't be accessed via a 'get()' function
...
Temporal::most_recent_engine_sample_rate is used in performance-critical code so shouldn't be accessed via a 'get()' function. But (via the TEMPORAL_SAMPLE_RATE #define) it does get accessed outside of libtemporal and therefore needs to get exported.
2022-05-04 16:09:34 +01:00
28231d6365
NO-OP: cleanup public API, re-indent source
2022-05-04 05:58:06 +02:00
96c138c985
ALSA: prevent excessive slave-device latency updates on underrun
2022-05-04 05:57:52 +02:00
fd33784e45
Suppres debug output from optimized builds
...
see also dc9eb38a27
Even though it may be useful to get timing information from
optimized builds, this should not be enabled by default.
2022-05-03 20:12:21 +02:00
John Emmas
2245e362b9
TempoMap::twist_tempi() gets used outside of libtemporal so needs to get exported
2022-05-03 11:31:43 +01:00
Caleb Potter
b689d2881e
M: US2400: allows user to bank over sends while in TrackView.
...
Sends only appear on the last 8 vpots, which means sends to matrices 9-12
are unreachable without banking.
2022-05-02 22:41:40 -06:00
Caleb Potter
20fff72370
US2400: Use Bank- and Bank+ to page over sends on pots
2022-05-02 22:41:40 -06:00
Caleb Potter
0d05cd231b
US2400: maps track parameters and sends to vpots
...
Pots 0-4 now display the 5 parameters from the Mackie track subview when a
track is selected and pots 8-23 will display up to the first 16 sends.
2022-05-02 22:41:40 -06:00
b5487415ec
editing: a partiaally implemented version of TempoTwistDrag, to be completed.
2022-05-02 16:47:23 -06:00
86e7a1b259
temporal: no reason for Point::set() to be virtual
2022-05-02 16:45:33 -06:00
55755d5453
temporal: fix TempoMap::reset_starting_at()
...
We were using a given tempo or meter point as part of the metric used when
recomputing its position. In fact, the metric should be only use the
tempo/meter immediately preceding the given point.
2022-05-02 16:44:15 -06:00
ccc4cd1bb1
fix incorrect drawing of tempo curves
2022-05-02 12:20:48 -06:00
69ee24c22b
editor: improved handling of tempo map changes
...
This splits apart the actual signal handler from the work that needs to be done
to update the GUI in response to a tempo map change. This allows us to do the
visual update when we are manipulating the thread-local write copy of the map
during e.g. a drag operation.
2022-05-02 12:02:04 -06:00
33622474af
editor: change return type of begin_tempo_map_edit()
...
This allows us to get the write-copy of the tempo map in one step.
2022-05-02 12:01:12 -06:00
0a99d67dac
meter marker drag: better initialization of map member
2022-05-02 11:50:34 -06:00
90a38a2b31
fix tempo marker drag crash caused by use of uninitialized map member
2022-05-02 11:49:43 -06:00
00b9e3f86a
temporal: change return type of TempoMap::next_tempo()
...
It is more useful to get the actual TempoPoint than just the Tempo
that we discover.
Aside: it would be awesome to understand how to use boost::intrusive to get the
next tempo point directly from the tempo hook.
2022-05-02 11:40:23 -06:00
2b8b9a3a2f
const for const-sake
2022-05-01 18:01:35 -06:00
d218dcb21b
evoral: when adding points to a ControlList, coerce the time domain of the new point to the list time domain
...
This may not be the ideal solution, but for now it appears to be the best approach to preventing
points with different time domains with the same list
2022-05-01 17:50:51 -06:00
73face7a8a
Revert "Small tool to test event-loop and x-thread signals "
...
This reverts commit 7780d38ed0
.
and commit dfaf790e7d
.
2022-05-02 00:31:33 +02:00
f7e917c123
Potential fix for M1 x-thread events
...
On M1, the cross-thread channel sets G_IO_PRI in addition to G_IO_IN
this breaks various assumptions in receivers, which test for ~G_IO_IN
as error condition.
2022-05-02 00:02:33 +02:00
dfaf790e7d
Add more debug messages to event-loop test tool
2022-05-01 23:24:36 +02:00
7780d38ed0
Small tool to test event-loop and x-thread signals (remove before release)
...
run as
```
session_utils/run ardour7-event_loop_test
```
Expected output:
```
TestUI::periodic
TestUI::periodic
TestUI::do_request
TestUI::static_signal_handler
TestUI::periodic
TestUI::periodic
TestUI::static_xthread_handler IO_IN
TestUI::periodic
TestUI::periodic
TestUI::~TestUI
TestUI::stop
```
2022-05-01 21:22:21 +02:00
8b97abee19
change location of TempoMap::fetch() call in graph main thread to match semantic equivalent in process threads
2022-04-30 19:16:31 -06:00
f3bf91b9b1
fix another use of a reader lock by a source (comments explain more)
2022-04-30 17:25:53 -06:00
b74fb262fa
use a very very slightly more convenient and possibly more correct method for LV2 bpm port
2022-04-28 14:33:39 -06:00
51ebb143de
on windows, allow ARDOUR_DATA_PATH envvar to be used in the data search path
2022-04-28 14:33:39 -06:00
706140181e
Refactor IOButton::update, expose API to set connection-text
2022-04-27 23:31:24 +02:00
9e77d8923a
MIDI: ctrl-d now duplicates selected notes
...
This commit also fixes selection-after-paste, so that the selection is always
the newly pasted notes.
2022-04-27 08:13:09 -06:00
8d4516228a
Update default time-domain logic
...
MinSec, CD-Frame, and Timecode grid should use AudoTime
2022-04-27 15:08:34 +02:00
7cd16d9473
Apply new Item method name to various other usage sites
2022-04-27 13:16:18 +02:00
0e804be818
Fix typo in 1dafa5017e
(first automation point on line)
2022-04-27 12:56:32 +02:00
c9b8a91edb
apply new Item method name to various other usage sites
2022-04-26 22:04:08 -06:00
f913373351
canvas: change Item::bb_clean() to better named Item::set_bbox_clean()
2022-04-26 22:04:08 -06:00
c75ceb31ab
canvas: when an item has its bbox marked dirty, this should propagate to all parents
2022-04-26 22:04:08 -06:00
d54d63da3a
canvas: remove code long disabled via an "if (0"
2022-04-26 22:04:08 -06:00
3d860b9665
libpbd: do not use DEBUG transmitter from inside AbstractUI<T> request methods
...
This will lead to recursion, since delivering the debug msg goes through a request method.
Discovered by running with -D all
2022-04-26 22:04:08 -06:00
6691db1c54
plugin tags: add tags for some Apple, x42, and Harrison plugins
2022-04-26 12:09:36 -05:00
6917a1e836
triggerbox: initialize the follow_length control from the source data length
2022-04-26 09:42:00 -05:00
98bfede1fc
Restore connections when using templates
...
This also fixes an issue when duplicating tracks. Saved
connections were ignored and tracks were auto-connected.
2022-04-26 15:36:51 +02:00
6f5d3d8dd9
another change from ReaderLock to WriterLock in audio source peak reading
...
The rationale is as for f06d04c174
2022-04-25 20:33:21 -06:00