Commit graph

25365 commits

Author SHA1 Message Date
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
Paul Davis
7ef7ca1797 change visible name of disk i/o processors 2017-08-16 15:29:52 -04:00
Paul Davis
b4baf4857a do not change Session::_transport_frame is a locate is pending 2017-08-16 15:29:52 -04:00
Paul Davis
e89bd3414e restart non-RT locate if a new request has been processed by RT context since we started 2017-08-16 15:29:52 -04:00
Paul Davis
cac1a14780 adjust debug trace output message 2017-08-16 15:29:52 -04:00
Paul Davis
075d653c0f comment out debug trace output 2017-08-16 15:29:52 -04:00
Paul Davis
d5ba30d096 comment out debug trace output 2017-08-16 15:29:52 -04:00
Paul Davis
72e6dd272e don't bother to re-seek/locate/refill buffers when disk IO processor config changes unless it actually changed 2017-08-16 15:29:52 -04:00
Paul Davis
f14f6abfb3 add new debug trace output 2017-08-16 15:29:52 -04:00
Paul Davis
2088e2593c comment out debug trace output 2017-08-16 15:29:52 -04:00
Paul Davis
d1b98099bb fix logic bug in deciding if there is outstanding disk i/o work in butler 2017-08-16 15:29:52 -04:00
Paul Davis
3f7fbbc4f4 comment out debug trace output 2017-08-16 15:29:52 -04:00
Paul Davis
7b4c523633 add new debug trace output 2017-08-16 15:29:52 -04:00
Paul Davis
098830c3d5 NOOP: remove line split for conditional 2017-08-16 15:29:52 -04:00
Paul Davis
3bf1538705 change debug trace output 2017-08-16 15:29:52 -04:00
Paul Davis
2e4ffc431a do not advance pointer; avoids illegal over-read during mix_buffers_no_gain() 2017-08-16 15:29:52 -04:00
Paul Davis
5073b33707 locating no longer interrupts process() 2017-08-16 15:29:52 -04:00
Paul Davis
a9db7a9f68 since Session::fail_roll() just calls ::no_roll() make that more explicit when there's actually no failure 2017-08-16 15:29:52 -04:00