Commit graph

156 commits

Author SHA1 Message Date
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
David Robillard
63082821d8 Support paste between automation lanes.
Also push the increasingly unwieldly paste parameters into a context object.

As with othe things, currently it is only possible to do "cross-type paste" by
explicitly selecting the target track.  We will need to get automation region
view selection working to do better here, but at least for now it's possible to
get the data over.
2014-12-06 12:20:52 -05:00
David Robillard
0f72ea4a34 Factor out duplicated track automation code.
Mute automation for MIDI tracks.
2014-11-30 23:56:19 -05:00
David Robillard
2fa6caad95 Support cut/copy/paste of several regions and lines at once.
The idea here is to do the reasonable thing, and copy objects of some
type (e.g. MIDI region, gain line) to tracks with a matching type.  The user
can override this with a track selection, which will be used straight-up.

Lost: ability to copy/paste lines across types, e.g. gain to pan.  This is
often questionable, but sometimes useful, so we will need to implement some
sort of "greedy mode" to make it possible.  Implementation simple, but not sure
what to do.  Perhaps this should only be possible if one automation track is
explicitly (i.e. via track selection) involved, and the types are at least
compatible-ish?
2014-11-16 22:35:45 -05:00