13
0
Commit Graph

493 Commits

Author SHA1 Message Date
99ee7d7b61 Use PBD::to_string from pbd/string_convert.h in MixerStrip class
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.
2017-04-19 09:37:01 +10:00
634207dd6a Use AxisView::get/set_gui_property API in MixerStrip class 2017-04-19 09:36:58 +10:00
962e7a214a Revert "consistent use of context-menu popups"
This reverts commit b3722f7063.

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)
2017-03-24 14:48:46 +01:00
b3722f7063 consistent use of context-menu popups 2017-03-16 02:36:48 +01:00
c93bef0ab6 Consolidate code 2017-03-08 22:17:16 +01:00
6df23c4e65 consolidate Ardour+Mixbus code, fix duplicate SeparatorElem in MB. 2017-02-20 16:35:55 +01:00
edd1061c3d save/restore VCA master state inside slaves, so that a reloaded session ends up back in the same state 2017-02-06 16:49:08 +01:00
b759bae0cd Right-click on a VCA to assign it to the selected channels. 2017-02-02 11:02:10 -06:00
Daniel Sheeler
33c74357f0 Meter point toggle button now uses a popup menu instead of toggling 2017-01-24 13:38:23 +01:00
86e46ae41d Better fix for widgets that do not apply to master bus: leave them in place, but insensitive, to retain layout 2017-01-09 19:41:31 -06:00
69d043766f Revert "Remove the Solo+Iso buttons in the Master bus."
This reverts commit 7f280e2bed.
2017-01-09 19:07:36 -06:00
7f280e2bed Remove the Solo+Iso buttons in the Master bus. 2017-01-09 08:17:38 -06:00
36c34330b2 Vertically line up mixer strip (backport from Mixbus) 2016-12-21 03:53:45 +01:00
afa6720288 UI tweak for the spacer at the bottom of the master bus. 2016-12-12 12:16:43 -06:00
857c0d4a5e Refine instrument fan-out:
* prefix (rather than suffix) portgroup-name
* check if group already exists
* disconnect targets (when autoconnect preference is enabled)
* expose tracks/busses option
2016-11-11 10:48:33 +01:00
33942e6d52 Implement instrument fan-out options (group, track/bus) 2016-11-10 21:39:20 +01:00
b116a68a5c C++ implementation of fan_out_instrument.lua 2016-11-10 04:54:59 +01:00
b302f70265 Skip pin-management for MB channelstrip plugins 2016-09-15 15:32:45 +02:00
1d686ac978 Make name_button behave more like a Gtk::MenuToolButton
Make it popup its menu in attached mode, and on mouse down, but keep the
context menu behavior on right-click.
2016-08-18 11:52:22 +02:00
3ab6ff8be7 Make in/out buttons behave more like Gtk::MenuToolButton
Make them popup their menu as if attached rather than as a context menu.
2016-08-18 11:50:38 +02:00
b48e803cf6 Make the group button in MixerStrip behave like a dropdown
Since it mostly is a multiple-choice menu.
2016-08-17 01:46:11 +02:00
4093cf6b90 Make the trim knob on busses show only if there is audio
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.
2016-07-24 13:51:11 +02:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
9389ee1e96 Better heuristics for guessing the primary type of an input or output
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.
2016-07-09 21:08:16 +02:00
35b4cb91d2 update_io_button: store input() or output() in a variable
This avoids repeating "if (for_input)" checks.
2016-07-09 21:08:16 +02:00
da7d7f9502 many changes associated with rationalizing selection flow 2016-07-06 13:39:10 -04:00
e4ba62e4c4 show first word of comment on track's comment-button 2016-06-21 18:18:54 +02:00
b5a134d73a fix comment-button highlight 2016-06-20 00:59:21 +02:00
30fd6ed4de mark mixer strip name label (button) as having occasional text
Sometimes it shows a track number, sometimes not, but this should never affect its size request
2016-06-14 11:48:50 -04:00
b5387804a4 remove commented line 2016-06-14 11:48:08 -04:00
3888b244a6 mark mixer strip width and hide buttons as square 2016-06-14 11:47:53 -04:00
0678d0ada1 use new ControlSlaveUI object in mixer strip 2016-06-09 13:12:09 -04:00
01812f53c3 use, or mostly use PresentationInfo for selection status of Routes.
Needs extension to Surfaces, replacing GuiSelectionChanged signal concept
2016-06-05 20:50:57 -04:00
518f7f9892 RouteUI connects to Route's PropertyChange signal; derived types implement route_property_changed() 2016-06-05 16:33:02 -04:00
2161c5d507 use new RouteGroup property names 2016-06-05 16:33:01 -04:00
c31435b474 RouteUI is now also derived from SessionHandlePtr but NOT AxisView. Fix initialization.
Only "most derived" classes can initialize virtual base classes (SessionHandlePtr)
2016-06-05 16:33:01 -04:00
384d05dd35 change AxisView color API to be virtual and implement per-type variants 2016-06-05 16:33:01 -04:00
171b70927a make AxisView::marked_for_display() be virtual so we can use the a Stripable's PresentationInfo hidden() status 2016-06-05 16:33:01 -04:00
8818e1887a there is no explicit "Remote Control ID" control anymore - all done by ordering in the GUI 2016-06-02 19:19:22 -04:00
0d999ea4ec remove un-used name_hbox widget from TimeAxisView 2016-06-01 21:57:43 -04:00
22cbc69074 only show "Pin Connections..." in mixer-strip if there are plugins 2016-06-01 22:43:40 +02:00
f513878c8a MSVC itself defines a class called CheckMenuItem - so make sure we know to use the one from Gtk 2016-06-01 14:30:29 +01:00
4b11bb4d15 no-op; change comment 2016-05-31 15:30:44 -04:00
760beab7fa use Slavable API in GUI 2016-05-31 15:30:41 -04:00
653ae4acd6 universal change in the design of the way Route/Track controls are designed 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
2016-05-31 15:30:40 -04:00
91f8c0be54 use new API for control slave/master relationships 2016-05-31 15:30:40 -04:00
b34f949518 follow session track-number policy in mixer strip, as is done in the editor 2016-05-31 15:30:40 -04:00
04e26fe7e6 move VCA assignment up to Route level 2016-05-31 15:30:39 -04:00
dc9f579a8b add GUI support for slaving VCAs to other VCAs 2016-05-31 15:30:39 -04:00
9339a7b997 add solo/mute controls to VCAMasterStrip 2016-05-31 15:30:39 -04:00