Commit Graph
74 Commits
Author SHA1 Message Date
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