Johannes Mueller [Thu, 13 Jul 2017 13:35:12 +0000 (15:35 +0200)]
Indicate gain reduction in a-comp
Robin Gareus [Thu, 13 Jul 2017 21:05:49 +0000 (23:05 +0200)]
Show range -60 .. +10 dBFS in acomp's inline display
Johannes Mueller [Sun, 25 Jun 2017 07:54:05 +0000 (09:54 +0200)]
Set makeup to 0.f when bypassed also in stereo version
Johannes Mueller [Sun, 18 Jun 2017 22:06:10 +0000 (00:06 +0200)]
Adjust the indication of the treshold value by the makup gain.
When lifting the compressor curve by the makeup gain value the actual
treshold (the level when the curve kinks in) is also lifted. Therefore we need
to adjust the dashed line indicating the threshold as well as the level when
the color gradient to show compression kicks in.
Johannes Mueller [Sun, 18 Jun 2017 21:56:23 +0000 (23:56 +0200)]
Also the stereo version needs to set need_expose
Johannes Mueller [Sun, 18 Jun 2017 21:41:23 +0000 (23:41 +0200)]
Show a-comp's makeup grain in inline rendering
Johannes Mueller [Thu, 20 Jul 2017 22:37:07 +0000 (00:37 +0200)]
Some abstractions to make the display look good in the plugin gui
Johannes Mueller [Thu, 20 Jul 2017 22:36:40 +0000 (00:36 +0200)]
Display the inline display in the generic plugin gui
Johannes Mueller [Thu, 20 Jul 2017 21:28:52 +0000 (23:28 +0200)]
Put plugin inline display into a freely available class ...
... and let ProcessorBox::PluginInlineDisplay inherit from it.
Robin Gareus [Mon, 31 Jul 2017 12:26:39 +0000 (14:26 +0200)]
Fix typo
Len Ovens [Mon, 31 Jul 2017 14:55:09 +0000 (07:55 -0700)]
OSC: Make stripname refresh in automation play mode as well.
Len Ovens [Mon, 31 Jul 2017 01:34:56 +0000 (18:34 -0700)]
OSC: fix VCAs try to connect to controls it does not have.
Robin Gareus [Sun, 30 Jul 2017 23:48:28 +0000 (01:48 +0200)]
Some session cleanup fixes (delete slave, take lock for lua)
Petr Semiletov [Sun, 30 Jul 2017 14:31:55 +0000 (17:31 +0300)]
More Russian translation updated and fixes
Alexandre Prokoudine [Sun, 30 Jul 2017 14:35:21 +0000 (17:35 +0300)]
Update Russian translation
Robin Gareus [Sun, 30 Jul 2017 02:51:25 +0000 (04:51 +0200)]
VCA master-strip: drop gain-control reference
Robin Gareus [Sun, 30 Jul 2017 00:41:02 +0000 (02:41 +0200)]
Remove an unused variable
Robin Gareus [Sun, 30 Jul 2017 00:40:45 +0000 (02:40 +0200)]
Binding Proxy: Drop references as requested.
Robin Gareus [Sun, 30 Jul 2017 00:34:14 +0000 (02:34 +0200)]
Turn AutomationCtrl into a SessionHandleRef
This fixes a crash with GUI elements which are only deleted during GUI
Idle and hold a Reference to a Controllable,
The session is already destroyed at that point:
ARDOUR::CoreSelection::remove_control_by_id(PBD::ID const&)
ARDOUR::AutomationControl::~AutomationControl()
ARDOUR::SlavableAutomationControl::~SlavableAutomationControl()
ARDOUR::MonitorControl::~MonitorControl()
boost::detail::sp_counted_base::destroy()
boost::detail::sp_counted_impl_p<AudioGrapher::Interleaver<float>::Input>::dispose()
boost::detail::sp_counted_base::release()
boost::detail::shared_count::~shared_count()
boost::shared_ptr<PBD::Controllable>::~shared_ptr()
boost::shared_ptr<PBD::Connection>::~shared_ptr()
ArdourWidgets::BindingProxy::~BindingProxy()
ArdourWidgets::ArdourButton::~ArdourButton()
VCAMasterStrip::~VCAMasterStrip()
int idle_delete<VCAMasterStrip>(VCAMasterStrip*)
Robin Gareus [Sun, 30 Jul 2017 00:27:52 +0000 (02:27 +0200)]
NO-OP: name-change (_list and _lock are also used in other places)
Derived classes need to explicitly specify namespace and class
to avoid ambiguities (even for private members)
Petr Semiletov [Sat, 22 Jul 2017 12:35:40 +0000 (15:35 +0300)]
Russian po updates, typo in automation_time_axis.cc fix
John Emmas [Sat, 29 Jul 2017 09:46:53 +0000 (10:46 +0100)]
Modify our MSVC project to add libltc as a dependency of 'dummy_backend' (which now needs to link to it)
John Emmas [Sat, 29 Jul 2017 09:44:00 +0000 (10:44 +0100)]
Fix an ambiguous call to 'floor()'
MSVC complains, so let's specify which override we want.
Robin Gareus [Sat, 29 Jul 2017 00:05:28 +0000 (02:05 +0200)]
Fix edit-cursor in TextEntry
Gtk::WINDOW_POPUP cannot be used for windows that require focus.
A gtk-entry without focus does not show an edit-cursor.
Robin Gareus [Fri, 28 Jul 2017 18:15:15 +0000 (20:15 +0200)]
PortManager::unregister_port() must be called with process lock
This fixes "Failed to register <surface> port" when re-loading a session.
Robin Gareus [Fri, 28 Jul 2017 18:11:55 +0000 (20:11 +0200)]
Delete CoreSelection at session close
Robin Gareus [Fri, 28 Jul 2017 15:47:36 +0000 (17:47 +0200)]
Add a LTC generator to the dummy backend
Robin Gareus [Fri, 28 Jul 2017 00:12:19 +0000 (02:12 +0200)]
Allow to rename VCAs in the editor
Robin Gareus [Thu, 27 Jul 2017 15:50:27 +0000 (17:50 +0200)]
Fix write-pass re-start while in an active write-pass
Ben Loftis [Thu, 27 Jul 2017 15:33:43 +0000 (10:33 -0500)]
Initial checkin of TouchOSC interfaces to repository.
Robin Gareus [Thu, 27 Jul 2017 01:22:21 +0000 (03:22 +0200)]
Fix pasting automation at 0
Robin Gareus [Wed, 26 Jul 2017 23:40:13 +0000 (01:40 +0200)]
Start a new write-pass when writing automation and locating while rolling
Robin Gareus [Wed, 26 Jul 2017 23:34:16 +0000 (01:34 +0200)]
Fix ATAV hide button for VCA lanes
Robin Gareus [Wed, 26 Jul 2017 21:34:21 +0000 (23:34 +0200)]
Ask user to save when using save-as or snapshot+switch.
Robin Gareus [Wed, 26 Jul 2017 20:54:31 +0000 (22:54 +0200)]
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.
Robin Gareus [Wed, 26 Jul 2017 20:23:50 +0000 (22:23 +0200)]
update libltc
Robin Gareus [Tue, 25 Jul 2017 18:16:04 +0000 (20:16 +0200)]
Remove unnecessary tests for touch-state
Robin Gareus [Tue, 25 Jul 2017 18:15:12 +0000 (20:15 +0200)]
Make start_touch() truly idempotent
Also don't allow outsiders to call Controllable::set_touching()
Johannes Mueller [Sun, 23 Jul 2017 18:07:17 +0000 (20:07 +0200)]
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.
Robin Gareus [Mon, 24 Jul 2017 20:26:04 +0000 (22:26 +0200)]
Robin Gareus [Mon, 24 Jul 2017 19:54:31 +0000 (21:54 +0200)]
Fix Mixbus "well known" send-names and enable ctrls
Robin Gareus [Mon, 24 Jul 2017 18:54:32 +0000 (20:54 +0200)]
Update WritePass logic + AutomationList Undo
Fixes various issues when changing AutomationState while rolling.
Paul Davis [Mon, 24 Jul 2017 18:59:11 +0000 (14:59 -0400)]
update japanese translation (Hiroki Inagaki)
Len Ovens [Mon, 24 Jul 2017 17:14:21 +0000 (10:14 -0700)]
OSC: only use gain change signals if value changes
Len Ovens [Mon, 24 Jul 2017 14:07:39 +0000 (07:07 -0700)]
OSC: add use groups to GUI
Len Ovens [Mon, 24 Jul 2017 14:07:05 +0000 (07:07 -0700)]
OSC: port mode by default should be manual
Julien "_FrnchFrgg_" RIVAUD [Mon, 24 Jul 2017 12:54:10 +0000 (14:54 +0200)]
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.
Len Ovens [Mon, 24 Jul 2017 03:07:01 +0000 (20:07 -0700)]
OSC: make sure initialization is complete before we allow periodic to run
Len Ovens [Mon, 24 Jul 2017 00:11:59 +0000 (17:11 -0700)]
OSC: simplify route observer
Robin Gareus [Mon, 24 Jul 2017 00:59:09 +0000 (02:59 +0200)]
Fix saving automation record undo
Calling AutomationList::before() clears the state.
Robin Gareus [Sun, 23 Jul 2017 23:56:25 +0000 (01:56 +0200)]
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
Robin Gareus [Sun, 23 Jul 2017 23:58:25 +0000 (01:58 +0200)]
Add touch to trim-control
Robin Gareus [Sun, 23 Jul 2017 23:22:50 +0000 (01:22 +0200)]
Remove unused "mark" parameter from stop_touch() API
Robin Gareus [Sun, 23 Jul 2017 22:52:38 +0000 (00:52 +0200)]
Drags are such a drag.
Robin Gareus [Sun, 23 Jul 2017 21:52:20 +0000 (23:52 +0200)]
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)
Robin Gareus [Sun, 23 Jul 2017 17:44:45 +0000 (19:44 +0200)]
Start/end touch for generic-UI knob and proc-box inline ctrls
Robin Gareus [Sun, 23 Jul 2017 17:40:20 +0000 (19:40 +0200)]
Add touch-events signal emission to ArdourKnob
Robin Gareus [Sun, 23 Jul 2017 17:20:35 +0000 (19:20 +0200)]
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.
Len Ovens [Sat, 22 Jul 2017 19:11:13 +0000 (12:11 -0700)]
OSC: add /use_group 1/0 command
Robin Gareus [Sat, 22 Jul 2017 15:41:35 +0000 (17:41 +0200)]
Sanitize printing of a-eq gain parameters
YQ-YSY [Sat, 22 Jul 2017 02:02:14 +0000 (10:02 +0800)]
Update zh.po for v5.10 Chinese Language
Robin Gareus [Sat, 22 Jul 2017 13:41:08 +0000 (15:41 +0200)]
NO-OP: whitespace
Robin Gareus [Sat, 22 Jul 2017 13:40:27 +0000 (15:40 +0200)]
AutomationWatch: single DropReferences connection per AC
Robin Gareus [Sat, 22 Jul 2017 13:17:09 +0000 (15:17 +0200)]
NO-OP: whitespace
Robin Gareus [Sat, 22 Jul 2017 13:16:54 +0000 (15:16 +0200)]
Fix Route mute automation touch (owned control)
Robin Gareus [Sat, 22 Jul 2017 02:45:48 +0000 (04:45 +0200)]
NO-OP: consistent [internal] API name for Automatables
Robin Gareus [Sat, 22 Jul 2017 02:25:07 +0000 (04:25 +0200)]
NO-OP: Consistent API name
Robin Gareus [Fri, 21 Jul 2017 21:07:51 +0000 (23:07 +0200)]
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()
Robin Gareus [Fri, 21 Jul 2017 19:48:07 +0000 (21:48 +0200)]
Hide VTAV header controls for small height
Robin Gareus [Fri, 21 Jul 2017 19:46:36 +0000 (21:46 +0200)]
Fix VCA Automation: end write pass
Ben Loftis [Fri, 21 Jul 2017 19:44:37 +0000 (14:44 -0500)]
Main Menu: some re-organization of session- and global-centric windows.
Robin Gareus [Fri, 21 Jul 2017 16:58:51 +0000 (18:58 +0200)]
Fix recursion in FloatinTextEntry (amend
f62c8c664d)
nick_m [Fri, 21 Jul 2017 15:54:24 +0000 (01:54 +1000)]
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.
nick_m [Fri, 21 Jul 2017 13:48:06 +0000 (23:48 +1000)]
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.
nick_m [Thu, 20 Jul 2017 14:17:58 +0000 (00:17 +1000)]
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.
nick_m [Mon, 17 Jul 2017 17:10:07 +0000 (03:10 +1000)]
Calculate clamped tempo stretch ratios using the correct (musical) domain
nick_m [Mon, 17 Jul 2017 17:00:37 +0000 (03:00 +1000)]
TempoMap : Remove old solve_map debugging code
nick_m [Mon, 17 Jul 2017 16:57:52 +0000 (02:57 +1000)]
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.
nick_m [Mon, 17 Jul 2017 16:48:04 +0000 (02:48 +1000)]
Remove redundant beat arg from TempoMap::add_meter
BBT time should be enough to determine the beat.
nick_m [Wed, 21 Jun 2017 15:18:00 +0000 (01:18 +1000)]
Fix incorrect double-snap when moving audio-locked tempi
nick_m [Wed, 21 Jun 2017 13:51:12 +0000 (23:51 +1000)]
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.
nick_m [Wed, 21 Jun 2017 13:02:52 +0000 (23:02 +1000)]
Cropping a single region to time selection works for multiple ranges
Should fix 7285.
nick_m [Fri, 16 Jun 2017 19:28:02 +0000 (05:28 +1000)]
Fix time selection undo for multiple time selections
This is in mantis somewhere but i can't find it. timbyr?
nick_m [Fri, 16 Jun 2017 19:11:38 +0000 (05:11 +1000)]
Disable tempo end/twist drag for meter-locked tempi
It was assumed that the drag takes place within an area of musical time.
This is not true for the space before any non-initial
meter-locked tempo.
In the case of the initial tempo, there is no previous section
to perform an end-drag on.
nick_m [Fri, 16 Jun 2017 19:06:42 +0000 (05:06 +1000)]
Only add a new tempo or meter on click if the primary modifier is pressed
Being able to add with any modifier can confuse a user who expected
a tempo-altering drag.
nick_m [Fri, 16 Jun 2017 19:01:20 +0000 (05:01 +1000)]
Remove duplicated tempo curve colour change when dragging
nick_m [Fri, 16 Jun 2017 18:59:06 +0000 (04:59 +1000)]
Fix various issues wrt BBTRulerDrag
If we've clicked on a tempo bar before the initial tempo,
don't allow anything to happen.
If it was just a click, ensure the tempo curve colour is restored.
nick_m [Fri, 16 Jun 2017 18:50:44 +0000 (04:50 +1000)]
Check for identical meter positions in old sessions by beat rather than pulse
nick_m [Fri, 16 Jun 2017 18:25:50 +0000 (04:25 +1000)]
Indicate musical position lock style of regions and locations using BEAMED EIGHTH NOTES in name
Also attempt to indicate lock type with symbols CROSS OF JERUSALEM and
LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
nick_m [Fri, 16 Jun 2017 18:09:48 +0000 (04:09 +1000)]
Time info box updates its length display correctly over a tempo change
nick_m [Fri, 16 Jun 2017 18:08:56 +0000 (04:08 +1000)]
Rework time info box updates on region selection change
Should provide better performance as we now only listen for changes in the
selected regions. Testing every changed region to see if its in
the selection was not working very well under some circumstances.
nick_m [Fri, 16 Jun 2017 17:43:38 +0000 (03:43 +1000)]
Call Editor::abort_reversible_command() in MidiRegionView::abort_command()
Fixes broken undo stack if no changes occurred.
Edit note dialog is currently the only user.
nick_m [Fri, 16 Jun 2017 17:39:37 +0000 (03:39 +1000)]
Remove double-nested reversible command when note editing
nick_m [Fri, 16 Jun 2017 17:38:18 +0000 (03:38 +1000)]
Fix both note length setting and display in EditNoteDialog
Length clock uses region relative time converter with offset to display
correct value over tempo changes.
Fix note length setting by using source time converter on a sample duration
based on a session-relative offset.
nick_m [Fri, 16 Jun 2017 17:24:29 +0000 (03:24 +1000)]
Add missing braces to Editor::cut_copy conditional
nick_m [Fri, 16 Jun 2017 17:22:30 +0000 (03:22 +1000)]
Editor::playhead_forward/backward_to_grid snaps even in magnetic mode
Len Ovens [Fri, 21 Jul 2017 15:22:02 +0000 (08:22 -0700)]
OSC make all group dispositions the same
Johannes Mueller [Thu, 13 Jul 2017 15:30:16 +0000 (17:30 +0200)]
Increase range of a-comp#stereo release time
Like for the mono version in
f52443e17e818145d736e8f386b6a7aba6d8b5c7
Robin Gareus [Fri, 21 Jul 2017 13:49:28 +0000 (15:49 +0200)]
Properly propagate TAV TimeSelection
Robin Gareus [Fri, 21 Jul 2017 11:01:43 +0000 (13:01 +0200)]
Amend
c242cbc31806 (VCA automation button)