summaryrefslogtreecommitdiff
path: root/gtk2_ardour/mixer_strip.cc
AgeCommit message (Collapse)Author
2016-11-11Refine instrument fan-out:Robin Gareus
* prefix (rather than suffix) portgroup-name * check if group already exists * disconnect targets (when autoconnect preference is enabled) * expose tracks/busses option
2016-11-10Implement instrument fan-out options (group, track/bus)Robin Gareus
2016-11-10C++ implementation of fan_out_instrument.luaRobin Gareus
2016-09-15Skip pin-management for MB channelstrip pluginsRobin Gareus
2016-08-18Make name_button behave more like a Gtk::MenuToolButtonJulien "_FrnchFrgg_" RIVAUD
Make it popup its menu in attached mode, and on mouse down, but keep the context menu behavior on right-click.
2016-08-18Make in/out buttons behave more like Gtk::MenuToolButtonJulien "_FrnchFrgg_" RIVAUD
Make them popup their menu as if attached rather than as a context menu.
2016-08-17Make the group button in MixerStrip behave like a dropdownJulien "_FrnchFrgg_" RIVAUD
Since it mostly is a multiple-choice menu.
2016-07-24Make the trim knob on busses show only if there is audioJulien "_FrnchFrgg_" RIVAUD
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-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-09Better heuristics for guessing the primary type of an input or outputJulien "_FrnchFrgg_" RIVAUD
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-09update_io_button: store input() or output() in a variableJulien "_FrnchFrgg_" RIVAUD
This avoids repeating "if (for_input)" checks.
2016-07-06many changes associated with rationalizing selection flowPaul Davis
2016-06-21show first word of comment on track's comment-buttonRobin Gareus
2016-06-20fix comment-button highlightRobin Gareus
2016-06-14mark mixer strip name label (button) as having occasional textPaul Davis
Sometimes it shows a track number, sometimes not, but this should never affect its size request
2016-06-14remove commented linePaul Davis
2016-06-14mark mixer strip width and hide buttons as squarePaul Davis
2016-06-09use new ControlSlaveUI object in mixer stripPaul Davis
2016-06-05use, or mostly use PresentationInfo for selection status of Routes.Paul Davis
Needs extension to Surfaces, replacing GuiSelectionChanged signal concept
2016-06-05RouteUI connects to Route's PropertyChange signal; derived types implement ↵Paul Davis
route_property_changed()
2016-06-05use new RouteGroup property namesPaul Davis
2016-06-05RouteUI is now also derived from SessionHandlePtr but NOT AxisView. Fix ↵Paul Davis
initialization. Only "most derived" classes can initialize virtual base classes (SessionHandlePtr)
2016-06-05change AxisView color API to be virtual and implement per-type variantsPaul Davis
2016-06-05make AxisView::marked_for_display() be virtual so we can use the a ↵Paul Davis
Stripable's PresentationInfo hidden() status
2016-06-02there is no explicit "Remote Control ID" control anymore - all done by ↵Paul Davis
ordering in the GUI
2016-06-01remove un-used name_hbox widget from TimeAxisViewPaul Davis
2016-06-01only show "Pin Connections..." in mixer-strip if there are pluginsRobin Gareus
2016-06-01MSVC itself defines a class called CheckMenuItem - so make sure we know to ↵John Emmas
use the one from Gtk
2016-05-31no-op; change commentPaul Davis
2016-05-31use Slavable API in GUIPaul Davis
2016-05-31universal change in the design of the way Route/Track controls are designed ↵Paul Davis
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-31use new API for control slave/master relationshipsPaul Davis
2016-05-31follow session track-number policy in mixer strip, as is done in the editorPaul Davis
2016-05-31move VCA assignment up to Route levelPaul Davis
2016-05-31add GUI support for slaving VCAs to other VCAsPaul Davis
2016-05-31add solo/mute controls to VCAMasterStripPaul Davis
2016-05-31use VCAUpdateStatus to keep VCA button currentPaul Davis
2016-05-31remove debug outputPaul Davis
2016-05-31change sort ordering model in mixer and editorPaul Davis
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-31tweak mixer VCA button appearance and prepare for live updates to VCA statePaul Davis
2016-05-31single button for VCA assignment, plus unassign now worksPaul Davis
2016-05-31start shaping up VCA assign processPaul Davis
2016-05-31mostly restore VCA state on session loading.Paul Davis
This does not restore VCA assignments
2016-05-31initial part of vca assignment via context menuPaul Davis
2016-05-31add 4 harrison-style vca assign buttons to the mixer stripPaul Davis
2016-05-24rec-safe GUIRobin Gareus
2016-05-24centralize rec-en sensitivity & prepare for rec-safeRobin Gareus
2016-05-10add route-ui pin-managerRobin Gareus
2016-04-17fix 8f14f422e0536, port_prefix already includes colonRobin Gareus
2016-04-17unhardcode "Program Name" string lengthRobin Gareus