Age | Commit message (Collapse) | Author |
|
These calls are expensive, particularly for ArdourButton, that
triggers a re-layout.
|
|
Avoid markup, pango markup parsing is expensive, particularly
for info strings which may be updated periodically at
short time intervals.
|
|
|
|
When a button has a fixed size, there's no need to call queue_resize().
This fixes an issue with the ArdourClock info displays when slaved.
The Timecode and Delta display text changes in small intervals and
caused excessive CPU load due to GUI size-requests + redraws.
|
|
This fixes underlinking against -lm and reverts the
prior workaround 83cd796a474f746.
|
|
This amends a6ffc6213b92735034bd7dc39638e926bca219da.
apply the offset before the DLL.
|
|
|
|
|
|
|
|
Use Fonts and Color to help discriminate columns:
Values that come from the TC Master are now in black boxen (ToDo: use gtk theming)
Reduce the number of columns, to improve legibility:
Consolidate the Slave's current TC chase value and Delta (offset from Ardour current TC)
Consolidate the last message received, and how recently it was received
Remove Collect checkboxes (just disconnect the port if you don't want it to run)
|
|
tweak)
|
|
|
|
|
|
* use left-aligned sign symbol with "sample" unit.
When the delta value jitters in decimal places (e.g. MTC)
it's otherwise no possible to discern + vs -.
* Use white text by default (not green)
|
|
|
|
An engine restart sends dis-connect messages for the reverse
port-mapping (after making the connection):
Connect: system:midi_capture_41a56f90 -> ardour:MTC in
Connect: system:capture_1 -> ardour:LTC in
DisConnect: ardour:MTC in -> system:midi_capture_41a56f90
DisConnect: ardour:LTC in -> system:capture_1
This lead to TransportMaster being marked as inactive.
This is likely an issue that should be fixed elsewhere, but in
case of JACK, we likely do not have control over this.
|
|
Offset the detected timecode instead of the detection time.
The latter is used by the DLL and later also used to calculate
delta times which lead to a constant offset.
|
|
|
|
Since the input is never flushed, capture latency is still
only one cycle.
|
|
|
|
This covers a race condition in session transport that when synced to an
external engine it sometimes occurs that at the end of ::realtime_stop()
::transport_stopped_or_stopping() returns false when ::setup_rec_box() is
called. In this case the rec boxes are not erased when the recoding transport
is stopped.
This fixes this behavior about the remaining rec boxes, however the race
condition remains.
The race condition is reported in #8104. It should be considered reverting this
commit once the race condition is fixed.
|
|
TransportMasterStart needs to be set when this cycle's delta
can reach _remaining_latency_preroll.
This allows to directly catch the master-position and start
rolling without initial vari-speed.
|
|
|
|
This apparently needs several sysex files delivered to the device,
so may not be particularly useful
|
|
This mechanism adds infrastructure that can later also be used
for MTC and MIDIClock.
PS. The LTC Generator port's latency is queried after the port
is created, and later kept in sync via LatencyUpdated signal.
|
|
|
|
|
|
This allows to change latency while running using numeric entry
or otherwise makes the spinboxes insensitive.
|
|
|
|
|
|
This uses a recently introduce Signal instead of the generic
GraphReordered, which was used in the past since it usually
happened after the latency was changed.
|
|
|
|
* Do not allow new send to change implicit solo (no propagation)
* Propagate changes to due aux-send removal upstream
to tracks or busses connected to the source route.
* Forward solo-isolate
|
|
So far internal-sends were explicitly special-cased, and implicit
solo-state only was only forwarded for direct up/down-stream
connections. ...and nobody can remember why :)
This restriction is removed, so far mainly with commenting-out
code, as experiment.
Internal sends are not only more convenient, but also required
in cases where direct connections result in ambiguous latency.
|
|
|
|
|
|
|
|
When rolling forward the LTC generator needs to send future
a timestamp, so that when it matches the current time when
the signal arrives at the output port.
(A6 aligns transport playhead to output)
|
|
|
|
Spaces got replaced by tabs as well.
|
|
|
|
For example, when opening a new one, there will momentarily be no session
|
|
|
|
Also remove redundant double call to Track::set_block_size(). This dates back to 2010
when there used be an additional traversal of the Diskstream RCU-managed list, before
they became owned by Tracks
|
|
|
|
|
|
In case of JACK all ports not owned by Ardour may be re-sampled,
and latency is added. External JACK ports need to be treated
like physical ports: I/O latency needs to be taken into account.
When not using JACK, all external ports are physical ports
so this is a NO-OP for other backends.
|
|
|
|
|
|
|