Paul Davis
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
Ben Loftis
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
Ben Loftis
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
Ben Loftis
69d043766f
Revert "Remove the Solo+Iso buttons in the Master bus."
...
This reverts commit 7f280e2bed .
2017-01-09 19:07:36 -06:00
Ben Loftis
7f280e2bed
Remove the Solo+Iso buttons in the Master bus.
2017-01-09 08:17:38 -06:00
Robin Gareus
36c34330b2
Vertically line up mixer strip (backport from Mixbus)
2016-12-21 03:53:45 +01:00
Ben Loftis
afa6720288
UI tweak for the spacer at the bottom of the master bus.
2016-12-12 12:16:43 -06:00
Robin Gareus
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
Robin Gareus
33942e6d52
Implement instrument fan-out options (group, track/bus)
2016-11-10 21:39:20 +01:00
Robin Gareus
b116a68a5c
C++ implementation of fan_out_instrument.lua
2016-11-10 04:54:59 +01:00
Robin Gareus
b302f70265
Skip pin-management for MB channelstrip plugins
2016-09-15 15:32:45 +02:00
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Paul Davis
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Paul Davis
da7d7f9502
many changes associated with rationalizing selection flow
2016-07-06 13:39:10 -04:00
Robin Gareus
e4ba62e4c4
show first word of comment on track's comment-button
2016-06-21 18:18:54 +02:00
Robin Gareus
b5a134d73a
fix comment-button highlight
2016-06-20 00:59:21 +02:00
Paul Davis
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
Paul Davis
b5387804a4
remove commented line
2016-06-14 11:48:08 -04:00
Paul Davis
3888b244a6
mark mixer strip width and hide buttons as square
2016-06-14 11:47:53 -04:00
Paul Davis
0678d0ada1
use new ControlSlaveUI object in mixer strip
2016-06-09 13:12:09 -04:00
Paul Davis
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
Paul Davis
518f7f9892
RouteUI connects to Route's PropertyChange signal; derived types implement route_property_changed()
2016-06-05 16:33:02 -04:00
Paul Davis
2161c5d507
use new RouteGroup property names
2016-06-05 16:33:01 -04:00
Paul Davis
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
Paul Davis
384d05dd35
change AxisView color API to be virtual and implement per-type variants
2016-06-05 16:33:01 -04:00
Paul Davis
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
Paul Davis
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
Paul Davis
0d999ea4ec
remove un-used name_hbox widget from TimeAxisView
2016-06-01 21:57:43 -04:00
Robin Gareus
22cbc69074
only show "Pin Connections..." in mixer-strip if there are plugins
2016-06-01 22:43:40 +02:00
John Emmas
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
Paul Davis
4b11bb4d15
no-op; change comment
2016-05-31 15:30:44 -04:00
Paul Davis
760beab7fa
use Slavable API in GUI
2016-05-31 15:30:41 -04:00
Paul Davis
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
Paul Davis
91f8c0be54
use new API for control slave/master relationships
2016-05-31 15:30:40 -04:00
Paul Davis
b34f949518
follow session track-number policy in mixer strip, as is done in the editor
2016-05-31 15:30:40 -04:00
Paul Davis
04e26fe7e6
move VCA assignment up to Route level
2016-05-31 15:30:39 -04:00
Paul Davis
dc9f579a8b
add GUI support for slaving VCAs to other VCAs
2016-05-31 15:30:39 -04:00
Paul Davis
9339a7b997
add solo/mute controls to VCAMasterStrip
2016-05-31 15:30:39 -04:00
Paul Davis
7f244ce14d
use VCAUpdateStatus to keep VCA button current
2016-05-31 15:30:39 -04:00
Paul Davis
3be9d6dccc
remove debug output
2016-05-31 15:30:39 -04:00
Paul Davis
8ce39c891b
change sort ordering model in mixer and editor
...
This allows correct reordering of the mixer "track_model" even
when non-route elements are present.
This isn't really utilized in the Editor at present because we do
not show VCAs there at all, but it will become important in the
future when we represent VCA automation there
2016-05-31 15:30:39 -04:00
Paul Davis
75b327964b
tweak mixer VCA button appearance and prepare for live updates to VCA state
2016-05-31 15:30:39 -04:00
Paul Davis
d47dc72595
single button for VCA assignment, plus unassign now works
2016-05-31 15:30:38 -04:00
Paul Davis
acaaa98bd0
start shaping up VCA assign process
2016-05-31 15:30:38 -04:00