summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/disk_reader.h
AgeCommit message (Collapse)Author
2019-12-14fix behavior of DiskReader when moved after an instrumentPaul Davis
2019-12-12reduce another race condition riskPaul Davis
overwrite_queued == true is equivalent to _pending_overwrite != 0
2019-12-12remove useless lockPaul Davis
rbuf allocation/use is protected by process_lock
2019-12-11remove MIDI readahead parameterPaul Davis
We just don't do this anymore
2019-12-10revert to single buffer for disk playback, and 5.x-style overwritePaul Davis
Also address issues with MIDI and also atomicity of _pending_overwrite
2019-12-08fix error when continuing to refill audio playback buffers after a buffer switchPaul Davis
The file_sample[AUDIO] member was not updated to reflect the last-read sample in the switched-to buffer. Also move several methods and members from DiskIO to DiskReader where they belong.
2019-11-22redesign of declicking and fades around loop boundariesPaul Davis
2019-11-15move DiskReader::inc_no_disk_output() into .cc to allow for easier debuggingPaul Davis
2019-11-06fix unconditional note resolution during DiskReader::realtime_locate()Paul Davis
When looping, we do not want to resolve notes at the end of the loop via ::realtime_locate() - ::get_midi_playback() has already taken care of this. But when not looping, we need this. So, add an argument to tell all interested parties whether the locate is for a loop end or not
2019-11-02remove unused (empty) APIPaul Davis
2019-11-02remove unused APIPaul Davis
2019-11-02various adjustments so that a MidiPlaylist gets re-rendered whenever it changes.Paul Davis
This may still be missing a few changes (i.e. they do not cause re-rendering)
2019-11-02move ownership of an RT MIDI buffer from DiskIO to MidiPlaylistPaul Davis
2019-11-02alter where note resolution happens when a re-rendering is scheduled for a ↵Paul Davis
MIDI track
2019-11-02refactor SessionEvent and DiskIO so that we pass around ↵Paul Davis
boost::shared_ptr<Track> rather than Route (this the raw pointers used inside SessionEvent)
2019-11-02add a MidiStateTracker to DiskReader and use to handle transport stop note ↵Paul Davis
resolving
2019-09-17add finite state machine to control/manage transport statePaul Davis
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-02-21Add API to check for ongoing de-clickRobin Gareus
2019-02-08Fix some disk-buffer threading issuesRobin Gareus
Make _pending_overwrite atomic (butler + process thread). This also addresses a potential seek before override race. Seeking will fill the buffers and by the time overwrite_existing_buffers() is called from there is no space to overwrite anymore.
2019-02-08NO-OP: clarify internal API, prepare for overwrite queueRobin Gareus
2019-02-07Prepare dedicated Disk-reader de-click gain-stageRobin Gareus
This allows to specify a shorter fade-duration than default Amp::apply_gain(), also allows to unroll and vectorize the loop
2019-02-06Prepare Disk-reader for bi-directional micro-locatesRobin Gareus
2019-02-05Towards a new disk-reader ringbufferRobin Gareus
This is mainly a NO-OP, introducing a new PlaybackBuffer type and preparing for its use. At this point in time, the buffer is just a power-of-two sized ringbuffer and the disk-reader's read-logic is still unchanged. Eventually the read and write sample position that are currently private to the disk-reader can be migrated to be owned by the buffer. Also Diskreader::read() positions can be matched to read-position .. +/- buffer reservation and de-click can read w/o committing the read.
2018-07-11Correct a couple of typosJohn Emmas
2018-07-09Prepare API for per disk-reader de-clickRobin Gareus
2018-07-09Separate ChannelInfo for disk reader and writerRobin Gareus
This allows to use different types for write and read buffers, in preparation for a dedicated reader-buffer.
2017-10-04Clean up State API:Robin Gareus
* Processor implement get_state(), classes derived from Processor implement protected ::state() -- as documented in processor.h * likewise for Route, Track: make ::state() a protected interface * removal of "full_state", use explicit "template_save" * use RAII/Unwind to skip saving automation-state
2017-10-01Fix MIDI rec-region displayRobin Gareus
gui_feed_buffer is used for DiskWriter -> GUI notifications. It was wrongly migrated from MidiDiskstream to DiskReader in 7fb6807
2017-09-30Make MIDI disk-reader a bit less buggy :)Robin Gareus
* use start/end frame * differentiate nframes and disk_samples_to_consume * add global Port::port_offset () when writing data. * add a note about b0rked vari-speed ..
2017-09-29No more disk-reader roll-delayRobin Gareus
It was not working in sdio/6.0-pre anyway and with upcoming changes to latency compensation the concept of per disk[stream/reader] will go away.
2017-09-19Revert "remove unusued roll_delay member of DiskReader"Paul Davis
This reverts commit 92c2e06eb72950f91ca943a5219e2caeaeecda9f.
2017-09-19remove unusued roll_delay member of DiskReaderPaul Davis
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible
2017-09-18remove all code related to "silent roll" concept. some debug output addedPaul Davis
2017-09-18move disk_{writer,reader} into Route to allow for simple, sensible ↵Paul Davis
implementation of DiskIOPoint
2017-09-18move _file_frame from DiskIOProcessor into DiskReader (only place where it ↵Paul Davis
is needed); split into by-type array to deal with different rate of audio & MIDI i/o
2017-09-18framework for silent-roll-while-slave-syncingPaul Davis
2017-09-18rename a method to be more clear; remove an unused method from DiskReaderPaul Davis
2017-09-18cue monitoring for MIDIPaul Davis
2017-09-18cue monitoring for audio (libardour aspects)Paul Davis
2017-09-18fix various naming issues with Disk{Reader,Writer}Paul Davis
2017-09-18remove all remaining vestiges of per-track varispeed from libardourPaul Davis
2017-09-18random changes required to get an audio track created and transport functionalPaul Davis
2017-09-18mega-commit to save state of first "it compilesand links" state for ↵Paul Davis
separated disk i/o changes. THIS WILL NOT RUN. THIS REQUIRES MANY CHANGES
2017-09-18merge almost all audio & midi diskstream code, redistribute between ↵Paul Davis
DiskIOProcessor, DiskReader,DiskWriter; compile and link
2017-09-18remove duplicated (in heirarchy) loop location from DiskReaderPaul Davis
2017-09-18move need-butler from DiskReader to DiskIOProcessorPaul Davis
2017-09-18move ChannelInfo structure from DiskReader into DiskIOProcessorPaul Davis
2017-09-18merge MidiDiskstream into DiskReader (playback parts)Paul Davis