Age | Commit message (Collapse) | Author |
|
|
|
This builds on top of 51d2bb:
* v6 routes templates/states have a version per <Route>
* older route-states are assumed to be from ardour-5
Stateful::loading_state_version 3002,
unless specified otherwise
|
|
Currently using Ardour-5 route templates (state version "3002")
with Ardour6 fails. As opposed to session-templates, Route
templates were not versioned.
This ensures future compatibility (and may allow to interpret
unversioned templates as "3002")
|
|
|
|
|
|
Loop recording creates a single long source, regions have to be
"split" from this source, using "start" as offset.
Since MIDI uses absolute timestamps, offsetting this by accumulating
buffer_position += (*ci)->samples;
like Track::use_captured_audio_sources() does, is not correct.
Furthermore, record_enabled() may be off when stopping recording,
MIDI needs to be flushed regardless.
|
|
|
|
DiskWriter::transport_looped() is called from the session
when engine loops. This does not take local disk-reader run()
latency offset into account.
finish_capture() needs to be postponed until the disk-writer
itself reaches the loop-position. This is achieved by
postponing loop() and calling it once loop-length of samples
has been captured.
This works because engaging loop always seeks to the loop-position
and first loop resets _capture_captured.
|
|
This also removes a Mixbus special case, explicit ->mixbus() tests
are no longer required.
|
|
constructor) issue
|
|
|
|
|
|
Ardour 5.x slave check was incorrectly ported to A6's TMM:
In Ardour 5 the comparison tested for *not* MTC:
```
if (!dynamic_cast<MTC_Slave*>(_slave)) { ..send MMC.. }
```
Other MMC messages (Record, Locate) are sent unconditionally.
|
|
This fixes an issue that after changing backends (::set_backend),
the session-transport was in inconsistent state. If it was rolling,
it continued to roll with "stop" being unavailable.
|
|
|
|
|
|
|
|
|
|
set_session_extents had a bug; it wasn't calling locations->add()
on the newly created location.
The correct implementation was in set_session_range_location,
but this was only called from one place.
This function was removed, and set_session_extents will be used in its place.
set_session_extents will create a session location if one no longer exists,
so there is no need for set_session_range_location.
|
|
|
|
|
|
* Windows: delete waf installed .dll.a files
* Windows: override waf's conf.env.LIBDIR = conf.env.BINDIR
with explicit --libdir
* Windows: fix asm (`x86_64-w64-mingw32-as` -D flag is for
debug messages, -D defines are not available)
* Mac: override waf adding -install_name (and
-Wl,-compatibility_version -Wl,-current_version)
by moving -dynamiclib from linkflags to ldflags
* Mac: Allow libs with compat version number suffix
(not needed anymore, but may help in the future)
|
|
|
|
|
|
|
|
|
|
|
|
This differs from ::locate_pending() by covering either phase of a locate - declick or refill
|
|
|
|
|
|
|
|
plus slight cleanup of Region::set_name().
Note that issues with ARDOUR::legalize_for_path() not excluding colons still remain
|
|
|
|
|
|
|
|
|
|
|
|
doing this was causing the TFSM to get stuck in "WaitingForButler"
|
|
If we're within 1/6th of the size of the reserved buffer of the target sample, no need to refill
|
|
|
|
|
|
In prior versions: if Auto Input was enabled, the default behavior was
to monitor the Input of all tracks when stopped; even if they aren't armed.
Tape Machine Mode changed the behavior of Auto Input so that it doesn't
always monitor the track inputs when transport is stopped.
After some discussion on IRC, we determined that Tape mode is likely
more practical for a DAW user, and therefore a better default.
Rather than default an ambiguously-named preference "on", we decided
to invert the behavior, rename it sensibly(?), and default it OFF.
|
|
Because of the addition of LocateTransportDisposition, this call was unconditionally forcing a roll during startup
|
|
|
|
Absurd to be memory-conscious about a couple of member variables in an object that represents user input
|
|
TransportFSM
|
|
|
|
"roll-after-locate"
This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it
can be cnentralized and is less ambiguous
|
|
This fixes Audio/MIDI alignment when recording normally.
Loop and/or Punch-in recording is still not aligned properly
(both audio and MIDI).
_accumulated_capture_offset is initialized once, accumulated
offsets (rec_nframes) are kept, even when ::check_record_status()
is called multiple times.
|
|
_accumulated_capture_offset is only used for MIDI,
however this is helpful when debugging.
Previously audio kept accumulating the offset indefinitely.
|