itsmattkc
a7ac1750ae
nodeparamview: disable default QMainWindow popup menu
...
Fixes #1638
2021-05-21 10:07:54 +10:00
itsmattkc
1c983f6b8c
nodeparamview: focus next best node when node is removed
...
Fixes #1616
2021-05-10 10:52:34 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10:00
Thomas Wilshaw
139adbdb31
Cleanup for merge.
2021-04-14 12:48:44 +01:00
ThomasWilshaw
ecce4d1ae2
Merge branch 'master' into rational_slider
2021-04-12 10:42:26 +01:00
itsmattkc
8c18b58bbb
nodeparamview: pick up move event
...
Fixes #1547
2021-04-11 19:58:37 +10:00
Thomas Wilshaw
76f8c12a96
Initilise timbase when creating nodeparamviewitem
2021-04-08 11:26:37 +01:00
Thomas Wilshaw
f9b423f731
Link RationalSlider timebase with nodeparamview
2021-04-08 11:26:36 +01:00
itsmattkc
ea29ffef96
minor refactoring and signalling panel subtitle by node change
...
Fixes issue where Footage Viewer subtitle wouldn't update when
dropping footage in.
2021-04-08 10:42:13 +10:00
itsmattkc
9be014c0b6
refactored so sequence is again a derivative of viewer
2021-04-05 14:41:59 +10:00
itsmattkc
2e63140000
nodeparamview: prevent duplicate items
2021-03-18 19:35:09 +11:00
itsmattkc
d7c5ac4b44
implement entire project in nodes
...
Project items are now represented directly in nodes opening up more versatility and possibilities. This is the first iteration of this and will be buggy. Need to test thoroughly.
2021-02-15 21:31:57 +11:00
itsmattkc
81c1922911
use strings to connect nodes
...
This makes the node system somewhat more high-level with the intent of making
working with them far more flexible and stable. By making the architecture more
abstracted, it becomes far less rigid which should allow us to do even more
with it and make it much less crash prone.
2021-02-09 15:48:37 +11:00
itsmattkc
d53885fe3d
improved nodeparamview Y setting
...
Still not perfect, mostly due to Qt's terrible QMainWindowLayout, but ah well
2021-01-30 10:27:52 +11:00
itsmattkc
9f99182089
use catch up scrolling when dragging items
2021-01-25 10:22:14 +11:00
itsmattkc
13b5d9237a
ensure node order is signalled if a node is unpinned and removed from param view
2021-01-23 08:28:40 +11:00
itsmattkc
181235f6ce
began new infrastructure
...
Yep, this is another one of my "famous" sweeping rewrites. Expect things to break.
Goals for this are:
- Greatly simplify node connections (particularly with arrays) so the code requires less maintenance/is more stable
- Redesign node structure to address issues where UI would stall for lengthy periods of time
- Less reliance on shared ptrs/greater reliance on QObject system for inheritance/memory management
- General code cleanup and improvements
2021-01-05 11:20:38 +11:00
itsmattkc
374fa3f75c
moved some files around for better organization
2020-12-16 19:05:22 +11:00
itsmattkc
c7f5af9534
moved autoscroll code to TimeBasedWidget rather than TimelineViewBase
...
Better place for it. Fixes #1406
2020-11-25 10:00:57 +11:00
itsmattkc
75d4cd899b
use hardcoded namespace
...
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc
d241090a9f
finally updated the copyright year
2020-11-17 20:13:22 +11:00
itsmattkc
1b9bf6d92c
switched many QLists for QVectors
...
Minor optimization
2020-11-16 16:17:43 +11:00
itsmattkc
b9359ce50d
nodeparamview/viewer: improved gizmo selection system
2020-09-30 00:32:40 +10:00
itsmattkc
fec9774935
curveview: finished rework
2020-09-29 16:41:12 +10:00
itsmattkc
610f4c54fe
various: began heavy rework of curve view to link closely with param view
2020-09-29 00:42:16 +10:00
itsmattkc
dc56dc1d60
nodeparamview: implemented pinning
2020-09-28 21:50:55 +10:00
itsmattkc
4c30773fd4
nodeparamview: reworked based on QMainWindow for docking functionality
2020-09-28 19:55:18 +10:00
itsmattkc
d69e478a62
paramview: ensure item time target is set upon creation
...
Fixes #1213
2020-09-23 01:44:11 +10:00
itsmattkc
2afa5a42c7
ui: optimized widget signals for selecting clips/nodes
...
Decent performance optimization when working with the UI.
2020-08-01 02:12:20 +10:00
itsmattkc
8bf653925f
curve/timeline: improved user interface behavior
...
* Implements "auto-fit" setting for curve view and sets it on open.
* Improves scroll zooming on all TimelineViewBase derivatives.
* Improves code sharing for better maintenance.
2020-06-23 05:25:34 +10:00
itsmattkc
e681b87988
curve/param/panels: leave curve panel open and have option for timebasedwidget to auto-set timebase
2020-06-23 05:22:58 +10:00
itsmattkc
1725f01459
paramview: changed to static viewer-bound and fixed various scrolling issues
2020-06-22 00:38:00 +10:00
itsmattkc
e97b5a9a14
nodeparamview: set time on node set
...
Fixes bug where keyframes would land on 0 unless the time is set a
second time.
2020-06-21 13:12:07 +10:00
itsmattkc
cfc5ce24a3
Merge branch 'master' into gizmos
2020-05-02 17:06:49 +10:00
itsmattkc
e67dabf1ff
keyframes: implemented deleting keyframes with the delete shortcut
2020-05-01 17:01:16 +10:00
itsmattkc
877e8d3afc
curveview: ensured curveview is updated with the correct length and playhead
2020-04-29 01:26:09 +10:00
itsmattkc
1cca9de7c5
gizmos: implemented pathway for node to draw on the viewer
2020-04-27 04:34:36 +10:00
itsmattkc
9c4999cfae
curvepanel: reconfigured to be a spawnable child of NodeParamView
2020-04-27 00:04:07 +10:00
itsmattkc
6f4bf70d3e
scope: implemented waveform scope
2020-04-20 22:58:29 +10:00
itsmattkc
df5b66c3c7
nodeparamview: show connections in the param view
2020-04-17 01:07:13 +10:00
itsmattkc
cc421d4108
keyframeview: show correct length and jump to the corresponding time in NodeParamView
2020-04-15 03:35:48 +10:00
itsmattkc
1aa87cbda6
various: encapsulate all code in the olive namespace to avoid name collisions
...
Large-scale code cleanup. Also adds a license to the top of all files that were
missing it.
2020-04-06 15:29:53 +10:00
itsmattkc
3399227b3a
keyframeview: implemented transforming keyframe times to and from sequence time
...
Since the node graph can have transform cross nodes, input keyframes may occur
at a different times requiring transforming between sequence time and media
time. This commit implements such a mechanism in all UI classes that need it.
2020-03-26 19:17:46 +11:00
itsmattkc
6eeae7b15e
timebasedwidget: move center scroll functionality to base class so widgets like
...
Viewer can use it
2020-02-17 15:21:10 +11:00
itsmattkc
17c1493aa7
all time-based panels are now derived from a common base class
...
Cuts down on a lot of duplicate code between
TimelineWidget/ViewerWidget/CurveWidget/NodeParamView
and TimelinePanel/ViewerPanel/CurvePanel/ParamPanel since they all use similar
time functions.
2020-02-01 19:39:43 +11:00
itsmattkc
4697b98980
fixed gcc compile issues
2020-01-19 20:39:48 +11:00
itsmattkc
c8baf4aa3e
implemented rubberband zoom in timeline
2020-01-07 20:24:07 +11:00
itsmattkc
8b2514c1de
implemented automatically switching to the hand tool when middle clicking on
...
all TimelineViewBase derivatives
2020-01-02 05:44:40 +11:00
itsmattkc
f65e1e52b5
implemented scroll wheel zooming in all TimelineViewBase derivatives
2019-12-31 19:49:09 +11:00
itsmattkc
26cafa7936
implemented bulk of curve editor's functionality
...
While certainly not entirely complete yet, this implements most of the UI
functionality of the graph editor.
2019-12-28 18:26:37 +11:00