Commit Graph

159 Commits

Author SHA1 Message Date
Robin Gareus adb196dcde
Show automation lane on touch, now spills related ctrls 2024-01-19 02:55:47 +01:00
Paul Davis 2797ea9666 remove unusued "MIDI underlay" cruft 2023-06-26 14:18:17 -06:00
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
itmuckel 63f94d2946 Remove unused includes 2022-08-19 09:27:19 -06:00
Paul Davis a3c5db5d51 ensure that non-drag track height changes cause a call to Editor::redisplay_track_views() 2022-04-05 20:52:10 -06:00
Robin Gareus 5d7ff24130
Hide scroomer when using layered mode
In layered mode the scroomer is not usable with stacked MIDI regions.

Ideally we'd only hide it if there is more than one layer
but that is for another day.
2022-03-29 01:30:51 +02:00
Paul Davis b6f290add2 timeline type changes for new ripple code and post-conflict-resolution fixups 2021-08-13 12:51:36 -06:00
Paul Davis 5b2a435e02 getting editor_drag.cc to compile 2021-08-13 12:51:29 -06:00
Paul Davis 04e8dbb342 another day of slow timeline type conversion 2021-08-13 12:51:29 -06:00
Paul Davis 7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
Paul Davis 12b536d8f2 add API to fetch all regionviews after a given position 2021-08-13 12:51:28 -06:00
Robin Gareus e267c1e129
Also show route owned controls on touch
This add support for special-cased automation controls
(Fader, Trim, Panner, Mute) and spills their automation-lane
on touch.

It also features a small internal API update directly mapping
CheckMenuItem. See also bd8c26a059
2021-03-15 20:58:42 +01:00
Robin Gareus e81794d878
Add preference to keep spilled automation-lanes visible 2021-03-02 19:00:23 +01:00
Robin Gareus 4f605926c5
Tweak automation-lane auto-display
Hide lanes when touching a control when the editor is not
visible or if the option is disabled.
2021-02-09 17:41:53 +01:00
Robin Gareus bd8c26a059
Automatically show automation-lane when touching a control 2021-02-09 02:11:09 +01:00
Robin Gareus cf6e785ed3
Move Playlist GUI functions to RouteUI
This allows to re-use playlist editing in all RouteUI derivatives,
not just the main editor time axis header.

The change is mostly a NO-OP, simply moving methods from
RouteTimeAxisView (is-a RouteUI), to RouteUI.
2021-01-26 01:54:33 +01:00
Robin Gareus 54ffd92fde
Fix ATAV identification by Parameter (2/2) #8201, 8203
Allow to uniquely identify Processor ATAV using the control ID.
2020-06-04 21:20:32 +02:00
Robin Gareus 0ab13e7b29
Fix ATAV identification by Parameter (1/2) #8201, 8203
See also 72af571f0c, ATAV for Processors cannot be identified by
Parameter alone. STAV uses a std::map<Evoral::Parameter, ..>
that is only valid for unique parameters.

The map cannot store Evoral::Parameter(PluginAutomation)
because it its not unique.
2020-06-04 21:20:32 +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
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
Paul Davis e954303fec move automation show/hide methods into public access
Note that they are still intended to be called via a specific mechanism from Editor, not
directly.

Also remove unnecessary duplicate virtual decls
2020-04-03 13:28:58 -06:00
Robin Gareus 6914671736
Propagate ::route_active_changed() methods 2020-01-22 01:35:18 +01: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 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
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 b5e9451bc7 Remove unused sources & includes 2017-07-17 21:06:04 +02:00
Robin Gareus f6e182b937 Move Gtkmm2ext widgets into libwidget 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
Thomas Brand 63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +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
Nil Geisweiller 4c66e36b91 Fix indentation 8 whitespaces to tab 2016-12-21 23:09:40 +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
Robin Gareus 01f8ca831a cont'd work to prevent duplicate playlist names 2016-11-25 14:24:29 +01: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
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 384d05dd35 change AxisView color API to be virtual and implement per-type variants 2016-06-05 16:33:01 -04: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 eee83c25a9 make all TimeAxisView derived types return PresentationInfo for sorting 2016-06-02 14:46:35 -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
Robin Gareus 52d67203a1 Trim Automation UI 2015-04-25 21:25:19 +02:00
Robin Gareus f1ce87a699 add API to select TAV height mode.
preparation for further Summary and Number of visible
track count fixes.

* “Only Self”: don’t resize child-views (old default)
* “Total Height”: distribute height equally among 
   all visible child [automation] lanes
* “Height per Lane”: given height should be applied
   to all sub-views.
2015-03-19 21:47:34 +01:00
Ben Loftis 9e0cd98ad4 fix select-all-regions-within (it used to select everything overlapped) 2015-01-09 12:21:10 -06:00