Commit Graph
176 Commits
Author SHA1 Message Date
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 a7ac1750ae nodeparamview: disable default QMainWindow popup menu
Fixes #1638
2021-05-21 10:07:54 +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 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
itsmattkc 9328539373 slider: reworked sliderbase and derivatives
Mostly cleaning up code, SliderBase was fairly messy.
2021-04-17 12:49:21 +10:00
Thomas Wilshaw 139adbdb31 Cleanup for merge. 2021-04-14 12:48:44 +01: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
Simran fca485bd69 Fix plural handling for translations (#1424)
* .arg() doesn't handle plurals, replace %1 with %n and pass number to tr(), but only if there is an accompanying word for that we want singular/plural translations and only for whole numbers.

* Qt's translation methods only accept integers and we don't know what grammatical number form would be correct for floating-point numbers in different languages anyway.

* Add optional 2nd argument to SliderBase::SetFormat() to activate deferred plural handling:
  SetFormat(QT_TRANSLATE_N_NOOP("olive::SliderBase", "%n unit(s)"), true)

* Generate en_US.ts with lupdate's -pluralonly option. Only source strings that require plural handling need to be translated (as long as the source language is American English).
2021-04-13 00:58:46 +02: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 8c18b58bbb nodeparamview: pick up move event
Fixes #1547
2021-04-11 19:58:37 +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 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 898ea25e89 finished merge of viewer and footage 2021-04-06 13:08:56 +10:00
itsmattkc 9be014c0b6 refactored so sequence is again a derivative of viewer 2021-04-05 14:41:59 +10:00
itsmattkc c444213a85 nodeparamview: null check for input UI
Fixes #1523
2021-03-23 08:38:18 +11:00
itsmattkc d90580cc52 nodeparamview: truncate title bar whenever necessary 2021-03-18 19:47:01 +11:00
itsmattkc b98a321cb9 nodeparamview: added tooltip to label
This is so it can be truncated at some point but I haven't
figured out the best way to do that yet.
2021-03-18 19:36:41 +11:00
itsmattkc 2e63140000 nodeparamview: prevent duplicate items 2021-03-18 19:35:09 +11:00
itsmattkc acb8c6865a implemented offsets into sliders 2021-03-15 18:23:00 +11:00
itsmattkc 500fb58d49 arranged items so they are inputs of folder rather than outputs 2021-03-12 12:22:19 +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 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 4e5db91c17 keyframeviewbase: cleaned up code and show tooltip values in input's desired format 2021-01-25 11:05:09 +11:00
itsmattkc 9f99182089 use catch up scrolling when dragging items 2021-01-25 10:22:14 +11:00
itsmattkc 2da0aed942 remove unnecessary sequence casts 2021-01-25 09:33:50 +11:00
itsmattkc f04ca0a707 implemented select and deselect all in curve and param panels 2021-01-24 15:29:38 +11:00
itsmattkc 4dd2b64c6d keyframecontrol: update state if keyframe time changes 2021-01-24 12:08:23 +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 a261dd55f1 use quintptrs for footage rather than QVariant::fromValue 2021-01-22 16:04:37 +11:00
itsmattkc 2af776b110 fixed various caching update issues 2021-01-22 14:33:30 +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 374fa3f75c moved some files around for better organization 2020-12-16 19:05:22 +11:00
itsmattkc 6cb6407bd8 don't use shared ptrs on streams 2020-12-16 13:46:19 +11:00
itsmattkc 992b6eb952 added plural forms to translatable strings
Fixes #1421
2020-11-27 13:04:49 +11:00
itsmattkc 8a869d0393 use QObject property system now that i know how to signal them 2020-11-27 10:10:24 +11:00