itsmattkc
2ba928fa1f
code cleanup: renamed qtversionabstraction.h to qtutils.h
2020-02-08 00:13:38 +11:00
itsmattkc
40e8aec285
viewer: minor code improvements
2020-02-03 01:27:45 +11:00
itsmattkc
9b7cbb3fbd
viewer: automatically update maximum scroll from media length
2020-02-01 23:09:25 +11:00
itsmattkc
42989994ca
fixed reference to DBL_MAX
2020-02-01 21:35:30 +11:00
itsmattkc
4213209727
fixed gcc compilation issue
2020-02-01 21:27:06 +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
0469fac4a9
node: send invalidatevisible signal through graph
...
When dragging a value in the UI, we use a "single frame update" because we want
to prioritize the currently visible frame to give visual feedback as soon as
possible. Previously, we generated a single frame InvalidateCache() signal
from the widgets themselves, but this had the major downside of not necessarily
emitting the time that the viewer was actually showing (due to either node time
transformations or times differing between the effects panels and the viewer
panels). Now, we send a different signal that viewers can handle themselves to
update the time that they're currently showing. This means the fast updating
will work no matter how many viewers are connected at whatever time each viewer
is set to.
2020-01-26 14:16:22 +11:00
itsmattkc
ce17d94b12
timeline: don't show speed dialog if no blocks are selected
...
Prevents segfault opening SpeedDurationDialog with an empty clip list.
2020-01-26 13:37:47 +11:00
itsmattkc
f068c425d2
viewer: provide UI to set preview resolution
...
Previews don't need to be rendered full resolution, particularly since the
preview is hardly ever 1:1 size of the sequence. The functionality to render
at lower resolutions already existed, but there was no UI for it. This commit
implements UI to set the resolution divider on the viewer.
2020-01-26 13:27:06 +11:00
itsmattkc
0e82ec600d
keyframes: implemented same single frame strategy on bezier control points
2020-01-25 18:00:35 +11:00
itsmattkc
b713ab47eb
keyframes: only update active frames even from curve and param editor
...
When adjusting a slider, keyframe time, or curve value, it is undesirable to
re-cache the entire affected area while the user is still dragging UI objects.
Since the video is unlikely to be playing, the priority must go to the
currently active frame so the user gets visual feedback on the rendered image
as soon as possible. This was implemented in some areas, but this commit should
have that functionality in all areas.
2020-01-25 17:51:34 +11:00
itsmattkc
fdbaa75dff
renderer: allow parameters to be changed mid-session
2020-01-22 14:05:37 +11:00
itsmattkc
1dfac0ea7f
timeline: removed unused variable in undo command
2020-01-19 23:52:23 +11:00
itsmattkc
4697b98980
fixed gcc compile issues
2020-01-19 20:39:48 +11:00
itsmattkc
1101b58ee8
allow setting of pixel format/ocio method/sample format in preferences
...
Implementation isn't perfect yet, viewer/renderer doesn't update yet when
the preference is changed so a sequence needs to be re-opened for the change to
take effect.
2020-01-18 03:37:36 +11:00
itsmattkc
e6b45c75c3
fixed bug where scrubbed frames would be cached but not committed to the hashmap
2020-01-17 18:13:49 +11:00
itsmattkc
f8f932112c
fixed bug where the node remove with exclusive deps command would never run
2020-01-17 13:56:45 +11:00
itsmattkc
653709dc84
try to index media immediately on import
...
Since indexing is supplemental, it can be made a background task that can occur
at more or less any time. So we run it as soon as possible.
2020-01-17 03:58:29 +11:00
itsmattkc
63b3c60017
allow editing sequence properties in projectexplorer
2020-01-16 15:01:13 +11:00
itsmattkc
c6710b1359
correctly update the panel subtitles based on the media connected
2020-01-16 14:57:16 +11:00
itsmattkc
d32306f88b
only disk cache around the playhead
2020-01-10 20:35:48 +11:00
itsmattkc
7df52b7fd5
added disk preferences pane and the ability to set the disk cache location
2020-01-09 15:51:59 +11:00
itsmattkc
b233bdf8c9
a fairly decent node auto-positioning algorithm, not perfect, but a good start
2020-01-09 04:03:47 +11:00
itsmattkc
7018973d09
basic auto-positioning implementation
...
Not perfect by any means, but nodes are now automatically placed in relation to
their surroundings and connections.
2020-01-09 01:41:23 +11:00
itsmattkc
1b34c5566d
anchor node graphics item by their center
...
Makes auto-positioning them somewhat easier.
2020-01-09 01:40:06 +11:00
itsmattkc
c8baf4aa3e
implemented rubberband zoom in timeline
2020-01-07 20:24:07 +11:00
itsmattkc
d9572fa4e5
only allow splitting clips
2020-01-07 19:04:24 +11:00
itsmattkc
a616aaa182
correctly affect speed/reversing when shuttling audio
2020-01-07 16:41:30 +11:00
itsmattkc
e09ff4abf6
handle transition track movement
...
Only allow transitions to move tracks if their attached blocks are moving
with them.
2020-01-07 03:06:51 +11:00
itsmattkc
2941dbff48
handle transitions that have been set to zero length
...
Transition is removed wholesale if its length is set to zero.
2020-01-07 02:28:31 +11:00
itsmattkc
ee392e11c6
implemented transition moving
...
For dual transitions, this will shift around the mid point.
2020-01-07 02:08:35 +11:00
itsmattkc
5d8be03970
implemented support for trimming transitions
2020-01-07 01:47:58 +11:00
itsmattkc
e71697f693
fixed bug in ripple remove undo command where blocks deleted at the start of
...
the track would be restored at the end
2020-01-06 18:13:56 +11:00
itsmattkc
d3ed7f9863
hash the transition's progress
...
Since the transition progress directly affects the resulting image, it's
important to include it in the frame hash.
2020-01-06 17:25:38 +11:00
itsmattkc
402f031be2
fix connections for new tracktype namespace
2020-01-06 15:43:21 +11:00
itsmattkc
7bf2422c44
moved timeline tracktypes into timelinecommon.h
2020-01-06 15:34:12 +11:00
itsmattkc
dae09abf45
use speed value instead of media out value
...
This functions more or less identically to using a media out value, but the
desired speed is preserved through block length changes, even if the block's
length is reduced to zero (i.e. no rounding errors).
2020-01-06 15:21:27 +11:00
itsmattkc
31b60664a7
Merge branch 'merge-timeline-and-viewer'
2020-01-04 02:45:26 +11:00
itsmattkc
0463106187
began timeline edit tool
2020-01-03 21:17:51 +11:00
itsmattkc
3a8a509f1a
clear frame caches and renderers if the viewer node is ever changed
...
Clears the state if a viewer node is disconnected.
2020-01-03 21:17:20 +11:00
itsmattkc
ef91f81e0f
implemented cursors in the timeline
...
Note: this does not use the cursor SVGs in app/ui/cursors since I was never
really satisfied with them. They're kept for posterity for the time being.
2020-01-03 17:58:07 +11:00
itsmattkc
db146b376a
implemented core UI caching feedback functionality
...
Not a perfect implementation yet, but this shows UI feedback on what frames are
cached and which ones aren't.
2020-01-03 05:38:20 +11:00
itsmattkc
df837efbc6
merged timeline and viewer nodes together
2020-01-03 03:26:00 +11:00
itsmattkc
7eae6a85f8
fixed bug that wouldn't clear TrackViewItems when a new sequence was opened
2020-01-02 05:59:37 +11:00
itsmattkc
8b2514c1de
implemented automatically switching to the hand tool when middle clicking on
...
all TimelineViewBase derivatives
2020-01-02 05:44:40 +11:00
itsmattkc
bfb111a2b0
timelinewidget: don't include gaps in the rubberband selection and clean tracks
...
after deleting clips from them
2020-01-02 05:03:36 +11:00
itsmattkc
3492b72e05
pointer tool: only clean up tracks once per operation
2020-01-02 05:02:09 +11:00
itsmattkc
104415a4de
razor tool: only push an undocommand if blocks were actually detected to split
2020-01-02 05:01:39 +11:00
itsmattkc
ae71b206cd
updated timeline tools to allow rounding as well as flooring to find the frame
...
at the mouse cursor point
2020-01-02 04:11:50 +11:00
itsmattkc
62e94ca2cb
improved a number of pointer tool functions and fixed a number of bugs
2020-01-02 01:30:43 +11:00