Paul Davis
d2a3450e2f
use nullptr in initialization instead of 0
2024-11-10 22:07:58 -07:00
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
...
the rest from `tools/convert_boost.sh`.
* replace boost::function, boost::bind with std::function and std::bind.
This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Paul Davis
2afdeb519f
refactor rubberband drags to take a functor for the no-drag condition
...
Also move code for adding automation line control points into automation line, rather
than in AutomationTimeAxisView (some work still required to finalize this)
2024-10-17 07:44:32 -06:00
Paul Davis
4b8c51574d
refactor the "selectables" API to allow use within separate (e.g. cue) editors
2024-10-17 07:44:32 -06:00
Paul Davis
56ce9c33c0
renaming: AutomationLineBase => AutomationLine, AutomationLine => EditorAutomationLine
2024-10-17 07:44:31 -06:00
Paul Davis
90c8726c6d
wideranging changes to get automation editing working in cue editor
2024-10-17 07:44:31 -06:00
Paul Davis
fb0b4d254e
automation time axis should respond to base fill color changes
2024-08-31 09:03:05 -06:00
Robin Gareus
38adfdf79e
Add custom color for region effect automation
2024-04-23 21:56:26 +02:00
Paul Davis
18819a48a9
region gain and MIDI CC freehand line drawing
...
This involved a significant change in event handling for automation region views,
but it brings it into line with how it works for other things. On button press
we initiate a drag, then if no motion occurs, the Drag returns false during
finalization, and only then do we continue through Editor::button_release_handler()
to eventually end up in ::add_automation_event().
Although it is a substantial change, the fact that it now works the same
way for audio regions, automation regions and automation tracks seems
like a definite plus.
2023-09-30 11:09:58 -06:00
Paul Davis
944fcf251d
initial refactoring of freehand line drawing
...
This sets the state to use it with MIDI CC and region gain.
class names LineMerger and MergeableLine need revisiting
2023-09-30 11:09:58 -06:00
Paul Davis
2b2112e303
NO-OP: fix line/whitespace
2023-09-30 11:09:58 -06:00
Paul Davis
57167dafbe
use configurable thinning factor, not a hard-coded constant
2023-07-10 13:42:06 -06:00
Paul Davis
6453049c0a
automation drawing: add point at grab start & use new ControlList API for speed
2023-07-10 11:20:47 -06:00
Paul Davis
c584bfd374
automation drawing: thinning does not work well with snapped-drawn lines
...
Also, adding points to a ControlList can fail and that's OK
2023-07-09 22:10:18 -06:00
Paul Davis
caa278ae55
fix reverse drags and a compiler warning
...
Not quite sure what to do if we fail to add a point, yet
2023-07-09 21:01:22 -06:00
Paul Davis
0a0a882f5a
snapping, straight lines, and merge drawn points to list for auto draw
2023-07-09 20:42:09 -06:00
Paul Davis
0c8fd48d6f
velocity lane: appropriately hide automation controls until we have line automation
2023-07-08 17:18:14 -06:00
Paul Davis
36769dd94c
part 2 of showing region selection in MIDI CC (automation) tracks
2023-06-28 13:44:59 -06:00
Paul Davis
e54e24a7a0
no need for two raise-to-top; set_velocity_mode() will do it
2023-06-27 14:07:47 -06:00
Paul Davis
ce1ec1107c
fix layering of automation views
...
This code is awful, and ought to be restricted only to velocity lanes by
a better design
2023-06-27 12:53:08 -06:00
Paul Davis
7dc532a646
lollis: only allow velocity editing on currently selected region
2023-06-26 14:18:18 -06:00
Paul Davis
4305ef34f8
switching between lollis and line now allows lollipop events
2023-06-26 14:18:17 -06:00
Paul Davis
5c03ffd6f5
fix assignment/comparison typo
2023-06-26 14:18:17 -06:00
Paul Davis
2de0e62695
for velocity automation lanes, make sure ghosts group is on top
...
otherwise, it's the streamview on top, and that prevents lollipops receiving
events.
this may have to change once the line becomes an option.
2023-06-26 14:18:17 -06:00
Paul Davis
ea6717f041
empty, useless velocity lane for MIDI tracks
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
Paul Davis
389577b1e9
automation line: use return value from (new API) model-to-view method
2022-10-26 16:56:22 -06:00
Paul Davis
a928e35efb
significant overhaul of automation region/lines to update during tempo map drags etc
2022-10-25 11:10:36 -06:00
Robin Gareus
2245042b85
Fix crash when adding events to disabled MIDI event-lane
...
In case of MIDI CC/Bend/Pressure etc events, the underlying
data is provided by a MidiTrack (is-a Automatable) and not
an automation-control.
When directly calling AutomationControl::set_automation_state,
the AC disables automation-watch using shared_from_this().
With the Evoral::Control used for MidiTrack event-lists this
results in a tr1::bad_weak_ptr.
2022-07-22 03:38:34 +02:00
Robin Gareus
0e804be818
Fix typo in 1dafa5017e (first automation point on line)
2022-04-27 12:56:32 +02:00
Robin Gareus
1dafa5017e
Always place first automation point using the current value
...
This is in preparation to always show a line, which show
the current value in case there are no automation points yet.
It also unconditionally snapshots the current value without
changing automation modes to touch/write first.
2022-04-25 18:32:23 +02:00
Mads Kiilerich
7f649efd42
gtkmm: use set_can_focus() instead of deprecated Gtk::Widget::set_flags(CAN_FOCUS)
2022-04-08 21:11:06 +02:00
Mads Kiilerich
2aa72891f3
gtkmm: use ALIGN_START instead of deprecated Gtk::AlignmentEnum::ALIGN_LEFT
2022-04-08 21:11:06 +02: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
Paul Davis
0162d3f9d6
GUI changes to *try* to adapt to a world without explicit beats<->samples converter objects (i.e. use AutomationLine::get_origin() instead
2021-08-13 12:51:34 -06:00
Paul Davis
8bd52c80dc
fix paste API issue for automation list/tracks
2021-08-13 12:51:32 -06:00
Paul Davis
2a08e4bdaa
continued work on timeline types conversion. in theory, just editor_ops.cc remains
2021-08-13 12:51:29 -06:00
Paul Davis
5b2a435e02
getting editor_drag.cc to compile
2021-08-13 12:51:29 -06:00
Paul Davis
9d69fa3820
another day or two's work on timeline type conversion
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
0a469527f1
updated Temporal::Beats ... GUI edition
2021-08-13 12:51:28 -06:00
Robin Gareus
5c579ed52d
Remove unused #include<> (1/2)
...
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:43:28 +02:00
Robin Gareus
e81794d878
Add preference to keep spilled automation-lanes visible
2021-03-02 19:00:23 +01:00
Robin Gareus
f31e8ede4c
Unconditionally switch Manual->Play when drawing automation
2021-02-23 22:00:27 +01:00
Robin Gareus
0becbe7f4f
Auto-touch when adding automation events to a spilled control
2021-02-11 00:29:44 +01:00
Paul Davis
7a536524db
no need to compute x-axis coordinate when adding an automation event
2021-01-19 13:04:34 -07:00
Robin Gareus
21df7279d2
Prefer parameter_is_midi() API, fixes PolyKeyPressure
...
Previously MidiNotePressureAutomation was not assumed to be
MIDI automation.
2020-04-15 15:36:45 +02:00
Robin Gareus
a3af5e31f1
Update labels in MIDI Automation Lanes when MIDNAM changes
2020-04-15 02:38:18 +02:00
Paul Davis
8a1f1a3005
remove border around ATAV controls table (looks better with new theme)
2020-04-03 14:25:32 -06:00
Paul Davis
626d97b13a
a better solution for automation axis name labels
2020-04-03 14:25:13 -06:00