itsmattkc
182e1599af
keyframes: implemented copying/pasting
2022-05-10 15:42:09 -07:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
b9e1498ea0
curvewidget: connect snapping subsystem
2022-05-02 09:45:59 -07:00
itsmattkc
e6d4fe43de
reworked and vastly improved snapping subsystem
2022-05-02 00:01:49 -07:00
itsmattkc
f7396de121
markers: reimplemented copy/paste
2022-05-01 22:33:58 -07:00
itsmattkc
8ba5107e73
fix curveview selections
2021-12-18 11:43:20 -08:00
itsmattkc
619de01db4
refined curve view
2021-12-17 17:07:59 -08:00
itsmattkc
bf196e790b
refined keyframeview and curveview
2021-12-15 19:45:04 -08:00
itsmattkc
7d82d56f31
reworked much of keyframeview for new architecture
2021-12-13 14:12:30 -08:00
itsmattkc
c8c361e67d
curveview: set padding on top and bottom
2021-08-14 16:32:41 -07:00
itsmattkc
438cce1ce5
widget: use rational for internal playhead value
...
Fixes #1688
2021-08-02 10:55:01 -07:00
itsmattkc
72ed87d923
ui: scroll zoom preference now specific to widget
...
Fixes #1597
2021-05-10 12:07:15 +10:00
itsmattkc
94b2cebeea
ui: merged nodeview/timelineview scrolling code
...
Greatly improves code quality and maintainability
2021-05-10 11:15:37 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10: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
7fee0e6b04
suppress some benign warnings
2021-02-21 10:23:06 +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
ad4b83a098
new undo system
...
Also enables undoing when working with node input arrays
2021-01-29 16:10:34 +11:00
itsmattkc
9f99182089
use catch up scrolling when dragging items
2021-01-25 10:22:14 +11:00
itsmattkc
2dd578c6e2
curveview: fixed reset zoom propagation
2021-01-24 17:50:12 +11:00
itsmattkc
2ab797e7fe
curvewidget: share color between view and tree
2021-01-24 15:32:25 +11:00
itsmattkc
8d975faa83
renamed function for clarity
2021-01-24 15:31:01 +11:00
itsmattkc
f04ca0a707
implemented select and deselect all in curve and param panels
2021-01-24 15:29:38 +11:00
itsmattkc
59da13969d
add functions to select or zoom to fit keyframes of a single input
2021-01-24 14:06:39 +11:00
itsmattkc
b45ca61d6d
fixed bug where bezier control points weren't affected by Y scale
2021-01-24 14:05:51 +11:00
itsmattkc
49a9e5b870
finally added limits to bezier so curves can't loop over themselves
2021-01-24 14:04:18 +11:00
itsmattkc
b68397d687
implement keyframe track separation in curve view
2021-01-24 12:09:00 +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
e2010dde83
made formal QtUtils class
2020-11-17 09:42:36 +11:00
itsmattkc
1b9bf6d92c
switched many QLists for QVectors
...
Minor optimization
2020-11-16 16:17:43 +11: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
Thomas Wilshaw
098b40c98e
Use cfloat instead of limits
2020-07-02 15:36:13 +01:00
Thomas Wilshaw
b04fa02ab4
Explicitly include limits header to fix build issue on Linux.
2020-07-01 14:18:12 +01:00
itsmattkc
d31c373bd0
curveview: transform times to target for zoom fit
2020-06-24 01:29:57 +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
5f6e5916bc
curvewidget: allow zooming only one axis and allow hiding keyframe tracks
2020-06-20 01:56:41 +10:00
itsmattkc
14ac1ada6e
various: adding files missing in last commit
...
Oddly some files didn't commit previously. This commit adds those.
2020-05-27 03:24:37 +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
9c4999cfae
curvepanel: reconfigured to be a spawnable child of NodeParamView
2020-04-27 00:04:07 +10:00
itsmattkc
84e73395ff
panels: implement a small margin on all panels to ensure the focus border is always visible
2020-04-20 18:06:50 +10:00