Commit Graph

518 Commits

Author SHA1 Message Date
Robin Gareus 72af571f0c
Fix automation lane visibility and indices - #8162
This fixes an issue with using
  StripableTimeAxisView::_automation_tracks
for PluginAutomation. The latter is indexed per-plugin in
  RouteTimeAxisView::processor_automation

Evoral::Parameter(PluginAutomation) is only unique per plugin,
and hence cannot be used in STAV.
2020-06-01 06:38:18 +02:00
Robin Gareus 94085b0162
Avoid "Route" in user visible messages
Prefer "Track", "Bus" and/or "Strip" where applicable, or simply
avoid it.
2020-05-24 19:20:45 +02:00
Robin Gareus f31f9a09da
Fix inactive track header label display
Since 8fced29372 introduced no_show_all(), the packed widgets
need to be explicitly displayed.
2020-05-05 04:30:24 +02:00
Robin Gareus 6df03b2f1f
Reset track header meters - e1a9034a0e #7465 2020-04-12 21:01:01 +02:00
Robin Gareus 134b2162ba
Fix waveform update when channel-count changes
7434478a35 introduced a race, IOchange triggers updating the
GUI and re-configuring processors. The latter needs to complete
first, otherwise Track::n_channels() returns the previous
channel count.
2020-04-12 13:45:45 +02:00
Robin Gareus 7434478a35
Update Waveform display when channel-count changes 2020-04-08 17:40:32 +02:00
Paul Davis c2b026831c yes, RouteTimeAxisView::set_layer_display() really never applies to the selection 2020-04-03 18:54:51 -06:00
Paul Davis 743fbaf7bf change implementation of layer display menu items and handlers
The menu items no longer ever apply to the selection, because there will be an Editor-level
action to change things "globally"
2020-04-03 18:54:51 -06:00
Paul Davis d1e55ff5b7 add RouteTimeAxis::toggle_layer_display() 2020-04-03 18:54:51 -06:00
Paul Davis 1c53e73599 add two new ptr-to-menu-item, and remove an unused one, for RouteTimeAxis 2020-04-03 18:54:51 -06:00
Robin Gareus 386264bd23
Pan: consolidate what_can_be_automated API 2020-03-21 19:46:39 +01:00
Robin Gareus 60bcefd03d
Pan: remove/consolidate parameter-descriptor 2020-03-21 19:46:38 +01:00
Robin Gareus a44fecb740
Hide hidden Controls in GUI 2020-03-18 18:16:32 +01:00
Paul Davis a4d7b45fe0 remove destructive/tape mode tracks 2020-03-17 16:31:49 -06:00
Robin Gareus 1af5f37e46
Restore visible automation lanes (#7914)
On session re-load only automation lanes with events were displayed,
regardless of visibility state. This allowed for inconsistent
state (menu showed them as visible even if they were not).
2020-02-28 02:25:57 +01:00
Paul Davis be45193f3f fix old bug from 2007 (bbf4175713) in which a return statement was accidentally (presumably) dropped 2020-02-05 12:53:15 -07:00
Ben Loftis 142ce953da Split Select-All-Tracks into 2 appropriately named actions
Existing function select-all-tracks is now renamed select-all-visible-lanes, to match its behavior.

New function select-all-tracks will select all Tracks, as the name implies.

To maintain consistency for those users who actively used select-all-tracks,
  the default shortcut ctrl+t  will continue calling select-all-visible-lanes.
2020-01-22 10:33:15 -06:00
Robin Gareus 81c3bf175a
Keep track/bus number visible when disabling track 2020-01-22 01:45:18 +01:00
Robin Gareus 6914671736
Propagate ::route_active_changed() methods 2020-01-22 01:35:18 +01:00
Ben Loftis d8d737adc4 Make it more obvious when a track is Inactive
Inactive tracks will now hide all controls and display only the track name
 in parenthesis.

Color-change is not sufficient by itself to distinguish an inactive track
 from an active one  (consider the case of just 2 tracks...)
2020-01-20 16:03:22 -06:00
Ben Loftis 30553a2675 Apply some missing widget names 2020-01-12 18:13:47 -06:00
Robin Gareus a92dddda25
Fix automation dropdown menu-item active state
Extra XML/GUI has not been in use since ages.
Automation Lane visibility is saved as GUIObjectState.

This properly marks DropDown Menu items as active when a
Plugin Automation Lane is displayed
2019-12-12 03:02:48 +01:00
Paul Davis a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
Ben Loftis 65c357c0f7 Fix gtk-table-packing error (redundant packing) 2019-09-29 11:30:25 -05:00
Robin Gareus 2ce7239b08
Restore "A"utomation button
This reverts some "not tracks" parts that were
accidentally removed in 468731c
2019-09-27 16:06:29 +02:00
Paul Davis 8ab5db0d67 put back editor track header fader+meters inadvertently removed in previous commit 2019-09-25 13:24:02 -06:00
Paul Davis 468731c14b goodbye Profile->...trx 2019-09-25 13:02:31 -06:00
Robin Gareus 4050ca5633
Update GPL boilerplate and (C)
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-08-03 15:53:15 +02:00
Robin Gareus 37aaa2d11b
NO-OP: whitespace, alignment 2019-04-08 22:39:22 +02:00
Robin Gareus bdc7b8d7b1
Add a note to self 2019-03-26 18:18:49 +01:00
Robin Gareus c09c7bab52
Update GUI, use Session::playlists() getter (2/2) 2019-03-19 05:14:40 +01:00
Robin Gareus 3bc9281c31
Fix some Gtk::Menu related memory leaks
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.

This adds explicit delete calls for menus where there is a
member variable reference to the Menu.
2019-03-07 23:50:32 +01:00
Paul Davis 30b087ab3d globally change all use of "frame" to refer to audio into "sample".
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-18 12:39:17 -04:00
Paul Davis cceb29f536 use new Track API 2017-09-18 11:40:53 -04:00
Paul Davis f9e7ffc601 no more per-track varispeed 2017-09-18 11:40:53 -04:00
Paul Davis a4a87f56e9 mega-commit to save state of first "it compilesand links" state for separated disk i/o changes.
THIS WILL NOT RUN. THIS REQUIRES MANY CHANGES
2017-09-18 11:40:52 -04:00
Robin Gareus b5e1eb7538 Migrate PC dialog to RouteUI, midnam handing to RTAV.
This allows to to bring up the PC dialog from Editor/Editor-Mixer & Mixer
for both MIDI Tracks as well as MIDI Busses.
2017-09-09 18:25:36 +02:00
Robin Gareus af103cf3c2 Remove old destructive API (non layered is a dynamic mode) 1/2 2017-08-18 20:59:52 +02:00
Robin Gareus 7009ff0300 Update Selection API to include all Stripables 2017-08-06 22:17:58 +02:00
Johannes Mueller 741c7229c7 Select the clicked route in the current mixer strip (fixes #7429)
Issue #7429 reports that that clicking a route of an already selected group
does not update the editor mixer strip selection. To fix this we call
Editor::set_selected_mixer_strip() at the end of
RouteTimeAxisView::selection_click();

The overhead of maybe calling it twice should be toleratable, as
::set_selected_mixer_strip() checks, if the route is already the current mixer
strip route before setting it.
2017-07-20 15:05:07 -04:00
Robin Gareus 601c317d70 Clean up library inheritance (colors.h, utils.h)
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02:00
Robin Gareus 1f5ebc5485 Remove ArdourPrompter wrapper 2017-07-17 21:06:04 +02:00
Robin Gareus eb1e423b75 Remove <gtkmm.h> include from header files. 2017-07-17 21:06:04 +02:00
Robin Gareus b5e9451bc7 Remove unused sources & includes 2017-07-17 21:06:04 +02:00
Robin Gareus 5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
Robin Gareus 68c106eab5 Fix VCA Automation Lane selection
This moves child-selection API up into TAV (Superclass of StripableTAV
which actually owns the children)
2017-07-07 14:47:36 +02:00
Robin Gareus 92fb6325e3 NO-OP: whitespace 2017-06-23 23:43:01 +02:00
Robin Gareus d405b2dd6c Mixbus GUI updates (VCA layout, no panners) 2017-06-23 23:43:01 +02:00
Robin Gareus af6941ac34 Prepare VCA Automation Lanes -- refactor TAV
* add an abstract StripableTimeAxisView (Route TAV + VCA TAV)
* move common strip-methods into STAV
* Add Automation Lanes to VCA TAV
* Allow ATAV without Automatable for VCA Controls
2017-06-15 16:06:32 +02:00
Tim Mayberry 2889a44a33 Use PBD::to_string from pbd/string_convert.h in RouteTimeAxis
Numeric formatting is equivalent as LC_NUMERIC=C in global C++ locale
2017-04-19 09:37:01 +10:00
Tim Mayberry b540817b5b Use PBD::string_to<bool> in RouteTimeAxisView class
As they were converted from bool to string using PBD::to_string
2017-04-19 09:36:59 +10:00
Tim Mayberry edb9868e76 Remove conditional checks that are always true in RouteTimeAxisView class 2017-04-19 09:36:59 +10:00
Tim Mayberry 8e07e4bd68 Use AxisView::get/set_gui_property API in RouteTimeAxisView class 2017-04-19 09:36:58 +10:00
Robin Gareus 77d07545c5 Don't show Group UI for the master-bus 2017-03-08 18:37:36 +01:00
Ben Loftis bc79fc07ce Remove redundant MIDI submenu. The items are now in the main menu. 2017-02-02 21:44:43 -06:00
Paul Davis d29f6bde5e prevent suggestion that MIDI tracks can be set to stacked view 2017-01-29 15:03:29 +01:00
Paul Davis 7688d22456 remove channel filter status and button from MIDI track header, access via context menu 2016-12-17 17:59:08 +00:00
Robin Gareus 8ba7e8f4ef Hide/remove per-track record-mode in favor of global setting. 2016-12-17 02:43:42 +01:00
Tim Mayberry 198b8f6b58 Fix reversed behaviour of Playlist -> New and New Copy
Resolves: #7146

Thanks again to elgoun for the patch
2016-11-28 10:59:32 +10:00
Robin Gareus 01f8ca831a cont'd work to prevent duplicate playlist names 2016-11-25 14:24:29 +01:00
Robin Gareus 91ee1b6186 Don't allow duplicate playlist names 2016-11-24 22:11:19 +01:00
Julien "_FrnchFrgg_" RIVAUD 907c56234c Add missing return 2016-08-18 16:32:38 +02:00
Julien "_FrnchFrgg_" RIVAUD 534ca81613 Make buttons in track headers behave more like Gtk::MenuToolButton
Make their popup menus show attached, and on mouse down, but keep the
context menu behavior on middle- and right-click for the group button
that reacted to those (probably an oversight but some users might have
got the habit of right-clicking).

This also makes the group deletion on Ctrl+click happen on mouse down
instead of mouse up which is not a great difference and avoids
complicating the code.
2016-08-18 13:24:00 +02:00
Paul Davis cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Robin Gareus 140258d8ab remove reference "const int32_t&" -> const int32_t"
this simplifies lua-bindings and also let's the compiler worry about
constant primitive types.
2016-07-10 15:30:41 +02:00
nick_m 93c24e4433 Paste uses exact beats. rework _start_beats calculation in copy-with-offset ctor. 2016-07-10 02:18:36 +10:00
Paul Davis da7d7f9502 many changes associated with rationalizing selection flow 2016-07-06 13:39:10 -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 1d5d98589a catch up on change in definition of various AxisView {set,is}_selected() implementations 2016-06-05 16:33:02 -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
Robin Gareus e627a9681a show existing automation lanes regardless if they were visible before.
Automation can be recorded with the automation time axis not being
visible.
2016-06-04 18:52:57 +02:00
Paul Davis 260058a4a9 move from PresentationInfo::global_order() to PresentationInfo::order, and fix up part of reordering behaviour
Dragging tracks/busses in the editor *below* VCAs still does not work
2016-06-03 15:15:39 -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 eee83c25a9 make all TimeAxisView derived types return PresentationInfo for sorting 2016-06-02 14:46:35 -04:00
Paul Davis 0d999ea4ec remove un-used name_hbox widget from TimeAxisView 2016-06-01 21:57:43 -04:00
Paul Davis 428ed8ae1b stop playing silly games with widget packing when editing a route name in the edito
Use a FloatingTextEntry instead. All clever functionality from previous
implementation has been retained.
2016-05-31 15:30:44 -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
Robin Gareus 6605b52c17 centralize rec-en sensitivity & prepare for rec-safe 2016-05-24 03:01:27 +02:00
Paul Davis 17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
Robin Gareus 106851b33a add option to limit track-header meters to stereo 2016-05-04 17:36:40 +02:00
Paul Davis 157b4b6b72 fix variable naming/scope issues 2016-02-22 15:31:24 -05:00
Paul Davis 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
Paul Davis dd32c05cda GainMeter(Base) now has an explicit gain control given to it 2016-01-25 11:47:44 -05:00
André Nusser 7a846b7e6d Make capitalization consistent and other minor spelling corrections. 2015-12-01 00:39:35 +01:00
Ben Loftis 6f955aa0bd add Duplicate action to track and mixer context menus 2015-11-17 16:55:11 -06:00
Robin Gareus be69dd279b rework dbf28e3 (hidden parameters) 2015-10-28 21:25:01 +01:00
Robin Gareus ebbe96aa08 note to self: at least test compilation before git push. 2015-10-28 19:00:59 +01:00
Robin Gareus dbf28e320c don't display hidden automation-controls. 2015-10-28 18:58:46 +01:00
Robin Gareus 696b89b71a rework 8b80fe0, use std::string, not char* 2015-10-15 11:24:15 +02:00
Robin Gareus 8b80fe04ad Avoid calls to Glib::ustring << operator at all cost.
Glib::operator<<(std::ostream&, Glib::ustring const&) involves
loadlocale which is not thread-safe on OSX.

This fixes various seemingly random crashes on OSX.
2015-10-14 22:46:15 +02:00
Robin Gareus 22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis 4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Tim Mayberry 1d42ed077e Use ARDOUR_UI_UTILS::set_tooltip rather than via ARDOUR_UI::set_tip
This removes the direct dependence on ARDOUR_UI/Gtk_UI for setting
tooltips. Removes inclusion of ardour_ui.h from 16 files.
2015-09-16 16:55:17 -04:00
Tim Mayberry 6b019a4953 Move UIConfiguration Singleton into UIConfiguration header
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16 16:55:17 -04:00
Tim Mayberry fc1e7dbb55 Move DPIReset and ColorsChanged signals into UIConfiguration 2015-09-16 16:55:17 -04:00
nick_m 63269b3063 Automation selection fixes.
- display selected comtrol points in region gain lines
	- display selected points in internal edit mode
	- allow dragging of region gain lines in MouseContent mode
2015-06-21 05:27:45 +10:00