Commit Graph
87 Commits
Author SHA1 Message Date
itsmattkc c0360abee1 toolpanel: override Retranslate() 2020-02-01 22:28:14 +11:00
itsmattkc 2fef893fd0 panels: override Retranslate() rather than reimplementing changeEvent() in every derivative 2020-02-01 22:11:14 +11:00
itsmattkc 17c1493aa7 all time-based panels are now derived from a common base class
Cuts down on a lot of duplicate code between
TimelineWidget/ViewerWidget/CurveWidget/NodeParamView
and TimelinePanel/ViewerPanel/CurvePanel/ParamPanel since they all use similar
time functions.
2020-02-01 19:39:43 +11:00
itsmattkc 24f7eeb210 renderer: implemented function to wait for workers in the main thread
The workers run in separate threads meaning if any significant change is made
(e.g. parameters changing, or even closing the program), these workers may still
be mid-render. This is particularly problematic when closing since the nodes a
worker is rendering may be deleted mid-render. Render backends now have a
function that pauses the main thread (but starts a second event loop so the UI
isn't frozen) until the worker threads are all finished. This way, massive
changes can be made safely without race conditions.
2020-01-22 17:11:17 +11:00
itsmattkc c6710b1359 correctly update the panel subtitles based on the media connected 2020-01-16 14:57:16 +11:00
itsmattkc 00b5672639 implemented saving UI
Implemented the file dialog, save progress dialog, and separate thread to save
in (saving needs to be done in a separate thread so the main/GUI thread doesn't
get blocked).
2020-01-12 16:26:05 +11:00
itsmattkc 31b60664a7 Merge branch 'merge-timeline-and-viewer' 2020-01-04 02:45:26 +11:00
itsmattkc 3369bb53f9 implement double clicking a sequence in the project explorer to open it 2020-01-03 21:14:27 +11:00
itsmattkc df837efbc6 merged timeline and viewer nodes together 2020-01-03 03:26:00 +11:00
itsmattkc 2b24fae26f implemented vertical "zooming" in the TimelineWidget and CurveView
This comes in the form of changing the vertical scale in the CurveView and
adjusting all track heights in the Timeline.
2019-12-31 00:23:28 +11:00
itsmattkc 0db13a96ab implemented a footage viewer
Essentially a minor derivation of a viewer type that can automatically view
footage from the project (i.e. not in a sequence).
2019-12-30 20:17:48 +11:00
itsmattkc 26cafa7936 implemented bulk of curve editor's functionality
While certainly not entirely complete yet, this implements most of the UI
functionality of the graph editor.
2019-12-28 18:26:37 +11:00
itsmattkc d82acf9b7e implemented basic animation curve editor widgets
Frontend is largely done, it just needs backend and connecting to other
widgets to function correctly.
2019-12-28 00:27:13 +11:00
itsmattkc 3c9b16555f created curve editor panel 2019-12-28 00:26:42 +11:00
itsmattkc 227db9d653 updated ParamPanel to be able to be connected with ViewerPanel and TimelinePanel 2019-12-27 02:41:31 +11:00
itsmattkc 61c60e00d6 various small code cleanups and improvements
Largely refactoring work to make the code somewhat nicer to work with.
2019-12-26 19:00:08 +11:00
itsmattkc d140094cf5 moved PanelManager to a more traditional singleton form 2019-12-26 17:27:30 +11:00
itsmattkc 97c192672e constructed keyframeview and timeruler together inside nodeparamview and connected them 2019-12-25 02:42:07 +11:00
itsmattkc 836192df48 fixed circular dependency that oddly only occurred on MSVC 2019-12-18 16:49:42 +11:00
itsmattkc b96fd7ae45 allowed access to the viewer node from the viewer widgets 2019-12-16 03:02:28 +11:00
itsmattkc 2f04a53054 implemented deleting clips in the timeline
Also fixed bugs in the Node::GetExclusiveDependencies function and in the
NodeInputArray::RemoveAt function to make this functionality work.
2019-12-14 17:10:06 +11:00
itsmattkc 18bf126574 implemented deleting nodes in the nodeview (undoable) 2019-12-13 04:12:00 +11:00
itsmattkc 8d599b60e4 reimplemented split at playhead functionality
Reimplemented an older but very useful timeline function for splitting blocks
at the current playhead.
2019-11-19 22:25:04 +09:00
itsmattkc 429514b1fd separation of previous renderer into base and derivation complete
The previous iteration was fairly OpenGL-heavy. It's now been separated into
a base class that is OpenGL independent and a derived class that is
OpenGL-based. Over time this should allow for portability away from OpenGL
if necessary.
2019-11-01 12:58:38 +11:00
itsmattkc 52f4c59bec implemented new audio monitor widget 2019-10-23 03:21:05 +11:00
itsmattkc ea4f6f43c4 added support for multiple timeline sections 2019-10-05 04:38:17 +10:00
itsmattkc 4c90405feb connect timeline and viewer together by default 2019-09-27 23:55:24 +10:00
itsmattkc f52c60c26e fixed keyboard shortcut implementation 2019-09-26 04:09:45 +10:00
itsmattkc 00d3932194 fixed maximize panel implementation 2019-09-26 04:00:41 +10:00
itsmattkc c19718a4a5 reimplemented goto prev/next cut, about dialog, and action search dialog 2019-09-25 02:33:33 +10:00
itsmattkc cf3e8d80d1 implemented 'ripple to' timeline actions 2019-09-24 22:45:30 +10:00
itsmattkc c33a0b50ce toggle for moving locked panels implemented 2019-09-24 17:43:16 +10:00
itsmattkc 69da763d9f added select all and deselect all functions 2019-09-24 15:02:24 +10:00
itsmattkc 389e723416 conformed viewer node/panel affinity 2019-09-20 05:12:34 +10:00
itsmattkc 03d81c7003 flipped timeline node/panel affinity 2019-09-20 04:40:38 +10:00
itsmattkc 9b312abf46 completed zoom tool 2019-09-19 01:39:09 +10:00
itsmattkc ba7a10177f fixed various caching issues when rapidly changing values 2019-09-09 04:07:51 +10:00
itsmattkc a5fb8693d0 implemented playback controls 2019-09-06 13:06:23 +10:00
itsmattkc 371d0e2b37 some render cache adjustments 2019-09-04 10:58:50 +10:00
itsmattkc 438e7081f9 foundations for background caching 2019-08-24 22:16:01 +10:00
itsmattkc 6b24ac69d6 validations added for moving and trimming 2019-08-22 14:52:52 +10:00
itsmattkc 7d9d12ee0b began support of timeline tracks/channels 2019-08-15 23:40:22 +10:00
itsmattkc fb7c7f1bdb reimplemented zooming controls 2019-08-15 11:39:07 +10:00
itsmattkc 4f4737a395 added some more timeline functions 2019-08-13 21:50:39 +10:00
itsmattkc 03a0c64e15 some timeline work 2019-08-13 18:14:36 +10:00
itsmattkc e9702aeb52 added some basic timeline functionality 2019-08-12 23:24:58 +10:00
itsmattkc 149f3fa907 timelineview is now a true view of the blocks at all times 2019-08-11 21:01:37 +10:00
itsmattkc 9b63cc7755 inserting blocks through the timeline implemented 2019-08-11 17:30:27 +10:00
itsmattkc 7dd7e83373 work towards dropping clips into the timeline 2019-08-09 22:25:16 +10:00
itsmattkc 09d73ebc2b use raw time values independent of timebase for scaling timeline ui 2019-08-09 16:41:17 +10:00