Robin Gareus
a22f918d9d
Update libardour GPL boilerplate and (C) from git log
2019-08-03 15:53:16 +02:00
Robin Gareus
ab79165893
Fix Playlist refcount when deleting track
...
Both Disk-reader and Disk-writer use the same playlist.
ARDOUR::Track::use_playlist() sets it for both Disk-IO processors,
so it needs to be released by both on destruction.
2019-03-19 03:08:06 +01:00
Robin Gareus
007c4ffdc0
Towards a new disk-reader ringbuffer
...
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.
2019-02-05 23:29:31 +01:00
Robin Gareus
6fc2804414
Disk I/O: only allocate midi-buffer if needed
...
This fixes a memory-leak (_midi_buf was allocated in DiskIOProc
but only delete in DiskReader). Also skip midi-refill early on
2018-11-29 02:05:26 +01:00
Paul Davis
e6915e01de
new transport slave/master implementation, libs/ edition
2018-09-18 19:06:04 -04:00
Robin Gareus
59029765e8
NO-OP: Rename disk-reader buffer for consistency
...
This is in preparation to replace the Ringbuffer and avoid over-using
"buf" as variable (it's already used for vectors, as parameter name and
Audiobuffers.
2018-07-09 19:49:18 +02:00
Robin Gareus
87b2c94759
Separate ChannelInfo for disk reader and writer
...
This allows to use different types for write and read buffers, in
preparation for a dedicated reader-buffer.
2018-07-09 17:30:38 +02:00
Robin Gareus
cf11764763
Remove unused disk-reader vari-speed
2018-07-09 17:30:38 +02:00
Robin Gareus
00a4ad712c
Move Loop Location to Processors
...
The processors will becomes responsible to know about loop-positions
and map latency-compensated start_sample, end_sample into the loop-range
as needed.
2017-10-31 18:32:26 +01:00
Paul Davis
3f48d00081
use new CubicInterpolation API
2017-10-02 12:46:12 -04:00
Paul Davis
a2703ea503
remove midi_interpolation member of DiskIOProcessor (was used only to call ::distance() method
2017-10-02 12:43:34 -04:00
Paul Davis
318600d05e
use constructor syntax
2017-10-02 12:43:34 -04:00
Paul Davis
275756e96a
remove leftover cruft related to wrap buffers from DiskIOProcessor
2017-10-02 12:43:34 -04:00
Robin Gareus
d50c738203
NO-OP: whitespace
2017-09-23 02:31:52 +02:00
Robin Gareus
94cce9e06e
Fix changing playlist (Track is responsible for signal emission)
2017-09-23 02:31:00 +02:00
Robin Gareus
4e5423b348
fix clang compilation (include header ordering)
...
"i18n.h" needs to be included last, after types have been defined or
clang bails out:
"call to function 'operator<<' is not visible in the template definition"
2017-09-21 19:38:13 +02:00
Paul Davis
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
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-18 12:39:17 -04:00
Paul Davis
8f4d432d73
channel config changes during ::configure_io() must be scoped to ensure they are complete before signals are sent
2017-09-18 11:40:53 -04:00
Paul Davis
ece52d3278
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-09-18 11:40:53 -04:00
Paul Davis
9885f04fe6
tweaks to disk io point mechanisms
2017-09-18 11:40:53 -04:00
Paul Davis
8101d9884f
don't bother to re-seek/locate/refill buffers when disk IO processor config changes unless it actually changed
2017-09-18 11:40:53 -04:00
Paul Davis
302d15d2c0
drop route shared_ptr when Route::GoingAway is emitted
2017-09-18 11:40:53 -04:00
Paul Davis
26b13ed5f1
get sdio branch working with MIDI tracks
2017-09-18 11:40:53 -04:00
Paul Davis
e24ca13394
remove all remaining vestiges of per-track varispeed from libardour
2017-09-18 11:40:53 -04:00
Paul Davis
2a1dccabc9
get diskreader working, and remove per-track varispeed API and mechanism
2017-09-18 11:40:53 -04:00
Paul Davis
53e6f13852
addd more DEBUG_TRACE for DiskIO; set DiskIOProcess::_need_butler more appropriately; other minor adjustments
2017-09-18 11:40:53 -04:00
Paul Davis
361cab503b
random changes required to get an audio track created and transport functional
2017-09-18 11:40:53 -04:00
Paul Davis
35c7274cc9
remove Diskstream from Track and derivatives; get ardour to actually startup
2017-09-18 11:40:53 -04:00
Paul Davis
a4a87f56e9
mega-commit to save state of first "it compilesand links" state for separated disk i/o changes.
...
THIS WILL NOT RUN. THIS REQUIRES MANY CHANGES
2017-09-18 11:40:52 -04:00
Paul Davis
94604c6979
merge almost all audio & midi diskstream code, redistribute between DiskIOProcessor, DiskReader,DiskWriter; compile and link
2017-09-18 11:40:52 -04:00
Paul Davis
c6dd3045d1
move need-butler from DiskReader to DiskIOProcessor
2017-09-18 11:40:52 -04:00
Paul Davis
bcd7a21510
move ChannelInfo structure from DiskReader into DiskIOProcessor
2017-09-18 11:40:52 -04:00
Paul Davis
46366541b1
crawling towards the APIs for separate disk i/o
2017-09-18 11:40:52 -04:00