13
0
Commit Graph

25085 Commits

Author SHA1 Message Date
3899c06fae Start a new write-pass when writing automation and locating while rolling 2017-07-27 01:40:13 +02:00
97e3168466 Fix ATAV hide button for VCA lanes 2017-07-27 01:34:16 +02:00
53565962b2 Ask user to save when using save-as or snapshot+switch. 2017-07-26 23:49:57 +02:00
28c29ab22d Fix initial sync to LTC with small buffersizes
Ardour follow_slave() does nothing (not even seek) if the slave is not
locked.

The LTC-slave assumes it's locked if LTC is stable for 5 continuous
process-calls.

If the difference of Ardour's transport-position to the LTC-timecode
is large (> 2sec), the slave reset itself (assuming drift, seek don't vari-
speed).

A LTC-slave does reset does reset the locked counter.

Hence: If initially Ardour's transport differs > 2 sec and the buffersize
is small (many process-callbacks), the slave kept resetting itself
never informing Ardour that it locked to the external TC, and Ardour
never issued a seek.
2017-07-26 22:58:16 +02:00
b804109e8e update libltc 2017-07-26 22:58:12 +02:00
2fa34614d0 Remove unnecessary tests for touch-state 2017-07-25 20:16:04 +02:00
bde3edf1c8 Make start_touch() truly idempotent
Also don't allow outsiders to call Controllable::set_touching()
2017-07-25 20:15:12 +02:00
Johannes Mueller
9bfe404b4e Fix #6280 – region (first_frame()==0) selectable with SnapRegionBoundary
Issue #6280 states that when selecting ranges using SnapToRegionBoundary it's
not possible to select regions with first_frame() == 0. This is because
Playlist::find_next_region() does not consider region boundaries == pos but
only > pos. Thus it never considers pos == 0 to be a region boundary.

This solution tries to be as little invasive as possible without changing the
semantics of PlayList::find_next_region(). Therefore position 0 is added to the
region boundary cache if there's a region starting at position 0 in any track.
2017-07-25 17:39:08 +02:00
681ab52330 fix e838e7f359 2017-07-24 22:26:04 +02:00
e838e7f359 Fix Mixbus "well known" send-names and enable ctrls 2017-07-24 21:54:31 +02:00
a41198305e Update WritePass logic + AutomationList Undo
Fixes various issues when changing AutomationState while rolling.
2017-07-24 21:00:12 +02:00
8c260a647a update japanese translation (Hiroki Inagaki) 2017-07-24 14:59:11 -04:00
b694ee9e53 OSC: only use gain change signals if value changes 2017-07-24 10:21:31 -07:00
3ab4a1d147 OSC: add use groups to GUI 2017-07-24 10:21:31 -07:00
f3e0fcbb7e OSC: port mode by default should be manual 2017-07-24 10:21:31 -07:00
a9d2955f83 Replace a ringbuffer with a multi-reader circular table
a-Inline Spectrogram used a ringbuffer to send mixed down audio data
from the DSP thread to the inline display thread. The problem is that
several inline display threads can coexist (one for the channel strip in
the editor, one for the channel strip in the mixer, and soon one for an
inline display in the generic plugin UI). A ringbuffer is single-writer
single-reader so each display only got part of the data, and all were
competing for it.

Replace it with a circular table, where the DSP sets a write pointer,
and every (inline display) user keeps its own read pointer and checks it
is not so far in the past as to be overtaken by the DSP write pointer.
2017-07-24 15:05:05 +02:00
f1632fcfd2 OSC: make sure initialization is complete before we allow periodic to run 2017-07-23 20:08:02 -07:00
07e869fda8 OSC: simplify route observer 2017-07-23 20:08:02 -07:00
b29b46d371 Fix saving automation record undo
Calling AutomationList::before() clears the state.
2017-07-24 02:59:09 +02:00
30f85faa49 Update amp.cc to use gain_t for maths (no more double)
Also tweak threshold for LPF, assume gain-differences < 10-e5 as
no-change
2017-07-24 01:59:24 +02:00
4ff6ed0f22 Add touch to trim-control 2017-07-24 01:59:22 +02:00
fde0e293a3 Remove unused "mark" parameter from stop_touch() API 2017-07-24 01:59:18 +02:00
f04bacdfac Drags are such a drag. 2017-07-24 01:59:13 +02:00
2006701f73 Fix ctrl-list guard-points and concurrency issues
* lock list when editing (prevent concurrent modification of insert
  iterator
* don't add a guard-point if an event is already present between the
  target and guard-point-position
* remove existing automation-events (old guard points) when
  touching automation w/o change
* don't unset "new write pass" when not rolling
  (fixes issues when not rolling but locating with write-enabled)
2017-07-24 01:59:08 +02:00
25df9f1ba5 Start/end touch for generic-UI knob and proc-box inline ctrls 2017-07-24 01:59:03 +02:00
183351f333 Add touch-events signal emission to ArdourKnob 2017-07-23 19:40:20 +02:00
05ddcdc004 Initialize some uninitialized variables
Editor::redisplay_tempo() is called early on, before
Editor::set_timecode_ruler_scale() and Editor::compute_bbt_ruler_scale ()
are called.  That is a bug which needs fixing (initial tempo+grid display)
. Still, uninitialized vars are not good.
2017-07-23 19:20:35 +02:00
1508838bde OSC: add /use_group 1/0 command 2017-07-22 12:12:41 -07:00
b42dbe9e4e Sanitize printing of a-eq gain parameters 2017-07-22 17:41:35 +02:00
YQ-YSY
f1ce28b6d9 Update zh.po for v5.10 Chinese Language 2017-07-22 15:52:15 +02:00
c21345fc93 NO-OP: whitespace 2017-07-22 15:41:08 +02:00
24829c93b8 AutomationWatch: single DropReferences connection per AC 2017-07-22 15:40:27 +02:00
48ec6dd5c4 NO-OP: whitespace 2017-07-22 15:17:09 +02:00
fba2c2467d Fix Route mute automation touch (owned control) 2017-07-22 15:16:54 +02:00
24e92c1861 NO-OP: consistent [internal] API name for Automatables 2017-07-22 04:45:48 +02:00
f756dc69f4 NO-OP: Consistent API name 2017-07-22 04:25:07 +02:00
038c391d55 More non-rt calls to VCA - fixes VCA automation writing
This calls for a unified API to invoke
Automatable methods  ::transport_located() and ::transport_stopped()
on Stripables,  rather than indirectly calling it via
Route::non_realtime_locate(), Route::nonrealtime_handle_transport_stopped()
2017-07-21 23:07:51 +02:00
ce48dfdeba Hide VTAV header controls for small height 2017-07-21 21:48:20 +02:00
243cd35a36 Fix VCA Automation: end write pass 2017-07-21 21:48:20 +02:00
36f70d2bc2 Main Menu: some re-organization of session- and global-centric windows. 2017-07-21 14:44:37 -05:00
addcca9ff3 Fix recursion in FloatinTextEntry (amend f62c8c664d) 2017-07-21 18:58:51 +02:00
nick_m
886f4e6bc8 TempoMap legacy session loading fixes
Ensure we set the last tempo end note types per minute.
Clarify that we only set the end ntpm if unset.
2017-07-22 02:15:20 +10:00
nick_m
e4e3c10a90 Fis stray break statement when checking for a legacy tempo map
This could result in legacy sessions not being identified correctly and
loading with end tempi of -1.0.
2017-07-22 02:15:20 +10:00
nick_m
2925fd52e5 Rework tempo marker editing menu functions
Setting a tempo to 'Continue' via right click puts it in a permanent state
of continuing the previous section's end tempo (basically what
'Lock Continue' should have been). This can be disabled (unlocked) by
selecting 'Don't Continue'.

Remove the previous temporary 'Continue' function.

Reorganise menu to separate position lock style from more commonly
used functions.
2017-07-22 02:15:20 +10:00
nick_m
1c51435fa3 Calculate clamped tempo stretch ratios using the correct (musical) domain 2017-07-22 02:15:20 +10:00
nick_m
90547112e2 TempoMap : Remove old solve_map debugging code 2017-07-22 02:15:20 +10:00
nick_m
bb71a31b0c Move some duplicated replace/add tempo section code
Resets the previous tempo section's end ntpm to match the start
of a new section whenever a section is added to the map.
2017-07-22 02:15:20 +10:00
nick_m
1399ef391d Remove redundant beat arg from TempoMap::add_meter
BBT time should be enough to determine the beat.
2017-07-22 02:15:20 +10:00
nick_m
c03da364ad Fix incorrect double-snap when moving audio-locked tempi 2017-07-22 02:15:20 +10:00
nick_m
515cdb6b32 Rework region selection XML
Ensures that selection is restored in the same object type order
it was created in, which may some day make a difference.
2017-07-22 02:15:20 +10:00