Commit graph

15316 commits

Author SHA1 Message Date
Paul Davis
8deed500a4 fix thinko ... we're checking if a DiskReader handles audio 2019-12-19 09:09:42 -07:00
Paul Davis
3c83979a50 further improve debug message 2019-12-18 19:56:38 -07:00
Paul Davis
c8b9184956 fix thinko in MidiRegion::render()
MidiSource::read() wants a length, not an end-sample.

This should fix (at least) some cases where notes past the region end
get included/played
2019-12-18 19:50:32 -07:00
Paul Davis
9bd8e67f39 remove debug message 2019-12-18 19:49:34 -07:00
Paul Davis
ebe1aeb146 fix debug message 2019-12-18 19:49:09 -07:00
Paul Davis
8b3e7fea37 fix Temporal::Beats::operator* 2019-12-18 18:00:53 -07:00
Paul Davis
aa856b509c tweak debug output 2019-12-18 18:00:33 -07:00
Paul Davis
a73577a45a do not try to process audio in a diskreader with no audio playlist 2019-12-18 17:34:39 -07:00
Paul Davis
aeefd7e50a fix crash when looping with a MIDI track 2019-12-18 15:05:49 -07:00
Robin Gareus
c49c17ffff
Cont'd work on Playlists import from old 2.x sessions
v2.0.0 sessions don't save empty playlists. So missing playlists
for a give diskstream are fine. Just use a default empty one.
2019-12-17 22:56:12 +01:00
Paul Davis
53f72dd402 a new stop command while in the middle of declick-to-stop is not a bad transition 2019-12-17 13:21:38 -07:00
Robin Gareus
f76c897f04
Directly apply MIDI automation state changes
Previously "play/off" and "discrete/linear" changes had no effect
until the MIDI playlist was edited and MIDI re-read into RAM.
2019-12-17 17:17:27 +01:00
Robin Gareus
37c9a7beb1
Fix MIDI port i/o when vari-speeding 2019-12-17 05:56:49 +01:00
Robin Gareus
848831d844
Convert Disksteam & Playlists from old 2.x sessions 2019-12-17 00:42:28 +01:00
Paul Davis
c144e807ef remove mistakenly left-in debug stacktrace 2019-12-16 16:18:30 -07:00
Paul Davis
cd78a168b2 reinstate missing latency initialization code
Removed (mistakenly) during work on transportFSM
2019-12-16 16:13:39 -07:00
Paul Davis
cafd1b792c expand DEBUG_TRACE output 2019-12-16 16:13:39 -07:00
Robin Gareus
2c24e6af36
Remove cruft, unused API 2019-12-16 23:37:57 +01:00
Robin Gareus
415d3191de
Parse v2 session-information 2019-12-16 23:37:57 +01:00
Robin Gareus
eff5462009
Lua bindings for well-known send controls 2019-12-16 23:37:53 +01:00
Paul Davis
0b4b53b821 fix logic error that prevented MIDI playlists from being rendered at load time
An edit was required to force the render
2019-12-16 10:24:57 -07:00
Robin Gareus
3cdde4ffc1
LV2: add state:mapPath as supported feature and sort URIs 2019-12-15 14:06:00 +01:00
Paul Davis
b2bc934e21 fix behavior of DiskReader when moved after an instrument 2019-12-14 19:34:24 -07:00
Paul Davis
514c05a44e truncate unnecessarily verbose debug set/bits output 2019-12-14 10:40:07 -07:00
Robin Gareus
93180ceea9
Add Inline Control Port Property
This allows to indicate that a control should by default be displayed
inline in the mixer-strip.

Previously that was hard-coded for and enabled for send-level
controls only.
2019-12-14 15:50:56 +01:00
Robin Gareus
d4e023e1cb
Make BusSendLevel 1st class citizen (1/2)
Equivalent to Gain and Trim (gain-coefficient, not dB) and use
it for Sends.
2019-12-14 15:06:23 +01:00
Robin Gareus
2efc96a9b8
Add Lua bindings to query AutomationControl paramater ranges 2019-12-13 23:05:15 +01:00
Robin Gareus
3ddfb4ffe3
Fix mismatched delete 2019-12-13 15:42:09 +01:00
Robin Gareus
3208535c20
Add method to look up Lua script by name 2019-12-12 20:53:17 +01:00
Paul Davis
bf8c256771 reduce another race condition risk
overwrite_queued == true is equivalent to _pending_overwrite != 0
2019-12-12 12:09:15 -07:00
Paul Davis
0b0c415b40 remove debug output 2019-12-12 12:08:48 -07:00
Paul Davis
3c8b506ace remove useless lock
rbuf allocation/use is protected by process_lock
2019-12-12 11:31:43 -07:00
Paul Davis
35bea337d2 fix playback of newly added/modified MIDI data 2019-12-12 11:25:14 -07:00
Paul Davis
de8983ca72 expand DEBUG_TRACE() statement 2019-12-12 11:25:14 -07:00
Robin Gareus
f171e88775
BOOST_SP_NOEXCEPT is n/a in boost 1.62
Even though the method that is overridden (shared_ptr<t>::operator=),
has that signature in modern boost, it's of no real significance
for the case at hand (ExportChannel, ExportTimespan)
2019-12-12 16:06:46 +01:00
Paul Davis
87f4a4afff use process lock to lock out process() during playback buffer resizing 2019-12-11 20:36:10 -07:00
Paul Davis
f78c659840 remove MIDI readahead parameter
We just don't do this anymore
2019-12-11 20:36:10 -07:00
Paul Davis
e8b3d38112 variable renaming in Butler for various buffer sizes 2019-12-11 20:36:10 -07:00
Robin Gareus
dc0037230e
Fix stackoverflow, endless recursion on ComparableSharedPtr assignment
boost::shared_ptr & operator=(shared_ptr const & r);
is not declared virtual and cannot safely be overloaded.
2019-12-12 03:57:58 +01:00
Robin Gareus
0a5837ec71
Fix loading plugin state from sessions
While loading a session XML state, set_state must use
`Stateful::loading_state_version`.

When later copying processor state,
`Stateful::current_state_version` is correct.
2019-12-11 16:25:08 +01:00
Robin Gareus
dd18be15fb
Remove hardcoded session-state versions 2019-12-11 13:56:44 +01:00
Paul Davis
3dafaaf2df should probably resolve MIDI notes when loop bounds change
We don't really need to do this if the bounds have moved "outwards", but
at present we don't know if that is the case, so be safe and resolve in
case the loop bounds moved "inwards" and we would otherwise get stuck notes
caused by the now-missing noteOffs
2019-12-10 21:27:10 -07:00
Paul Davis
e46c45f6f0 fix unnecssary disruption of MIDI stream when disabling loop 2019-12-10 19:30:37 -07:00
Paul Davis
963f2a470a use PlayistChanged appropriately to fix MIDI output
We didn't render the MIDI data when a playlist was set, only when modified.
2019-12-10 12:22:05 -07:00
Paul Davis
af2d0dfb15 use bitmask values for OverwriteReason, as was intended 2019-12-10 12:21:28 -07:00
Paul Davis
c3e3930f14 revert to single buffer for disk playback, and 5.x-style overwrite
Also address issues with MIDI and also atomicity of _pending_overwrite
2019-12-10 09:29:22 -07:00
David Robillard
941aa20148 Fix font size on Push2
At least on my machine, the fonts on the Push display were ridiculously large,
making everything overlapping and unusable.  I suspect this is because
pango_cairo_font_map_get_default() inherits DPI from the system, so the
monitor scaling factor got applied to the Push display as well.

This commit instead creates a new plain font map, and sets the resolution to
96, which looks like what the UI was designed for.  Some more tweaking of the
Pango context might make things more optimal on the Push, but just setting the
resolution makes things look reasonable to me anyway.
2019-12-09 23:38:10 +01:00
David Robillard
8ec3e5fb54 Fix deprecated-copy warnings
It's long been a guideline (and IIRC a Weff-c++ warning) that either all, or
none, of the copy methods should be defined, but this became a standard warning
in GCC9.  Presumably to account for a later language change though I'm not sure
which.

I don't remember why the ChanMapping copy constructor can't just be a simple
copy (it's just a map of POD), but figure it's safer to just copy what that
does.
2019-12-09 23:25:59 +01:00
David Robillard
39bdde4250 Use labs() for long instead of abs() 2019-12-09 23:25:51 +01:00
David Robillard
21e9c41d96 Fix catch of polymorphic type by value 2019-12-09 22:58:08 +01:00