Age | Commit message (Collapse) | Author |
|
When forking regions, copying playlists or saving snapshots we do not
have a reference to the track and cannot use the track's name as basis
for the new filename like Editor::fork_region() does.
A cloned midi region's name is based on the original region name.
This prevents endless addition "name-1-1-1-1-1-1-1-1.mid", adding
to the region's basename.
|
|
|
|
|
|
Remove various checks, add assert() for now (perhaps some old sessions?)
This fixes an off-by one issue when adding tracks (presentation
info order in add_routes_inner)
|
|
This is in preparation for "advanced session setup" allow a SessionSetup
Lua script to create the master-bus.
|
|
|
|
|
|
This does not completely fix the race-condition. The GUI
(e.g. connection-manager) may still hold a shared-ptr reference.
|
|
PortDrop unregisters backend ports, the backend will return a NULL
buffer-pointer, but the I/O object still exists (Metronome, LTC)
AudioBuffer::_data == 0
#0 msvcrt!memset () from C:\Windows\System32\msvcrt.dll
#1 ARDOUR::AudioBuffer::silence (this=0x2c410710, len=256, offset=0) at ../libs/ardour/audio_buffer.cc:88
#2 ARDOUR::AudioPort::cycle_end (this=0x34918730, nframes=256) at ../libs/ardour/audio_port.cc:66
#3 ARDOUR::PortManager::cycle_end (this=this@entry=0x23342770, nframes=nframes@entry=256)
[process callback w/o session]
|
|
|
|
|
|
|
|
The vast majority of errors reported by users as
"Cannot configure audio/midi engine with session parameters"
have nothing to do with engine-parameters.
|
|
This is in preparation for cloning MIDI-sources during snapshot save.
|
|
I think this was only to protect the float <=> string conversion in
Session::setup_click_state related to click gain which is now using
PBD::to_string/string_to and so no longer necessary.
|
|
|
|
|
|
|
|
|
|
Useful as temporary buffer: This allows a controllable to
get a master's automation-curve and combine it with its own
(gain, trim, send) automation buffer.
|
|
|
|
downstream buses
|
|
Session::io_name_is_legal() is used for Routes and Processors:
Route::set_name(), ProcessorBox::rename_processor() and
and Route::ensure_track_or_route_name() -- it is not used for actual
I/O objects.
|
|
|
|
Selection change and re-order signals are distinct.
|
|
|
|
that change if necessary
|
|
Stripables and AutomationControls
|
|
|
|
|
|
No longer need a specialization for bool as PBD::to_string/string_to already
has specializations for bool
Remove template specialization for float as string_to/to_string handles string
representations of infinity
|
|
|
|
In preparation for Faderport8 "Mute Clear" LED Button.
|
|
|
|
This fixes issues when re-loading a session without taking the
engine down.
|
|
eg. at the end of a loop, the session may already be playing the
beginning of the loop. The TransportLooped signal was emitted.
Yet due to playback latency, the audible frame is still at the end of
the loop.
To interpolate the playhead position the UI needs to be able to know:
Relying on the TransportLooped signal is not sufficient because it
does not take playback latency into account.
|
|
(bindings alone require ~800kB these days)
|
|
|
|
.. and leave some notes for the day when UI treemodel won't be canonical
to set order-keys.
|
|
|
|
properties to describe what changed
|
|
|
|
|
|
|
|
* allow to directly fan-out when adding a multi-channel instrument
* Mixbus: move multi-channel instruments after Comp & EQ.
|
|
By setting strict-io on the Instrument plugin early during track
creation, adding the plugin will trigger a PluginSetup Dialog for
multi-out instruments in a strict i/o track.
|
|
* Start recording at preroll, trim region to skip preroll at rec-stop
* Keep old punch-in rec-at-preroll API for tape-tracks (later)
|
|
* rename: indicate that recording happens after preroll, punch-in
* move API into libardour: rec+roll (no separate setup, seek, roll APIs)
|
|
|
|
|