Commit Graph
61 Commits
Author SHA1 Message Date
Mike Solar 6fdfd03ffd update: update copyright 2025-08-05 17:12:49 +08:00
Mike Solar 74f73ab3be change: change code style to Linux style except indent. 2025-08-03 03:09:40 +08:00
itsmattkc 2c2df99963 name every undo command 2023-03-12 00:49:03 -08:00
itsmattkc dd9c52ab59 start moving core frameworks to external libraries 2023-01-19 09:51:47 -08:00
itsmattkc 451de7030b Merge branch 'move-time-to-viewer' 2022-11-01 18:20:22 -07:00
itsmattkc 4d80044d6d upgrade to qt 6 compliance 2022-10-28 19:42:14 -07:00
itsmattkc f81445527f timebasedwidget: automatically connect scale and scrollbars 2022-10-24 11:18:42 -07:00
itsmattkc d1545745d8 various: moved time from viewer UI to viewer node 2022-10-23 20:56:04 -07:00
itsmattkc e4fd2d5d2c timebasedwidget: rewrote scroll catchup code
Code is much better. Less hacky queuing, implements cooldowns to improve navigation, and introduces a framework so that subclasses can make use of catchup/cooldown code too with any scrollbar they want
2022-07-15 10:59:51 -07:00
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 438cce1ce5 widget: use rational for internal playhead value
Fixes #1688
2021-08-02 10:55:01 -07: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 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 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 59da13969d add functions to select or zoom to fit keyframes of a single input 2021-01-24 14:06:39 +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 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 610f4c54fe various: began heavy rework of curve view to link closely with param view 2020-09-29 00:42:16 +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 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
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 9133bbe632 curveview: implemented keyframe tracks
I'm not sure why this wasn't implemented before, but as a pretty integral part
of the keyframe system, now it is.
2020-04-05 20:19:46 +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
luz.paz 321e7d1606 Fix doxygen and misc. typos
Found via `codespell -q 3 -L ba,keypair,numer,uint`
2020-03-10 15:00:56 -04: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