Commit Graph
98 Commits
Author SHA1 Message Date
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 401f8d394c shapenode: added gizmos 2021-09-22 01:45:05 -07:00
itsmattkc 16aac5ba26 nodeparamview: only calculate time adjustment when keyframing 2021-08-26 11:15:48 -07:00
itsmattkc 8954271e87 nodeparamview: fix combobox set with separators 2021-08-03 10:08:09 -07:00
itsmattkc 8350ce300f cache: improved invalidation system 2021-07-15 20:59:37 -07:00
itsmattkc d0bd5e2142 nodeparamview: fix crash when inserting color keyframe 2021-05-26 17:03:49 +10:00
itsmattkc e21d4ab0d7 nodes: revised text node
Clarifies text node's ability to parse HTML with Qt.
Removes janky incomplete "rich text editing" functionality. I don't think this is the right approach.
2021-05-21 10:46:35 +10:00
itsmattkc a0072cbb75 nodeparamview: get track value rather than combined value when inserting keyframe
Fixes #1631
2021-05-14 09:56:47 +10:00
itsmattkc 77d4b18a60 updated copyright year for 2021 [skip ci] 2021-04-17 18:56:50 +10:00
itsmattkc 9328539373 slider: reworked sliderbase and derivatives
Mostly cleaning up code, SliderBase was fairly messy.
2021-04-17 12:49:21 +10:00
ThomasWilshaw da275efdf2 Merge branch 'master' into rational_slider 2021-04-14 12:08:58 +01:00
itsmattkc 3590a84945 nodeparamview: don't set properties if the root of an array 2021-04-13 22:41:01 +10:00
ThomasWilshaw ecce4d1ae2 Merge branch 'master' into rational_slider 2021-04-12 10:42:26 +01:00
Thomas Wilshaw b9ebc6be18 Fix the easy comments. 2021-04-12 10:14:18 +01:00
itsmattkc 893adc3d72 implemented value node
Also implements changes necessary to support an input data type
that changes. Much of that foundation was built in
`nodearchchanges`, but hadn't been finalized. This commit
finalizes and provides a reference implementation/test with the
"Value" node.

Fixes #1443
2021-04-12 16:37:26 +10:00
itsmattkc 515d459d36 nodeparamview: make keyframes on every key track by default
Fixes #1437
2021-04-11 19:38:29 +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
Thomas Wilshaw 7c123c56c3 Get rational slider mostly working with new slider changes 2021-04-08 11:26:35 +01:00
itsmattkc cb75e37e77 moved several files around
Mostly moved classes that became node derivatives into the node/ folder.
2021-04-08 12:15:59 +10:00
itsmattkc acb8c6865a implemented offsets into sliders 2021-03-15 18:23:00 +11:00
itsmattkc b21271534f added UI for editing video parameters in nodes 2021-02-20 13:27:56 +11:00
itsmattkc 4827782331 moved sequence params into node graph too
Reduces code by reusing more of the existing node infrastructure
to synchronize sequence parameters the render backend.
2021-02-18 13:20:23 +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 4e5db91c17 keyframeviewbase: cleaned up code and show tooltip values in input's desired format 2021-01-25 11:05:09 +11:00
itsmattkc a261dd55f1 use quintptrs for footage rather than QVariant::fromValue 2021-01-22 16:04:37 +11:00
itsmattkc 8a5df32281 fixed arrays in nodeparamview 2021-01-22 12:20:25 +11:00
itsmattkc 396ccfa160 reworked param view for new structure 2021-01-19 09:10:23 +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 6cb6407bd8 don't use shared ptrs on streams 2020-12-16 13:46:19 +11:00
itsmattkc 8a869d0393 use QObject property system now that i know how to signal them 2020-11-27 10:10:24 +11:00
itsmattkc 2c4f781e13 paramview: discard scroll events on widgets 2020-11-23 12:01:21 +11:00
itsmattkc 5e319a0cdd nodeparamviewwidgetbridge: implemented offsets for more user friendly numeric values 2020-11-22 10:24:35 +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 6309b8fbb7 math: fixed power function
Corrected shader code and fixed bug in widget bridge that reported an
incorrect index.
2020-07-17 12:33:28 +10:00
itsmattkc 8e1be4a3ff nodeparamviewwidgetbridge: implemented editing font parameters 2020-07-10 02:40:09 +10:00
itsmattkc 115e62f140 slider: further behavior improvements
Ladders appears offset on sliders with multipliers. Ladder also appears
on initial press (but still shows line edit if mouse wasn't moved)
2020-06-18 18:58:49 +10:00
itsmattkc 4c548bc6a5 slider: implemented value ladder
Allows finer control over value changes.
2020-06-14 03:56:18 +10:00
itsmattkc 37b7330274 text: added crude basic rich text dialog
To be expanded upon...
2020-06-13 20:04:17 +10:00
itsmattkc 5c5f09a20c renderer: added generate job
For nodes that produce an image on the CPU before sending it to the GPU.
2020-06-13 03:01:23 +10:00
itsmattkc dd7af0e6bd nodes: minor overhaul to functionality
The nodes now have more control over how their accelerated shaders/sample
functions are run, as well as how items are popped off the value tables.
This allows for various optimizations that we didn't have access to before.
2020-06-12 00:54:15 +10:00
itsmattkc 2039067fdc renderer/viewer: fixed playback and live updates from value changes 2020-05-15 15:02:30 +10:00
itsmattkc d653070a9d slider: reviewed and conformed code 2020-05-09 18:53:00 +10:00
Thomas Wilshaw cb1127936a Implement Alt Click to default on sliders
The following sliders now have Alt Click functionality:
 - Nodes (What it's initialy set too or 0 if not)
 - Export Dialog Dimensions~ (Defaults to Sequence width/height)
 - Export Compression Settings~
    - Advanced (0)
 - Speed/Duration
    - Speed (100%)
    - Duration (clip length)
 - Stream Properties Image sequence
    - Start Index (1)
    - End Index (sequence length)

Sliders with no default value set ignore an Alt
Click.

Added SliderBase::SetDefaultValue() which sets the
default value of a slider.

Added ValueReset() to SliderBase signals which is
called if a slider is Alt Clicked on. Only updates
if default_value_ is not Null.
2020-05-07 22:14:37 +01:00
itsmattkc 3436740d23 gizmos: consolidated input param dragging code into reusable class 2020-05-07 14:41:50 +10:00
itsmattkc 4d85987b71 nodeparamviewwidgetbridge: fixed array index out of bounds 2020-05-06 17:47:42 +10:00