13
0
Commit Graph

19019 Commits

Author SHA1 Message Date
96c138c985
ALSA: prevent excessive slave-device latency updates on underrun 2022-05-04 05:57:52 +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
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
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
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
7cd16d9473
Apply new Item method name to various other usage sites 2022-04-27 13:16:18 +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
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
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
be927f7a58
Revert "Debug async MIDI port (M1 builds)"
This reverts commit f8a0de5928.
2022-04-25 15:40:11 +02:00
f8a0de5928
Debug async MIDI port (M1 builds) 2022-04-23 23:12:16 +02:00
9ce91e2952
NO-OP: clang-format 2022-04-23 23:12:13 +02:00
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
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
ae32daa148 allow ARDOUR::Filter to be used with MIDI regions/sources 2022-04-20 17:11:29 -06:00
aee3cf1534 handle an action named "Escape" specially when blocking activation during drags 2022-04-18 12:22:30 -06:00
c0b1f0e63c fix buglet in RAII mgmt of Bindings::_drags_active 2022-04-18 12:21:57 -06:00
729f930974 bindings: add a mechanism to prevent binding activation during drag 2022-04-18 11:38:21 -06:00
Caleb Potter
8b82de7ac1 Prevents user from infinitely banking right in mackie plugin subview
Changes handle_cursor_right_press() in PluginSubviewState to pure virtual
function so that PluginSelect and PluginEdit can each have their own
version.
2022-04-18 11:14:53 -06:00
Caleb Potter
f3bd740913 Formatting. Adds spaces before parentheses 2022-04-18 11:07:45 -06:00
Caleb Potter
8e375f5acd Moves left brackets to be on the same line as conditionals 2022-04-18 11:07:45 -06:00
Caleb Potter
bc6461dc76 Prevents user from infinitely banking right in mackie sends subview 2022-04-18 11:07:45 -06:00
Caleb Potter
17a7dbe06d adds ability to bank over in mackie sends subview
The cursor_left and cursor_right mackie control buttons will now move the
sends subview left and right like it does in the plugin subview. Previously,
if you had more than 8 sends (which is almost always the case for Mixbus),
then sends 9+ were unreachable on an 8 channel controller.
2022-04-18 11:07:45 -06:00
217f51e6fb
Break out common plugin-insert state methods
This is in preparation for IO-Plug, and should also come
in handy later for per region plugins.
2022-04-14 20:08:22 +02:00
74a673ce17
Create a virtual base class for PluginInsert
This in in preparation for IO-Plug GUI support.
2022-04-14 16:35:03 +02:00
f9d80c32d6
Allow to destroy Widgets when removing them from a container
This is useful when the container uses manage()d Widgets,
which are otherwise not destroyed.
2022-04-14 16:35:02 +02:00
defc902571
Allow to use Destructible as virtual base class
This is in preparation for a pure-virtual base class for
PluginInsert to expose `DropReferences` in the virtual base.

```
class PlugInsertBase : virtual public PBD::Destructible
class PluginInsert : public Processor, public PlugInsertBase
class Processor : public SessionObject
class SessionObject : public PBD::StatefulDestructible
```
2022-04-14 16:35:02 +02:00
db1a6720c2
Fix Region Export (clip library bounce)
Region::read_at fails if the region is not in a playlist.
It also applies fades and and region transparency which are
not relevant here.
2022-04-14 16:34:39 +02:00
844479568b
fix building OSC surface (amend 9b89dd7967) 2022-04-14 04:49:23 +02:00
99ed076e7e
Potential fix for region export on windows 2022-04-14 00:31:33 +02:00
7f12c664d2
Consistent checks for peakfile file descriptors
This fixes a crash on windows, close(-1) or closing an
already closed FD will abort the application
(Save-As can trigger the issue in done_with_peakfile_writes).

Note that g_open() returns -1 if an error occurred. However
other negative number may still be a valid FD.
2022-04-13 18:04:35 +02:00
91e1083cb1 fix typo 2022-04-09 18:35:16 -06:00
bdc8264fda given 217519b1b4, revert 5bbfac23 and cleanup DEBUG_TRACE output 2022-04-09 18:33:24 -06:00