summaryrefslogtreecommitdiff
path: root/gtk2_ardour/mixer_strip.cc
AgeCommit message (Collapse)Author
2020-03-31Fix send-button layout (2 column table)Robin Gareus
Amend c765079b2f, remove Mixbus special-case for Ardour
2020-03-31Visibility fixes for detached editor and Show-Sends buttonsBen Loftis
Detaching the editor would cause the inactive_name labels and to mixer-strip elements to appear (due to show_all).
2020-03-31Hide Aux-send button in editor-mixerBen Loftis
2020-03-23Show Sends button should instigate a Spill, akin to a VCA spillBen Loftis
2020-03-23Pan: remove automation-state indirection 1/2Robin Gareus
2020-03-02Improve RouteUI API consistencyRobin Gareus
This is an effective NO-OP * Some methods have been re-named to improve consistency * Duplicate function calls were removed: RouteUI::set_route() already updates mute/solo MixerStrip does not have to update it again * virtual methods have been protected
2020-02-13Leave processor box sensitive when editing aux-sendsRobin Gareus
This is required to toggle the strip to revert from aux-view to the main route using the aux-send processor itself. Discuss: Perhaps this should be reverted, and ProcessorBox::edit_aux_send() be removed: It is currently possible to create various inconsistent mixer-states. * use "Aux" on a Bus, then double-click some Internal-Send to revert strips. But Aux remains active * Removing sends while "Aux" is active does not disable Aux. If the processor box was insensitive those issues won't be present. However it is convenient to use double-click on the editor-mixer to access a send's panner ...
2020-01-28Remove duplicate separators from context menuRobin Gareus
2020-01-28Don't allow to deactivate masterRobin Gareus
2020-01-28Amend 87af9fb (fix context menu, don't allow to remove master)Robin Gareus
2020-01-28Consolidate Mixer-strip sensitivityRobin Gareus
* Use a single method to set mixer-strip widget sensitivity * Update context-menu to only allow show actions that can currently be performed, depending on active/inactive state. * Mark all control elements of in-active strips as insenstive except those required to re-enable the route. * Also update processor-box and solo-button when showing Aux Special case Mixbus. Mixbus already shows a "Insensitive" label, and Mixbus-channelstrip element sensitivity remains to be implemented before using this mechanism.
2020-01-22Propagate ::route_active_changed() methodsRobin Gareus
2019-10-31Consolidate automation and meter-point stringsRobin Gareus
This also properly selects texts in dropdown-menus on the mixer-strip, panner and plugin-controls, gain-meters.
2019-09-29Remove defunct Route "Adjust Latency" GUIRobin Gareus
This was based on Ardour-5 style "set custom latency of the IO", and inform, override JACK-port latency compensation. Ardour6: IO itself is no longer in control. This is abstracted by IOProcessor. In any case, this is to be superseded by bundling a-virtual-latency, and allowing track playback offset (that has no additional thru-latency for cue-monitoring).
2019-09-25goodbye Profile->...trxPaul Davis
2019-09-22remove empty methods and signal connectionsPaul Davis
2019-09-12Use new icons in mixer windowRobin Gareus
2019-08-03Update GPL boilerplate and (C)Robin Gareus
Copyright-holder and year information is extracted from git log. git history begins in 2005. So (C) from 1998..2005 is lost. Also some (C) assignment of commits where the committer didn't use --author.
2019-07-18Tweak Mixer screenshot method, include VCA, master-busRobin Gareus
2019-07-17Fix meter type/position context-menu issuesRobin Gareus
2019-07-11Hide "Add MIDI Port" in the GUI if there is already oneRobin Gareus
2019-06-09Update GUI: meter-type API and meter-type state changesRobin Gareus
This removes all additional GUI side meter-type state. The route's meter-processors is now responsible for providing the type. meter-type is now implicit for GainMeter, LevelMeter used by meter-strips and mixer-strips.
2019-03-08Reduce #includes - avoid ardour_ui.hRobin Gareus
2019-03-07Fix some Gtk::Menu memory leaksRobin Gareus
A Gtk::manage()d widget will be deleted when its parent container is destroyed. Top-level context menus are not inside a container and hence need to be manually deallocated. The solution here is to use a shared Gtk::Menu pointer that is centrally de/re-allocated. This works because the GUI is single-threaded and at most one context menu is visible at a time.
2019-03-07Prefer using RAII to suspend signalsRobin Gareus
2019-03-01GUI updates to handle monitor-section changesRobin Gareus
This fixes various MS related action sensitivity issues, as well as action-states. Also manually adding a monitor-section to a session now always immediately shows it, regardless of prior ToggleMonitorSection visibility.
2018-12-07Tweaks to Mixer and Monitor keybindings:Ben Loftis
Add Mixer-specific view keybindings for list, vca, mon. (thanks to: the_CLA) Move monitor keybindings (mute, dim, mono) to be globally-accessible. Implement new mixer-specific actions to show/hide monitor,vcas,mixbuses (the_CLA) Move monitor funcs (mute,dim,mono) to globally-accessible actions. Make a new Monitor group insted of using Transport group. Allow use-monitor-section to be controlled by both menu and session-options dialog.
2018-11-28NO-OP: Clarify function nameRobin Gareus
2018-11-28Use central method to check for engine where requiredRobin Gareus
These are generally places where tracks/busses are created or port connections change.
2018-11-07Change get_routes to get_routelist where appropriate.Len Ovens
2018-03-13Same for midi input enable buttonLen Ovens
2018-03-12Trim and vca button should also be insensitive in strip aux modeLen Ovens
2018-02-24NO-OP: whitespaceRobin Gareus
- remove trailing whitespace - remove space after opening brackets and before closing brackets - add space around operators - do not use '//' for multi-line comments, do not use "//" on line-start to comment-out code breaking indenting (-Wmisleading-indent) - do add a single space after comment-start /*{SPACE}... or //{SPACE}... - reserve duplicate whitespace " " for alignment, remove other duplicate whitespace - use established "TODO" and "XXX" (highlighted keywords) - remove equal-sign series "====" (those indicate merge conflicts)
2017-11-23Fix duplicate if(A) else if (A) conditionRobin Gareus
Issue came to be from consolidating Session and UI configuration. Found by PVS-Studio - https://www.viva64.com/en/b/0540/
2017-09-18manually fix up various cases where Gtk:Frame foo_frame had been changed to ↵Paul Davis
foo_sample
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible
2017-09-18basic GUI framework for setting Disk I/O optionsPaul Davis
2017-09-18mega-commit to save state of first "it compilesand links" state for ↵Paul Davis
separated disk i/o changes. THIS WILL NOT RUN. THIS REQUIRES MANY CHANGES
2017-09-14Fix various tooltip markup (ampersand) entity-escape:5.12Robin Gareus
* track/port names * plugin-names * MIDI patch-names
2017-09-09Migrate PC dialog to RouteUI, midnam handing to RTAV.Robin Gareus
This allows to to bring up the PC dialog from Editor/Editor-Mixer & Mixer for both MIDI Tracks as well as MIDI Busses.
2017-08-28Refactor update_io_buttonJulien "_FrnchFrgg_" RIVAUD
Check, in order, if the io is connected to another Ardour route, then a user bundle, then some physical ports with simple configuration, and lastly another client. Before, Routes were considered connected as long as every io port connected to that route, even if the channel order was mixed or worse if all ports were connected to the same channel. Now Routes and Bundles are considered connected if they are exclusively connected, in the right order, to all their ports with matching datatype.
2017-08-25Remove unneeded testJulien "_FrnchFrgg_" RIVAUD
The for loop will not be executed if |port_connections| is empty, no need to check beforehand.
2017-08-24Fix typo in dea8ee7fRobin Gareus
2017-08-24Make clicks on io menu bundles always connectJulien "_FrnchFrgg_" RIVAUD
If a bundle was already connected, a click on the corresponding entry disconnected it, essentially giving toggle semantics to the io menus. This behavior has three problems: — When clicking on a not yet connected bundle, the new bundle replaces any already connected one. This is not consistent with a toggle mode. — It is a less discoverable and less easy way to disconnect a bundle than the already present "Disconnect" menu entry. — Bundles that match the I/O channels only partially (recently added to cater for e.g. MIDI+STEREO tracks connecting to Master) are never considered "connected" because the channels are not connected 1:1. Those will thus never toggle, making the behavior inconsistent. Change the semantics to ensure a bundle is connected on click instead.
2017-08-23Make the output menu able to connect partial matchesJulien "_FrnchFrgg_" RIVAUD
Use the new partial connection feature of IO::connect_ports_to_bundle.
2017-08-23Populate strips output menus with a more user-friendly heuristicJulien "_FrnchFrgg_" RIVAUD
Ensure the master bus is the first proposed bundle if it is present. Also propose internal route inputs before physical outs or other software via JACK. Last, but not least, add to the menu not only exactly matching bundles, but also bundles that have the same number of channels than the route output when considering only the DataType we think the user wants to use. This covers both the case of a MIDI+STEREO instrument track connecting to master, and the case of a STEREO track connecting to a MIDI+STEREO vocoder track.
2017-08-23Improve maybe_add_bundle_to_output_menuJulien "_FrnchFrgg_" RIVAUD
Avoid proposing the monitor section in the list if the current route is not the master bus. Also allow the caller to pass a DataType as argument to allow partial bundle match on that datatype only.
2017-08-23Use port enumeration instead of manual indexed loopJulien "_FrnchFrgg_" RIVAUD
2017-08-23Generalise heuristic for user-intended main type of a route's IOJulien "_FrnchFrgg_" RIVAUD
The heuristic currently used to display port connections in a compact user-friendly way only considers Audio and MIDI data types. Replace it by a better heuristic that does essentially the same thing with all DataTypes, assuming they are ordered by likeliness of usage. Currently the result is the same since there are only two DataTypes.
2017-08-23Remove never changing and/or unused argumentsJulien "_FrnchFrgg_" RIVAUD