13
0
Commit Graph

471 Commits

Author SHA1 Message Date
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
7f244ce14d use VCAUpdateStatus to keep VCA button current 2016-05-31 15:30:39 -04:00
3be9d6dccc remove debug output 2016-05-31 15:30:39 -04:00
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
75b327964b tweak mixer VCA button appearance and prepare for live updates to VCA state 2016-05-31 15:30:39 -04:00
d47dc72595 single button for VCA assignment, plus unassign now works 2016-05-31 15:30:38 -04:00
acaaa98bd0 start shaping up VCA assign process 2016-05-31 15:30:38 -04:00
4d14ae4e23 mostly restore VCA state on session loading.
This does not restore VCA assignments
2016-05-31 15:30:38 -04:00
33e56e58d7 initial part of vca assignment via context menu 2016-05-31 15:30:38 -04:00
089549acb6 add 4 harrison-style vca assign buttons to the mixer strip 2016-05-31 15:30:38 -04:00
ac7df69b49 rec-safe GUI 2016-05-24 21:30:33 +02:00
6605b52c17 centralize rec-en sensitivity & prepare for rec-safe 2016-05-24 03:01:27 +02:00
cc0abf4ef5 add route-ui pin-manager 2016-05-10 20:54:11 +02:00
3dc322fa66 fix 8f14f422e0, port_prefix already includes colon 2016-04-17 16:52:38 +02:00
8f14f422e0 unhardcode "Program Name" string length 2016-04-17 14:01:57 +02:00
6f4ccfcd3b hide strict-i/o UI for Mixbus 2016-04-15 14:53:18 +02:00
d739d2fd64 hide add/remove output buttons on mixer-strip. 2016-04-14 20:04:58 +02:00
bff4972e5b add mixer strip context menu to en/disable strict-i/o 2016-03-28 18:25:34 +02:00
b77236d4b4 fixing leaking tooltip string
Manually created version of PR #211
2016-02-26 14:36:51 -05:00
6991a07902 remove all trace of SAE from source code.
This had become incoherent over time, and posed a development hazard and burden going forward
2016-02-22 15:31:24 -05:00
dd32c05cda GainMeter(Base) now has an explicit gain control given to it 2016-01-25 11:47:44 -05:00
9e5b7db89f first compiling, mostly working version of group controls changes 2016-01-22 11:58:31 -05:00
5a766dc24d indicate monitor-state 2016-01-08 14:22:02 +01:00