Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
Trim automation is planned via SlavableAC as normal AutomationMode.
Some of this code have a revival (a special "Trim+Preview" state
before merging Automation but that has to be more general than Pan & Gain.
|
|
The numeric formatting is equivalent. Even though this string is being used in
the UI as a label I think this is another case where we don't want a localized
numeric string, which would only be relevant with a track count >=1000.
|
|
|
|
This reverts commit b3722f7063699fafd0421d504e05a7300c70e0ec.
In some cases ardour shows context-menu on right-mouse-button
release. In this case selecting a menu-entry should happen
with the left-mouse button (or any button?!)
Using ev->button is only correct if the menu is temporary and only
visible while the button is held, button release then activates the
menu-item.
This needs further work, in some cases allowing any button (0) to work
makes sense and overall consistency needs to be improved.
Different places use different strategies for context-menus which
don't always match the button used in the event-handler.
This is a hotfix (to make TAV context menus work again with left-click)
|
|
|
|
|
|
|
|
up back in the same state
|
|
|
|
|
|
but insensitive, to retain layout
|
|
This reverts commit 7f280e2bed51cfa56fedeaf08f28b6040c93b5b1.
|
|
|
|
|
|
|
|
* prefix (rather than suffix) portgroup-name
* check if group already exists
* disconnect targets (when autoconnect preference is enabled)
* expose tracks/busses option
|
|
|
|
|
|
|
|
Make it popup its menu in attached mode, and on mouse down, but keep the
context menu behavior on right-click.
|
|
Make them popup their menu as if attached rather than as a context menu.
|
|
Since it mostly is a multiple-choice menu.
|
|
The trim knob has been designed to operate only on audio channels. If
the bus has none, hide the knob that would otherwise have no effect at
all.
Factor the trim control show/hide code out of MixerStrip::set_route(),
and also call that code in response to I/O changes in the route.
|
|
|
|
In order to choose which port name to display (if any) in the button,
MixerStrip::update_io_button() first chose a primary type for the input
or output. It was AUDIO in all cases, except if the route was a
MidiTrack where the primary type was MIDI.
In the latter case, it enabled the following code of update_io_button()
to show the MIDI sources feeding the MidiTrack rather than showing an
unhelpful dash.
But this simple heuristic has several shortcommings:
- Going further, tracks and busses will probably loose strong types so
the approach is not future-proof;
- It doesn't take midi busses into account, yet there is no reason for
them to be handled differently than midi tracks;
- It falls short when the midi track contains a synthesiser and is
meant to output audio.
Improve the heuristics by choosing the data type as follows:
A) If there are connected audio ports, consider audio as primary type.
B) Else, if there are connected midi ports, consider midi as primary type.
C) If there are audio ports, consider audio as primary type.
D) Else, if there are midi ports, consider midi as primary type.
These new heuristics give the same results for audio tracks and busses
(whose audio inputs have not been removed), and the same result for the
input of midi tracks (again, provided the inputs have not been tampered
with). It improves the situation for inputs of midi busses, and output
of midi tracks and busses, especially when synthesisers are in use.
|
|
This avoids repeating "if (for_input)" checks.
|
|
|
|
|
|
|
|
Sometimes it shows a track number, sometimes not, but this should never affect its size request
|
|
|
|
|
|
|
|
Needs extension to Surfaces, replacing GuiSelectionChanged signal concept
|
|
route_property_changed()
|
|
|
|
initialization.
Only "most derived" classes can initialize virtual base classes (SessionHandlePtr)
|
|
|
|
Stripable's PresentationInfo hidden() status
|
|
ordering in the GUI
|
|
|
|
|
|
use the one from Gtk
|
|
|
|
|
|
and used. The controls now own their own state, rather than proxy for state in their owners.
Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
|