Commit Graph
611 Commits
Author SHA1 Message Date
itsmattkc 95b7c9770c manageddisplay: fixed segfault when closing exportdialog
Really affected any color managed display widget, including scopes, viewers,
and the export dialog.
2020-05-01 02:04:26 +10:00
itsmattkc ba94aa0b22 fixed some float typing for msvc build 2020-04-29 18:43:00 +10:00
itsmattkc 4ac5513e3f nodeview: implemented ability to select and delete node edges 2020-04-29 17:25:41 +10:00
itsmattkc 3f77c2ce91 Merge branch 'master' into nodeviewredux 2020-04-29 15:57:24 +10:00
itsmattkc dfedcb97b2 waveform: use qfontmetrics macro for version compatibility 2020-04-29 15:56:24 +10:00
itsmattkc bf68a4d631 nodes: added ability to label nodes 2020-04-29 15:35:05 +10:00
itsmattkc 13dc79d0cd nodeview: implemented duplicate feature 2020-04-29 15:04:53 +10:00
itsmattkc d83073cf85 nodeview: attach pasted nodes to the cursor 2020-04-29 14:49:43 +10:00
itsmattkc 1db5cf4de4 nodeview: reduce width of items 2020-04-29 14:36:06 +10:00
itsmattkc 999e841bc7 nodes: implemented short name
Nodes can provide "short" names for use in the node graph, distinct from their
full names shown everywhere else.
2020-04-29 14:33:57 +10:00
Troy James Sobotka 949e43cada Update IRE increments
Move to 10% increments.
2020-04-28 15:59:40 -07:00
Troy James Sobotka c06bdc5eac Update flourishes
Centre and align text.
2020-04-28 15:39:16 -07:00
Troy James Sobotka 4af10b2b5c Update Waveform Output
Updates:
 * Added IRE text on 20% increments
 * Added waveform lines that work
 * Scaled waveform to a subsection of the surface
2020-04-28 15:06:22 -07:00
Troy James Sobotka b9a62eb1aa Add lines
Adding waveform lines. Still requires scaling to
fit in arbitrary range.
2020-04-28 15:06:22 -07:00
itsmattkc ff1a470aa0 Merge branch 'master' into nodeviewredux 2020-04-29 05:01:11 +10:00
itsmattkc 8ab91a70cc nodeview: implemented moving with either the hand tool or middle mouse button
Includes splitting off this functionality from TimelineViewBase so it can be
re-used in any QGraphicsView.
2020-04-29 04:56:58 +10:00
itsmattkc f04fa12c06 nodeview: allow expanded views of nodes again
Re-implementing expanding nodes to see the connections (but nicer this time).
2020-04-29 03:56:50 +10:00
itsmattkc d8df7cd5a7 Merge branch 'master' into nodeviewredux 2020-04-29 02:15:34 +10:00
itsmattkc 877e8d3afc curveview: ensured curveview is updated with the correct length and playhead 2020-04-29 01:26:09 +10:00
itsmattkc 69d399105a manageddisplaywidgets: fixed issue that caused buffers to be drawn on the main window 2020-04-29 01:24:21 +10:00
itsmattkc 3070aa7e40 waveformscope: convert buffers to DVL before drawing the waveform 2020-04-29 00:36:55 +10:00
itsmattkc 61dd75a2ed scopes: only update if visible
Updating scopes can require heavy processing so we limit updates to only
when the scope is visible
2020-04-28 23:55:40 +10:00
itsmattkc ad419754a9 waveformscope: fixed double free on close 2020-04-28 17:40:22 +10:00
itsmattkc 4906bb7d53 scopes: don't use shared context
OpenGL shared contexts (through Qt at least) seem to be buggy. Scopes have been
shifted to a non-shared approach as a result.
2020-04-28 17:08:52 +10:00
itsmattkc d74d6a1542 nodes: implementing saving/loading node positions from project file 2020-04-28 03:43:35 +10:00
itsmattkc 3c01b14a14 palette: fixed disabled text color 2020-04-28 03:32:50 +10:00
itsmattkc b57d12868f nodeview: allow dropping a node on any edge
Before we checked data types to ensure compatibility, but some nodes (e.g. the
math node) may be compatible despite a not apparently compatible data type.
We allow users to make any connection quickly this way.
2020-04-28 03:20:08 +10:00
itsmattkc e154b5d5d4 nodeview: make auto-position a manual and specific function, allow different flow directions
The first in many NodeView improvements. Up until now, nodes have been forcibly
auto-arranged, which has worked as a reasonable stop-gap just so that all the
nodes are visible during testing/development. However this does not make a good
user experience.

We move the auto-arrange code to a manual function that can be used when the
user or program deems it necessary, and also abstract the node positions so that
the view can ultimately determine the exact amount of spacing (useful for
changing DPIs) or orientation, so users can direct the flow whichever way they
want.
2020-04-28 00:28:38 +10:00
itsmattkc b947b2224a nodeview: support multiple flow directions 2020-04-27 16:08:48 +10:00
itsmattkc ac3f49a845 nodes: moved matrix input on "video input" elsewhere
Rather than plugging a matrix into the video input node, the matrix is now
multiplied by the video input using a math node. This is probably more
sensible from a user perspective.

This also means the renderer is tolerant of texture sizes that are not equal
to the sequence size, however most nodes will downsample the texture to the
sequence size (and if not, it will be downsampled once it is cached). Textures
will still *always* be in reference space and the sequence's format. This seems
like the best compromise between backend and frontend congruity.
2020-04-27 04:11:24 +10:00
itsmattkc f61321d68b nodes/timeline: correctly detect when tracks are removed from the graph
Fixes several segfaults that could result from this occurring.
2020-04-27 01:01:12 +10:00
itsmattkc 9c4999cfae curvepanel: reconfigured to be a spawnable child of NodeParamView 2020-04-27 00:04:07 +10:00
itsmattkc 53ae25a7cb nodes: optimize node graph changes by only updating from inputs that changed
A huge optimization that ensures only the parts of a node graph that have
changed get pushed to the renderer. For thread-safety, the node graph is
copied elsewhere so that users can make changes asynchronously and the graph
can update when its threads are ready. Up until now, if an input value changed,
every node's values would be re-copied, or worse, if a connection was changed,
the entire graph would be recopied. This has been negligible in testing since
we've been largely testing with small graphs, but for massive projects, it's
important that this be as optimized as possible.
2020-04-26 04:16:15 +10:00
itsmattkc 17999eab7a timelineview: removed "end item"
This was written as a hack to force our QGraphicsScenes to larger sizes. Turns
out it was completely unnecessary and can be done better.
2020-04-25 15:19:46 +10:00
itsmattkc acef99eb17 renamed viewerglwidget to viewerdisplaywidget
Initially this class was named to provide the possibility of supporting other
APIs, however this abstraction has been done with a base class instead.
2020-04-25 14:46:30 +10:00
itsmattkc c7de93cc5d viewer/opengl: minor code improvements 2020-04-24 15:14:20 +10:00
itsmattkc 8c44f8d03d viewer/various: split off color management into separate base class
Also moves scopes to said base class.
2020-04-24 03:45:07 +10:00
itsmattkc 7768925826 manageddisplay: started base class for widgets that are managed 2020-04-24 00:17:32 +10:00
itsmattkc 1bad7e9b11 waveformscope: pass viewport in as uniform 2020-04-23 23:28:57 +10:00
itsmattkc 1f34b89950 viewer: removed unnecessary debug line 2020-04-23 18:06:49 +10:00
itsmattkc c41b43ea06 nodeview: don't try to delete nodes marked as undeletable 2020-04-23 03:09:38 +10:00
itsmattkc 8f9c056419 colorspacechooser: fixed incorrect title function call 2020-04-23 02:23:41 +10:00
itsmattkc 2b1363d434 colorspacechooser: fixed segfault that occurred sometimes if DVL was disabled 2020-04-23 01:23:08 +10:00
itsmattkc 6c1e90665f colormanagement: moved from passing DVL strings everywhere to a consolidated ColorTransform struct 2020-04-23 01:17:58 +10:00
itsmattkc a422f6e369 timelineviewbase: decrease ctrl+scroll speed 2020-04-23 01:00:26 +10:00
itsmattkc 03ce9ee8f7 moved color widgets from ColorDialog folder to a widget folder 2020-04-22 23:38:51 +10:00
itsmattkc 197e60b6c3 export: show main color spaces rather than DVL chain 2020-04-22 23:34:23 +10:00
itsmattkc 26b928597c nodeview: only select if a graph is currently active
Fixes segfault where timeline attempted to signal NodeView to select nodes
after it had already cleared itself.
2020-04-22 18:18:22 +10:00
itsmattkc de783d214a colorwheel/colorgradient: clamped at 1.0
Since these are UI/display components, they are clamped at 0.0 - 1.0
2020-04-22 18:15:29 +10:00
itsmattkc db117e0780 mathnode: increased decimal places
Also includes general improvements to the slider widget such as an optional
"autotrim" function to cut off trailing zeroes, a "format" string that's easier
to internationalize, and general tidiness.
2020-04-22 17:49:32 +10:00