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