Commit Graph

29411 Commits

Author SHA1 Message Date
efb63e1bf2
Pan: remove value-as-string indirection 2020-03-21 19:46:38 +01:00
991f92c2c6
Pan: remove unused APIs 2020-03-21 19:46:38 +01:00
628d704d4e
Panner GUI: fix detent in center
Previously the dead-zone was too small (1/360). The mono/balance
panner GUI has a throw of 180 deg L<>R.

Also snapping to center didn't allow to smoothly move out of the
center. The accumulated_delta as directly applied. This caused
jumps by 4.5. degrees.

This commit reduces the deadzone to 1 degree of the azimuth
around the center.
2020-03-21 19:46:38 +01:00
875f694380
Pan: remove VBAP requirement to access session 2020-03-21 19:46:38 +01:00
bf894d80fb
NO-OP: remove unused #includes 2020-03-21 19:46:38 +01:00
8296a030a5 redesign chasing the transport master
Substantive comments associated with code in Session::plan_master_strategy.

Known not to work for reverse TC. Also, the JACK related code has not yet been tested
2020-03-20 17:38:38 -06:00
e6e0edbe90 fix condition under which out-of-window MTC should trigger locate 2020-03-20 17:38:38 -06:00
5f27382b88
Remove Audio+MIDI track, and consolidate route creation methods
Audio+MIDI tracks were just MIDI tracks with an additional
audio input, and do not directly allow use of vocoders (an
instrument is loaded by default).

For pitch-correction or similar use-cases one would prefer an
audio-track (main data) with MIDI only being used as control-input.

Ardour 5/6 pin-connections and side-chain offer a much nicer
workflow for this setup.

Alternatively one can get those tracks-types by manually adding
an input port to an existing track, and creating a custom template.
2020-03-19 16:18:48 +01:00
e8776d39fe
Fix wine-VST build 2020-03-18 19:57:59 +01:00
a44fecb740
Hide hidden Controls in GUI 2020-03-18 18:16:32 +01:00
28f15d3fa6
Add flag to explicitly hide a control
Eventually this is to replace a literal name "hidden" that is
currently used as hack throughout Ardour's codebase.
2020-03-18 18:16:29 +01:00
John Emmas
66d1b51392 Add/remove source(s) in our MSVC project (gtk2_ardour) 2020-03-18 09:24:13 +00:00
John Emmas
ca4e3c2556 Add/remove source(s) in our MSVC project (libardour) 2020-03-18 09:21:57 +00:00
e83d1f7368 warn user about destructive/tape tracks 2020-03-17 16:31:50 -06:00
1783305077 provide mechanism to report on destructive tracks presence in a session 2020-03-17 16:31:50 -06:00
53e743f4ae remove reference to ImportAsTapeTracks 2020-03-17 16:31:49 -06:00
0738472fee NOOP: indent/whitespace 2020-03-17 16:31:49 -06:00
295fb3ff5a allow loading of regions derived from formerly "destructive" sources with correct length
Without this change, such regions end up with insanely large (though legal) lengths
2020-03-17 16:31:49 -06:00
a30ee6950d restore being able to load a 5.12 session with a destructive track.
Not all is working right yet, however
2020-03-17 16:31:49 -06:00
a4d7b45fe0 remove destructive/tape mode tracks 2020-03-17 16:31:49 -06:00
e89b0cfd27 remove tape_file_matcher source 2020-03-17 16:31:49 -06:00
5f88cbfd39
Prevent adding routes in read-only sessions
"AddTrackBus" is a rec_sensitive and write_sensitive action.

However the mixer bypasses this and unconditionally calls
ARDOUR_UI::instance()->add_route () in various cases
(right-click on blank space or scroller, left-click on "Add" buttons
in the VCA pane, route pane, etc).

Since those are direct events, not related actions, they need
to be explicitly ignored.

Ideally the "+" buttons would be made insensitive...
2020-03-17 22:30:58 +01:00
45026100aa LV2: Implement ui:requestValue feature 2020-03-17 16:55:35 +01:00
a7a781971e
Change default stereo panner to equal power balance
The stereo-width panner is not generally useful. In order to
change the azimuth, width has to be reduced, which usually leads
to comb-filter artifacts.

Equal power stereo, also matches the default mono to stereo panner
better than the stereo-width panner.

Last but not least, control surfaces only have an azimuth control
knob, without an easy way to reduce width, this leaves
the panner insensitive.
2020-03-15 21:39:53 +01:00
dbd4b9d07d
Fix cleanup report #7891
Direct call to Session::cleanup_sources() from ARDOUR_UI::cleanup()
didn't zero initialize size. This centralizes initialization,
so cleanup_trash_sources() does not need to explicitly clear it.
2020-03-15 20:31:57 +01:00
efb9f3c54e
NO-OP: cleanup includes 2020-03-15 20:19:13 +01:00
f941b3fadd
Add/use default argument for track creation 2020-03-15 14:03:24 +01:00
7f862298cf
Fix loading playlists of old sessions
Previously when loading Ardour v2, v3-5 sessions, tracks were
created with a dummy name "toBeResetFroXML".

In v6, Track::init() creates a playlist when the track name is
not empty. Later Track::set_state() calls set_name(). When a
playlist exists, the playlist's name is set to match the track's name.

When loading v6 sessions none of this happens. A previously loaded
playlist will be assigned by ID.

Older versions identified Playlists by name and by the time the
playlist is assigned, there may be ambiguities. With the default
(track-name = playlist-name) two playlists with the same name exist:

 (1) the playlist loaded from the session file
 (2) the playlist created by Track::init()

Playlists are stored in an ordered std::set<shared_ptr<Playlist>>,
and name-lookup iterates over the set.

When loading an old session after starting Ardour, it is very
likely to always lookup the playlist (1), because new, later
allocations from (2) are on top of the heap and ordered last.

The session seemingly loads correctly, except for lingering,
unused empty playlists "toBeResetFroXML" renamed to "Track name"
that were never deleted.

However when loading an old session from a running instance,
ordering is mostly random, and many tracks end up with using
the empty playlist (2) instead of the correct playlist (1).
2020-03-15 13:34:13 +01:00
213b3cd593
More useful debug message (print script that failed to parse) 2020-03-15 12:50:30 +01:00
93a5f2d768
Fix typo in script 2020-03-15 11:24:55 +01:00
d9836ec002
Update GUI: freeze operation error/warnings 2020-03-14 13:25:54 +01:00
db59711bc9
Fix SessionHandleRef shared-ptr leak when unfreezing tracks 2020-03-14 13:25:54 +01:00
8f37865070
Prevent freeze/bounce of sidechain processors
This also consolidates code to test if a processor can be frozen
from various places.
2020-03-14 13:25:54 +01:00
97f3d9496b
Show latency display/config button for in all plugin UIs 2020-03-14 13:25:51 +01:00
John Emmas
e3ad436bda Update 'CURRENT_SESSION_FILE_VERSION' for our MSVC builds 2020-03-14 11:23:26 +00:00
91a87fbc5b somewhat convoluted reworking to get TransportMastersWidget's per-row port combos to update for hotplug
This approach should extended to other things, notably control surfaces
2020-03-13 22:16:37 -06:00
d95f6039f8 import_pt.cc: Remove process lock on AudioEngine && save less often 2020-03-14 12:03:22 +11:00
91c92f8e25 remove debug output 2020-03-13 13:52:38 -06:00
7ba8714e37 add/alter DEBUG_TRACE output 2020-03-13 13:52:38 -06:00
ee1f8a6fc7 add comment and additional reset when reinitializing transport master engine DLL 2020-03-13 13:52:38 -06:00
c83d509203 when locating to follow a transport master, reset engine DLL 2020-03-13 13:52:38 -06:00
f5ec5ea929 add new API to TransportMasterManager to manage use of DiskReader::{inc,dec}_no_disk_output() 2020-03-13 13:52:38 -06:00
cc43ec3ef6 adjust TransportFSM to avoid declick to locate if DiskReader::_no_disk_output is set
Under those conditions, the DR will not execute a code path that will cause the declick to take place
and therefore the declick will never finish
2020-03-13 13:52:38 -06:00
cf15b6ad7a prevent out-of-window MTC messages from moving transport if we're not using MTC
in 5.x, we would only run the MTC parsing code if slaved to MTC. That's no longer true in 6.0, and without
this change, MTC will cause a locate at startup
2020-03-13 13:52:38 -06:00
26b6b8d840
mingw/gcc-8: use glib's stat(), drop hardlink support 2020-03-13 01:21:51 +01:00
64ddc5dd32
Fix setting automation state for Aux-sends
When switching the Mixer to show sends, using _amp as
intermediate for automation is not correct.
The control is not owned by the amp.
The same is true for VCAs, prefer the control (see 8400ebd175)
2020-03-12 18:44:30 +01:00
5b113c9c5b
Fix un/bypassing Aux-send panners
This fixes issues with send-panner bypass whenever the
target bus input-count is different from the send's channel count.

--

Previously, when the aux-send panner was bypassed, data was
copied using BufferSet::read_from().
This sets the channel count of the output buffer set (here: mixbufs)
to match the input (here: bufs).

e.g. mono to stereo, "1 in -> 2 out" out was changed to "1 in -> 1 out".

Un-bypassing the panner later does not reconfigure the I/O.
Mixbufs remained mono, and PannerShell::run() "1 in -> 1 out"
does nothing. The panner was effectively not functional.
2020-03-12 02:23:49 +01:00
33f85b094b
NO-OP: reduce scope 2020-03-12 02:13:27 +01:00
dd30b8b31e
NO-OP: whitespace 2020-03-12 01:58:50 +01:00
6ad3ce7bff audio clocks that are not editable are not focusable either 2020-03-11 09:07:28 -06:00