Age | Commit message (Collapse) | Author |
|
THe original determinant of width was:
double const width = ((at->mode() == Destructive) ? 2 : 0);
the conditional is always false now, so the width is a constant (zero)
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
"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...
|
|
|
|
|
|
|
|
|
|
combos to update for hotplug
This approach should extended to other things, notably control surfaces
|
|
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 8400ebd175e0)
|
|
|
|
This is for Mixbus, which always shows the VCA button regardless
of VCAs being present in the session.
|
|
|
|
|
|
This is mainly for windows compatibility "%F" is not supported.
An alternative would be to s/%F/%Y-%m-%d/ to produce the ISO date.
|
|
|
|
This currently only handles initial session load by dbl-click on
a session file. It also does not work if the user or new or
subject to a pre-release warning. These last two restrictions
may remain in place, although if a person's first exposure to
the program is "copy my session, download program, dbl-click
on the session file", then that's not so nice
|
|
|
|
|
|
|
|
|
|
This use-case is better served via stem-export.
This export mode never worked correctly when latent plugins
are present on the track. or when realtime export was chosen.
This used to call
track.export_stuff() -> bounce_process()
periodically in small chunks from freewheeling callback,
which is no longer functional.
|
|
ARDOUR_UI
|
|
To reproduce. Launch, right click in ruler area then drag down
until over the master track and let go.
#0 0x0000555555ba1d44 in boost::shared_ptr<ARDOUR::Route>::get() const (this=0x8) at /usr/include/boost/smart_ptr/shared_ptr.hpp:748
#1 0x0000555555ba0a2f in boost::dynamic_pointer_cast<ARDOUR::Track, ARDOUR::Route>(boost::shared_ptr<ARDOUR::Route> const&) (r=...)
at /usr/include/boost/smart_ptr/shared_ptr.hpp:904
#2 0x000055555650b92b in RouteUI::track() const (this=0x0) at ../gtk2_ardour/route_ui.cc:1885
#3 0x0000555555d0b92f in Editor::popup_track_context_menu(int, int, ItemType, bool) (this=
0x555557a3efd0, button=1, time=600214966, item_type=StreamItem, with_selection=false) at ../gtk2_ardour/editor.cc:1595
#4 0x0000555555e1a4cf in Editor::button_release_handler(ArdourCanvas::Item*, _GdkEvent*, ItemType) (this=0x555557a3efd0, item=
0x555557b2fe00, event=0x7fffffffc310, item_type=StreamItem) at ../gtk2_ardour/editor_mouse.cc:1543
....
|
|
|
|
This is an effective NO-OP
* Some methods have been re-named to improve consistency
* Duplicate function calls were removed:
RouteUI::set_route() already updates mute/solo
MixerStrip does not have to update it again
* virtual methods have been protected
|
|
ConfigurationChanged() is emitted after processors have been
reconfigured (e.g adding/removing a plugin).
The button state needs to be updated after setup.
Bfore d6315618da this worked because _route->io_changed()
is emitted before the processors are re-configured, and
phase_control()->Changed() triggered an update after that.
PS. The motivation for d6315618da are Mixbusses. They have no input
channels, but a Return processor before the polarity processor.
|
|
This fixes an issue when trying to rename a send or insert
to the current name (no-rename).
::rename_processor() checks if io_name_is_legal(),
Since the current name is already in use, a numeric-suffix
was added.
|
|
More work needed to fix requirement in StartupFSM that ::load_from_application_api()
is called before ::start()
|
|
|
|
|
|
Dumping errors to stderr only is not very useful. Particularly not
on Windows and MacOS.
Even though a user may not be able to address the issue, this
can lead to better reports vs just printing "corrupt state".
|
|
On session re-load only automation lanes with events were displayed,
regardless of visibility state. This allowed for inconsistent
state (menu showed them as visible even if they were not).
|
|
Ideally we'd use a "retain ID when present", so that GUI object
state of automation lanes and inline controls will be retained.
|
|
There are various ways to cancel a dialog. Only checking for
RESPONSE_CANCEL is not sufficient. e.g. Esc causes a delete-event.
* Gtk::RESPONSE_CLOSE
* Gtk::RESPONSE_REJECT
* Gtk::RESPONSE_DELETE_EVENT
* Gtk::RESPONSE_CANCEL
* Gtk::RESPONSE_NO
Among others this fixes "Clicking session > open,
then hitting ESC opens the currently selected folder and session"
|
|
|
|
|
|
|
|
|
|
|
|
Previously "Sequence files" set import_status.track and never
reset() the shared pointer. This resulted in various follow up
issues.
|
|
This has been superseded by the previous commit, doing this
independently from the GTK GUI.
|
|
If the file has a timestamp, it should be set in the region during import.
This keeps the BWF timestamp from being lost and allows the region context
menu item "Move to original Position" to work.
It does not affect where the region will be positioned during import. That
still follows the import dialog menu selection (playhead, session start,
etc). It just maintains data that the user can decided to use if needed.
This change also allows files to be imported to the source list and then
later placed on the timeline in the correct timestamped position.
|