13
0
Commit Graph

285 Commits

Author SHA1 Message Date
bbdb6b0e63 more extensive automation display design for cue editor 2024-11-07 16:10:31 -07:00
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
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
4b8c51574d refactor the "selectables" API to allow use within separate (e.g. cue) editors 2024-10-17 07:44:32 -06:00
56ce9c33c0 renaming: AutomationLineBase => AutomationLine, AutomationLine => EditorAutomationLine 2024-10-17 07:44:31 -06:00
fa79645c19 move most of AutomationLine into AutomatonLineBase, a class not strongly tied to the editor 2024-10-17 07:44:31 -06:00
Alejandro Domínguez
c0062fff86
Remove #include <boost/shared_ptr.hpp> 2024-08-29 23:08:42 +02:00
38adfdf79e
Add custom color for region effect automation 2024-04-23 21:56:26 +02:00
b2d4280e0f
Add support for Region Fx Automation 2024-04-23 21:56:22 +02:00
082297b932
Update UI for SurroundSendLevel control type 2024-03-21 14:24:11 +01:00
6b64ebdb27 NOOP: do not wrap lines for small screens 2023-09-30 11:09:58 -06:00
201b9574a2
In Draw mode, do not allow to grab lines.
see also 3cf1227421 and c578695a64
2023-09-26 17:03:09 +02:00
3cf1227421
Revert "in draw mode, mouse drags in automation tracks are always freehand drawing"
This reverts commit c578695a64.

When hovering over a control point there is still the "Fader"
cursor shown. It is also handy to be able to directly modify
a control-point right after adding it.

A freehand draw operation can be still be initiated above,
below, or left/right of a given control point.
2023-09-26 01:10:16 +02:00
c578695a64 in draw mode, mouse drags in automation tracks are always freehand drawing 2023-08-18 17:42:51 -06:00
4c8b414fb6
Allow to numeric ctrl point edit to apply to all selected points 2023-07-11 00:53:48 +02:00
1f4490fff9
Allow to select region-gain points via rubber-band drag 2023-07-02 20:47:41 +02:00
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
luzpaz
44a869732c Fix various typos
Found via `codespell`
2023-02-20 17:35:24 -07:00
f1d784afbb deep fix to the way automation control point drags are handled/computed
The old code could not snap to the grid, because it had a lot of confusion about pixels vs. time,
and between line-origin-relative time and absolute time
2023-02-10 11:11:51 -07:00
ae66304194 missing API change from e883c39e7 2023-02-06 21:51:28 -07:00
e883c39e7a control point drag: fix the way bounding-to-region is computed 2023-02-06 21:04:17 -07:00
2de76147d2 automation line: fix pos/distance confusion that misplaces dragged control points 2023-02-06 21:04:17 -07:00
3d96a318ac automation line: add dump() method to inspect GUI control points 2023-02-06 21:04:17 -07:00
8c6fa19bcf use C++11 auto iterator 2023-02-06 21:04:17 -07:00
c44b40afd7
Indicate UTF8 literals - fixes glyph rendering with MSVC (2/2) 2023-01-16 21:41:22 +01:00
e819af1948
Fix clearing automation
Due to refactoring in d41e66f169 and 83ad0a10b5
Automation > Clear re-displayed the line on mouse-over, even
if there are no events. Then trying to interact with he line
caused segfaults because the actual control points no longer exist.
2022-11-01 00:51:53 +01:00
fa71c87358 remove debug output from automation line reset callback 2022-10-27 08:31:57 -06:00
5dd60c03df automation lines: fix missing line segments 2022-10-26 16:57:06 -06:00
83ad0a10b5 automation line: drop ::redisplay() method 2022-10-26 14:01:59 -06:00
d41e66f169 changes to the way automation lines are drawn to show edge-lines
this adds points to the lines so that they always extend to the edge of
regions (not control points).

more work to come to unify ::redisplay() and ::reset_callback()
2022-10-26 14:01:59 -06:00
f32d36f63e fix initialization order warning 2022-10-26 14:01:59 -06:00
a928e35efb significant overhaul of automation region/lines to update during tempo map drags etc 2022-10-25 11:10:36 -06:00
afd23d42cd
Add dedicated InsertReturnLevel type (2/2) 2022-10-14 02:21:50 +02:00
373a73cb51 fix selectability of region-associated automation (i.e. MIDI)
The fix here is really just dropping the use of _offset when computing the session position
of a control point. This was just an arithmetical error.

However, session_sample_position() was redundant and just caused more work, so this
method was removed, and only ::session_position() is now used.

In addition, several closely related places now use C++11 (or later) "auto"
syntax for iterating over containers, for cleaner looking code
2022-08-11 15:26:42 -06:00
Hubert Figuière
9e754959f6 AutomationLine: make sure control points aren't empty
- Otherwise this trigger a C++ assert when built with it
- More reference https://github.com/flathub/org.ardour.Ardour/issues/34
2022-05-28 22:50:06 -04:00
cb85a0a521 fix for automation control point drags: prevent overlapping points in time.
* control points that were already closer than one_tick_in_pixels
 were able to move beyond adjacent points, resulting in out-of-order lines

* prior code was using 'one tick' as the smallest spacing between two
 CPs, but that is larger than the default 'guard point' spacing.  this
 resulted in odd behavior because of the dxt calculation when you moved
 a point that was created as a 'guard point'

For now, use the same 64 samples we use for 'guard points'.  And change
 the 'dxt' calculation logic to more aggressively limit the points from
 overlapping.

TODO:  we might decide that 'one tick' should be the minimum automation
 period throughout ardour.  In that case we should change guard-points.
2022-05-16 07:16:25 -05:00
ca22ba77e1 Constification: make Stateful::get_state() const, with all other required const-ness added (GUI) 2022-04-06 21:56:59 -06:00
f78b54a06d
Fix AutomationLine editing (range based editing)
This fixes various offset issues when editing MIDI (CC)
automation as well as RegionGain range and point based editing.

(It does not fix a related issue that region start-trim
offsets region-gain. Historically region-gain _offset is always
zero, regardless of region->start().
2022-03-17 20:16:07 +01:00
97fe05e4de
Improve GUI HiDPI support
* scale default track heights
* scale region-gain, automation lane control points
* scale max. MIDI note lane height
2022-01-29 22:33:07 +01:00
luz paz
364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
3c03e4951e
Use updated temporal API 2/2 2021-12-11 15:51:31 +01:00
49424ab0e3 Region::_start should be a timepos_t not a timecnt_t (GUI edition) 2021-08-13 12:51:34 -06:00
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
888239a834 remove dual (x,y) version of AutomationLine::view_to_model_coord()
The x-axis coordinate was never transformed or modified anyway (6.x just changed it
from double to integer and back again!)
2021-08-13 12:51:33 -06:00
2a6b2dfa7c cease using BarTime for anything 2021-08-13 12:51:31 -06:00
3c00fab75e remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr) (GUI edition) 2021-08-13 12:51:30 -06:00
cdab3a5e8f fix a bunch of missing symbols related to temporal 2021-08-13 12:51:29 -06:00
f67029bd02 random commit to facilitate trivial move of work from laptop back to main system 2021-08-13 12:51:29 -06:00
9d69fa3820 another day or two's work on timeline type conversion 2021-08-13 12:51:29 -06:00
04e8dbb342 another day of slow timeline type conversion 2021-08-13 12:51:29 -06:00