Robin Gareus
28231d6365
NO-OP: cleanup public API, re-indent source
2022-05-04 05:58:06 +02:00
Robin Gareus
96c138c985
ALSA: prevent excessive slave-device latency updates on underrun
2022-05-04 05:57:52 +02:00
Robin Gareus
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
Paul Davis
b5487415ec
editing: a partiaally implemented version of TempoTwistDrag, to be completed.
2022-05-02 16:47:23 -06:00
Paul Davis
86e7a1b259
temporal: no reason for Point::set() to be virtual
2022-05-02 16:45:33 -06:00
Paul Davis
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
Paul Davis
ccc4cd1bb1
fix incorrect drawing of tempo curves
2022-05-02 12:20:48 -06:00
Paul Davis
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
Paul Davis
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
Paul Davis
0a99d67dac
meter marker drag: better initialization of map member
2022-05-02 11:50:34 -06:00
Paul Davis
90a38a2b31
fix tempo marker drag crash caused by use of uninitialized map member
2022-05-02 11:49:43 -06:00
Paul Davis
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
Paul Davis
2b8b9a3a2f
const for const-sake
2022-05-01 18:01:35 -06:00
Paul Davis
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
dfaf790e7d
Add more debug messages to event-loop test tool
2022-05-01 23:24:36 +02:00
Robin Gareus
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
Paul Davis
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
Paul Davis
f3bf91b9b1
fix another use of a reader lock by a source (comments explain more)
2022-04-30 17:25:53 -06:00
Paul Davis
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
Paul Davis
51ebb143de
on windows, allow ARDOUR_DATA_PATH envvar to be used in the data search path
2022-04-28 14:33:39 -06:00
Robin Gareus
706140181e
Refactor IOButton::update, expose API to set connection-text
2022-04-27 23:31:24 +02:00
Paul Davis
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
Robin Gareus
8d4516228a
Update default time-domain logic
...
MinSec, CD-Frame, and Timecode grid should use AudoTime
2022-04-27 15:08:34 +02:00
Robin Gareus
7cd16d9473
Apply new Item method name to various other usage sites
2022-04-27 13:16:18 +02:00
Robin Gareus
0e804be818
Fix typo in 1dafa5017e (first automation point on line)
2022-04-27 12:56:32 +02:00
Paul Davis
c9b8a91edb
apply new Item method name to various other usage sites
2022-04-26 22:04:08 -06:00
Paul Davis
f913373351
canvas: change Item::bb_clean() to better named Item::set_bbox_clean()
2022-04-26 22:04:08 -06:00
Paul Davis
c75ceb31ab
canvas: when an item has its bbox marked dirty, this should propagate to all parents
2022-04-26 22:04:08 -06:00
Paul Davis
d54d63da3a
canvas: remove code long disabled via an "if (0"
2022-04-26 22:04:08 -06:00
Paul Davis
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
Ben Loftis
6691db1c54
plugin tags: add tags for some Apple, x42, and Harrison plugins
2022-04-26 12:09:36 -05:00
Ben Loftis
6917a1e836
triggerbox: initialize the follow_length control from the source data length
2022-04-26 09:42:00 -05:00
Robin Gareus
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
Paul Davis
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
Paul Davis
f06d04c174
audiosource: lock held during peak reading must be a write lock
...
We modify elements of the source object, not to mention the peakfiles on disk. This
was a regression introduced when switching from Lock to RWLock, caused by a failure
to recognize this as a case where a write lock was required.
The presence of scoped_array<> as a member of AudioSource (peak_cache) is suspicious
nevertheless, and we should establish that it serves a useful purpose.
2022-04-25 19:03:11 -06:00
Robin Gareus
b8ebdbc44a
Fix showing automation lane on touch
...
In the past ui-change event "track_height" was used to force
a redraw. This changed in c1fb7bc05d
2022-04-26 00:26:02 +02:00
Robin Gareus
1dafa5017e
Always place first automation point using the current value
...
This is in preparation to always show a line, which show
the current value in case there are no automation points yet.
It also unconditionally snapshots the current value without
changing automation modes to touch/write first.
2022-04-25 18:32:23 +02:00
Robin Gareus
be927f7a58
Revert "Debug async MIDI port (M1 builds)"
...
This reverts commit f8a0de5928 .
2022-04-25 15:40:11 +02:00
ardour
edf1f55781
Add Monterey as a mac build target
2022-04-25 08:08:50 -05:00
Robin Gareus
f8a0de5928
Debug async MIDI port (M1 builds)
2022-04-23 23:12:16 +02:00
Robin Gareus
9ce91e2952
NO-OP: clang-format
2022-04-23 23:12:13 +02:00
Robin Gareus
c1d6c0690e
Fix poll() edge case on macOS, clean up logic
...
Return from poll_for_request() when CrossThreadChannel is
closed/destroyed. -- see also f4166fb61d
This also cleans up poll API usage, and check for nonnegative
return value is added.
2022-04-23 23:12:10 +02:00
Robin Gareus
2be95cf197
Update log messages for mac package script
2022-04-23 18:03:16 +02:00
Robin Gareus
95693f9364
Fix endless recursion when creating cyclic connection graphs
...
This is mainly relevant for Mixbus, which allows cyclic-connections
to record Master-out on a Track (which unconditionally has Mixbus send
and feeds master).
In Ardour it may also cause issues when creating loopback connections,
however latency is not usually updated with invalid graphs (old
process graph remains in use).
Otherwise it fixes a crash connecting Track 1 -> Track 2 -> Track 1.
This also optimizes Route::output_effectively_connected by caching
any prior lookup. This helps e.g. Track 1 -> Track 2 -> Master.
The connection "Track 2 -> Master" now only need to be looked up once.
See also 7958031287 and a556e96ed0
2022-04-23 15:37:57 +02:00