Commit graph

25382 commits

Author SHA1 Message Date
Paul Davis
d5b65ac20f no more locate-restart based on mismatch transport_frame and locate target 2017-08-16 15:30:41 -04:00
Paul Davis
6fdb08eca3 remove tests for locate_pending() before deciding whether to increment transport position 2017-08-16 15:30:41 -04:00
Paul Davis
d16c3af508 more verbose debug output for slave debugging 2017-08-16 15:30:41 -04:00
Paul Davis
6d386c0094 verbose debug output for slave debugging 2017-08-16 15:30:41 -04:00
Paul Davis
bfc1518d7c attempt fix for LTC slave when locating 2017-08-16 15:30:41 -04:00
Paul Davis
173e472f99 delete slave during Session::destroy 2017-08-16 15:30:41 -04:00
Paul Davis
9fc6136b07 fix logic error that prevent input monitoring during slave wait states 2017-08-16 15:30:41 -04:00
Paul Davis
e732311cde don't attempt MIDI playback if there are no MIDI buffers provided for processing 2017-08-16 15:30:41 -04:00
Paul Davis
25f1eddb4d additional DEBUG_TRACE output for slave/diskreader 2017-08-16 15:30:41 -04:00
Paul Davis
f1eba95062 reset DiskReader "no disk output" flag in a couple of exceptional cases 2017-08-16 15:30:41 -04:00
Paul Davis
13dd562a00 remove debug output 2017-08-16 15:30:41 -04:00
Paul Davis
f2122b5904 Non-layered MIDI recording
hand-adapted version of d977cc3238 from master

This does not merge MIDI data, but trims MIDI regions at rec-stop like
non-layered audio-recording does.
2017-08-16 15:30:41 -04:00
Paul Davis
57e8d7983d remove debug output 2017-08-16 15:30:41 -04:00
Paul Davis
c508d079bc when calculating average slave/master delta, use absolute value.
We're interested in average distance between slave/master, the direction is irrelevant and
using sign as direction causes the computed average to be absurd
2017-08-16 15:30:41 -04:00
Paul Davis
15675e8e80 remove all code related to "silent roll" concept. some debug output added 2017-08-16 15:30:41 -04:00
Paul Davis
6ebfbe1b1d NO-OP: mark various state property names as explicitly non-translated 2017-08-16 15:29:52 -04:00
Paul Davis
61a4061ffa use modified API name in GUI 2017-08-16 15:29:52 -04:00
Paul Davis
2af1742e9d move disk_{writer,reader} into Route to allow for simple, sensible implementation of DiskIOPoint 2017-08-16 15:29:52 -04:00
Paul Davis
e1f6f14b73 don't (re)create disk reader/writer if they already exist 2017-08-16 15:29:52 -04:00
Paul Davis
cfa829977a auditioner always runs at normal speed, independent of transport speed 2017-08-16 15:29:52 -04:00
Paul Davis
0ed07af7a5 add to LUA API (new Stripable API) 2017-08-16 15:29:52 -04:00
Paul Davis
0829172faf use const 2017-08-16 15:29:52 -04:00
Paul Davis
0644ad0879 remove unused + commented line 2017-08-16 15:29:52 -04:00
Paul Davis
115ac9f12c subtle change to _need_butler logic to ensure correct result in mixed-type contexts 2017-08-16 15:29:52 -04:00
Paul Davis
673641335c reinstate use of a MidiTrack's MIDI filter when reading from disk 2017-08-16 15:29:52 -04:00
Paul Davis
f4fa21333e channel config changes during ::configure_io() must be scoped to ensure they are complete before signals are sent 2017-08-16 15:29:52 -04:00
Paul Davis
2fb952675e move _file_frame from DiskIOProcessor into DiskReader (only place where it is needed); split into by-type array to deal with different rate of audio & MIDI i/o 2017-08-16 15:29:52 -04:00
Paul Davis
1d47939a4a MidiTrack needs to set it's "need butler" status 2017-08-16 15:29:52 -04:00
Paul Davis
9235cca73e use a more useful and accurate heuristic to get ::input_streams() for the auditioner 2017-08-16 15:29:52 -04:00
Paul Davis
5d74a9bfe7 clear regions from "other" playlist type in auditioner when starting a new audition 2017-08-16 15:29:52 -04:00
Paul Davis
33f9685899 auditioner does not care about the state of its diskwriter processor 2017-08-16 15:29:52 -04:00
Paul Davis
af779b55ce change callers of changed Track::use_new_playlist() API and its implementation 2017-08-16 15:29:52 -04:00
Paul Davis
f88fbbf53f remove Auditioner::prepare_playlist() - not used 2017-08-16 15:29:52 -04:00
Paul Davis
cd4b7d4a3c use new Track API 2017-08-16 15:29:52 -04:00
Paul Davis
06744f4c85 add Track::use_default_new_playlist() 2017-08-16 15:29:52 -04:00
Paul Davis
32f39412a0 remove Track::hidden(); replace with Stripable::is_private_route() 2017-08-16 15:29:52 -04:00
Paul Davis
203e0966f0 emit required signal 2017-08-16 15:29:52 -04:00
Paul Davis
841e67b81f basic GUI framework for setting Disk I/O options 2017-08-16 15:29:52 -04:00
Paul Davis
d72d45c71a mechanism to allow Track (or other Route-derived type) to add its own processors at the right time 2017-08-16 15:29:52 -04:00
Paul Davis
584a1e12bf add enum registration for DiskIOPoint 2017-08-16 15:29:52 -04:00
Paul Davis
3f2d77af2d tweaks to disk io point mechanisms 2017-08-16 15:29:52 -04:00
Paul Davis
a3f5b4e9a1 initial (incomplete) framework for DiskIOPoint manipulation 2017-08-16 15:29:52 -04:00
Paul Davis
84b4fdc44c fix longstanding compiler warning 2017-08-16 15:29:52 -04:00
Paul Davis
55a855de49 new enums for disk i/o positioning 2017-08-16 15:29:52 -04:00
Paul Davis
bce14cd9f4 framework for silent-roll-while-slave-syncing 2017-08-16 15:29:52 -04:00
Paul Davis
de2f683d47 do not queue multiple Locate or LocateRoll events 2017-08-16 15:29:52 -04:00
Paul Davis
cad340e735 debug instrumentation for locate time 2017-08-16 15:29:52 -04:00
Paul Davis
5efbdabc47 probable fix for out-of-sync issue across tracks after locate 2017-08-16 15:29:52 -04:00
Paul Davis
4dd3921e32 when DiskReader checks to see if a locate is in progress, it must be atomic with respect to all DiskReaders 2017-08-16 15:29:52 -04:00
Paul Davis
c895e4ad7f DiskWriter needs to drop source refs in its destructor.
SerializedRCUManager can't do this by itself
2017-08-16 15:29:52 -04:00