summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_diskstream.cc
AgeCommit message (Collapse)Author
2016-11-27NO-OP; Backport changes from Mixbus branchRobin Gareus
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-10Exact beat - provide audio->music mapping for region split.nick_m
- for those not in the know, this series provides a way to remove the temporal distortion introduced when using an audio frame-based gui for music-locked objects. In short, the gui uses an audio frame representation to move objects. It displays the object using frame_at_beat(), quantizing the time value to audio frames. This is fine until the user selects that frame but expects it to be interpreted as a beat. Thus beat_at_frame() would not produce the user-expected beat (temporal quantization error of up to 0.5 audio samples). This is one method of mapping audio time to music time accurately.
2016-06-08consistent API name for region-listRobin Gareus
2016-05-07fix LocaleGuard contstructor (3dc77280)Robin Gareus
2016-05-05we always only use the "C" locale when saving.Robin Gareus
2016-05-04OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)Paul Davis
2016-04-04fix return value for playback/capture buffer loads on audio tracks with no ↵Paul Davis
channels
2016-03-05fix playlist channel-count when removing a connected port.Robin Gareus
when removing a connected port, IO::remove_port() emits (IOChange::ConnectionsChanged | IOChange::ConfigurationChanged)
2015-10-05use quotes for in-tree pbd/glib wrapper includeRobin Gareus
2015-10-05remove unused fstream includesRobin Gareus
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-10-04Change a few instances of 'stat()' to use 'g_stat()' (for UTF8 compatibility ↵John Emmas
on Windows)
2015-09-30tweak some debug outputPaul Davis
2015-09-30remove apparently bogus adjustment to capture_captured in ↵Paul Davis
AudioDiskstream::transport_looped
2015-07-23avoid llabs ambiguityRobin Gareus
(old gcc has a built-in)
2015-06-30when seeking, completely refill buffers rather than just a partial refillPaul Davis
2015-06-30fix -Wabsolute-valueRobin Gareus
2015-06-29remove debugging outputPaul Davis
2015-06-29fix unused but usable variable warningPaul Davis
2015-06-29comment unused but potentially usable variablesPaul Davis
2015-06-29comment out two verbose debugging outputsPaul Davis
2015-06-29make sure we allocate large enough buffers when doing a non-butler context ↵Paul Davis
disk buffer refill. The size of the buffer now needs to reflect that we calculate read refills in bytes, and if we are not using 32 bit float sample format on disk, that can translate into > 1M samples.
2015-06-29two tweaks required to fix up previous commitPaul Davis
2015-06-29ensure that working buffers (for gain + mixing) are large enough.Paul Davis
Remove AudioDiskstream and AudioSource _working_buffers_size members, since they are no longer used
2015-06-29more tweaks for varifill model, and avoid filling playback buffers during ↵Paul Davis
session loading Conflicts: libs/ardour/diskstream.cc libs/ardour/session.cc libs/ardour/session_state.cc Conflicts: libs/ardour/session.cc
2015-06-29add initial support for vari-fillPaul Davis
When refilling playback buffer, try to fill it completely, or at least using the next-lowest power-of-2 as the amount to read. When locating, where we use do_refill_with_alloc(), only partially fill the buffer. Work not yet finished, but possibly promising.
2015-06-29Tracks does not (want to) support destructive tracksPaul Davis
2015-06-16add Record-Safe feature to libardour (from Nikolay Polyanovskii)Paul Davis
2015-04-28tape-track diskstream fixesRobin Gareus
Due to the change to use a 64bit timeline (int64 as opposed to previously [unsigned] pframes_t) many cases special to tape-tracks no longer work. e.g. region->length() can returns -1, rather than INT64_MAX. which breaks ‘overlap’ in Evoral::Coverage. which in turn breaks tape track’s use of ::find_next_region(). This commits begins the slow process to move away from relying on integer overflow to wrap negative numbers for tape tracks and restores basic functionality. Still various edge cases pertaining tape tracks remain. particularly when changing the session start-time and moving destructive regions.
2015-02-20ensure that stub audio file sources are removed when we destroy a trackPaul Davis
2015-02-13correctly set track loop status when locating away from loop range (and ↵Paul Davis
later, when coming back to the loop) Conflicts: libs/ardour/ardour/session.h libs/ardour/session.cc libs/ardour/session_transport.cc
2015-01-27Don't try to dereference a NULL ptr (the function 'ARDOUR::IO::nth()' can ↵John Emmas
return an invalid ptr, so let's make sure we test for it) Note 1: Potentially we could have the same issue with 'AutomationLine::nth()' (although the current code seems okay) Note 2: This (specific) problem seems mostly to affect Mixbus3 when it tries to load an old (version2) session from Ardour2. Mixbus can mark certain IO ports as being 'unused'. While loading sessions, function 'ARDOUR::IO::ensure_ports_locked()' deletes any unused ports. But later, the function 'ARDOUR::IO::make_connections_2X()' was crashing while trying to connect those (now NULL) ports. This commit fixes that crash but there's some evidence that it might only have moved the problem elsewhere. The version2 sessions now open successfully - but an MSVC (Debug) build now crashes whilst closing them (the Release build however, is okay). Someone who's more familiar with the code than me should review the Mixbus3/Ardour2 loading procedure to make sure it's safe.
2015-01-23split apart read and write chunk size and offer platform-dependent sizes for ↵Paul Davis
reading. Write chunk size should remain unchanged from before.
2015-01-19use C locale, because POSIX locale is not supported on windows, and ↵Ben Loftis
operation is undefined. C works on all platforms
2014-12-18Don't assume compiler can avoid copy to const ref.David Robillard
2014-12-17Fix various MIDI locking issues.David Robillard
Attempt to make mistakes much less likely in the future by statically requiring caller to pass scoped locks where necessary.
2014-12-10Use DEBUG_THREAD_SELF when using DEBUG_TRACE with pthread IDsJohn Emmas
(supports both normal pthreads usage and PTW32)
2014-12-09more DEBUG::Butler output, formatting corrections, and a warning on cerr if ↵Paul Davis
capture/playback buffers are too full/empty
2014-12-01Comments in various call-sites of coverage()Colin Fletcher
Comments in various call sites of Evoral::coverage() marking things I think are dubious (with XXX). Also straightened up the alignment of some ASCII art in libs/ardour/diskstream.cc
2014-10-10subtle changes to accomplish two goals (1) playhead should stop where the ↵Paul Davis
user pressed stopped (2) captured regions should end where the playhead ends
2014-07-09remove debug outputPaul Davis
2014-07-09fix crash initiated by never configuring track write sources when reloading ↵Paul Davis
a session, caused by earlier commits to avoid unnecessary write source resets
2014-07-09only reset AudioDiskstream write sources if the I/O configuration changed. ↵Paul Davis
Do not do this for connection changes etc.
2014-06-26allow to set custom file name for each diststreamRobin Gareus
2014-06-10fix crash recovery: add new constructors to SndFileSource, AudioFileSource, ↵Paul Davis
add a new SourceFactory method and finally tweak AudioDiskstream::use_pending_capture_data() to create both the required whole-file and the in-playlist regions
2014-04-10redesign technique for naming/creating regions for MIDI clone (or other ↵Paul Davis
non-capture driven MIDI region creation operations). See comments in Session::new_midi_source_name() for details.
2014-01-10finished merge of cairocanvas with windows and windows+cc branchesPaul Davis
2013-12-02Replace non-portable printf format specifierTim Mayberry
This caused Diskstream state to be restored incorrectly