itsmattkc
787ea1d548
Merge branch 'master' into ui-optimizations
2020-10-05 15:19:57 +11:00
itsmattkc
dfe7b80bf3
timeline: hide snap points if the tool changes
2020-10-03 23:10:10 +10:00
itsmattkc
90199b7b57
timeline: updated selection changes for trimming and rippling
2020-10-03 22:59:07 +10:00
itsmattkc
6e417d0ad6
timeline: made ghosts a foreground drawn object
...
Minor optimization, minor UI improvement, somewhat more manageable code.
2020-10-03 22:40:03 +10:00
itsmattkc
a8d714b6e2
timeline: moved tools to separate source files
2020-10-03 22:33:29 +10:00
itsmattkc
8b4a073f35
timeline: implemented system of moving selections and making them undoable
2020-10-03 22:33:10 +10:00
itsmattkc
dd3d11c7e0
timeline: moved tools to separate files
...
Code cleanup, TimelineWidget header was getting a little too bloated.
2020-10-02 22:02:18 +10:00
itsmattkc
0508acc613
timeline: began crude edit tool functionality
2020-10-02 17:10:15 +10:00
itsmattkc
4204910796
nodes: link edges to IDs rather than objects
...
Allows code to know whether the connected parameters has been removed or
not.
2020-10-02 16:04:50 +10:00
itsmattkc
2fb7066155
nodes: allow stalling graph signals until an operation is over
2020-10-02 13:25:49 +10:00
Thomas Wilshaw
9d27d557cd
Replace custom unlink with BlockUnlinkAllCommand
...
Re-use existing unlink command and move all the unlinking code to
NodeRemoveCommand to cover all bases (deletion of a block in the
timeline or in the node editor).
2020-09-30 18:14:11 +01:00
itsmattkc
dac68cabc2
timeline: made ReplaceBlocksWithGaps more accessible for other parts of the program
2020-09-28 14:28:56 +10:00
itsmattkc
a313fb525c
use QGraphicsView::FullViewportUpdate on TimelineViewBase
...
Since this appears to be necessary for all derivatives anyway, we'll add
this directly to the base class.
2020-09-28 14:21:17 +10:00
itsmattkc
9c488d9a37
timeline: use full viewport update
...
Fixes #1190
2020-09-18 12:59:16 +10:00
itsmattkc
f0928814fc
track: store height in "units" rather than pixels
...
Fixes DPI scalability issue if a project ever moved from a display with
one DPI to another.
2020-08-22 00:23:46 +10:00
itsmattkc
d99a8e9005
timeline: refactored "replace with gap" command fixed bug
...
Fixes an unfortunate bug that restored blocks in the wrong order and leads
to a segfault if you continue undoing beyond that point.
2020-08-20 13:40:58 +10:00
itsmattkc
75c3a37c17
removed speed/duration dialog
...
This is the first step in what will eventually be keyframable time
remapping. The speed/duration dialog was a holdover from 0.1 and we can
probably do better here.
2020-08-19 17:42:52 +10:00
itsmattkc
d5dce29b22
cache: merged cachetask and footagecache into one precache task
...
Since the actual auto-cache now happens elsewhere, this cleans up a lot of
dead code.
2020-08-05 23:45:18 +10:00
itsmattkc
07a3216a1f
timeline: if an item is selected while deleted, emit the deselection signal
2020-08-05 01:42:52 +10:00
itsmattkc
2afa5a42c7
ui: optimized widget signals for selecting clips/nodes
...
Decent performance optimization when working with the UI.
2020-08-01 02:12:20 +10:00
itsmattkc
86b66004b0
ui: removed last of the widget proxies
2020-07-23 23:11:00 +10:00
itsmattkc
023ded1fb5
timeline: overhauled pointer tool again
...
Allows dynamic switching between pointer/roll/slide since occasionally this
behavior is interchangeable. Fixes a lot of transition behavior (but not
all of it).
2020-07-23 18:37:57 +10:00
itsmattkc
c76b25a17a
timeline: tools don't need to call move in the release function
...
I had thought that the cursor may still have moved between the last
mouseMoveEvent and the mouseReleaseEvent, but that turns out to be false
making it completely unnecessary to call move functions in the release
function.
2020-07-23 01:29:04 +10:00
itsmattkc
ce353ccbed
timeline: various work to improve timeline behavior, particularly when dealing with transitions
2020-07-22 18:09:57 +10:00
itsmattkc
4268ccd75e
importtool: fixed broken snapping
...
Snap points were made before the ghost's in/outs were set resulting in
incorrect points.
2020-07-22 10:32:04 +10:00
itsmattkc
de74adeb5e
nodes: improved changed signal processing
...
Improves stability and cache reliability.
Earlier iterations were prone to skipping necessary signals (usually
leading to some sort of assert fail), particularly when track
optimizations were used. Those optimizations have been moved to the
viewer node so there's a higher degree of control over which signals
get optimized and in which ways.
2020-07-16 00:32:00 +10:00
itsmattkc
fdfadd8858
add tool: use new class directly rather than text ID
...
Minor code improvement/optimization.
2020-07-14 22:32:01 +10:00
itsmattkc
ae62750d9d
various: fix broken transition creation
...
It's now possible to create transitions! But they're still broken in
a multitude of other ways so plenty more work to do hahahahahahahahaha
2020-07-14 22:31:11 +10:00
itsmattkc
11afdf32fe
decoder/timeline: improve decoding of still images
2020-07-12 18:25:51 +10:00
itsmattkc
0b4a9f4650
timeline: fixed bug that caused I-beam to render incorrectly
2020-07-10 02:40:23 +10:00
itsmattkc
8e75432304
project/timeline: save timeline tracklist state in project file
2020-07-08 19:19:32 +10:00
itsmattkc
af69f157a3
timeline: improved beam tool and its derivatives
2020-07-07 18:43:18 +10:00
itsmattkc
a239fa0e2f
timeline: fixed some ripple tool behavior bugs
2020-07-07 18:06:49 +10:00
itsmattkc
8bf653925f
curve/timeline: improved user interface behavior
...
* Implements "auto-fit" setting for curve view and sets it on open.
* Improves scroll zooming on all TimelineViewBase derivatives.
* Improves code sharing for better maintenance.
2020-06-23 05:25:34 +10:00
itsmattkc
e681b87988
curve/param/panels: leave curve panel open and have option for timebasedwidget to auto-set timebase
2020-06-23 05:22:58 +10:00
itsmattkc
1725f01459
paramview: changed to static viewer-bound and fixed various scrolling issues
2020-06-22 00:38:00 +10:00
itsmattkc
65ccac1dfe
renderer: fixed bug that would render frames even after hash matching
...
Also enables the -Wshadow GCC warning to warn against the code bug that
caused this issue (and has caused other issues like it in the past).
2020-06-19 20:25:05 +10:00
itsmattkc
5397457c8d
timeline: treat non-primary clicks as non-moving
...
Fixes bug where drag would get stuck if the user right clicked on the
timeline.
2020-06-18 03:35:59 +10:00
itsmattkc
29d56a1583
timeline: implemented UI indicator for tools like razor and edit
2020-06-16 18:30:00 +10:00
itsmattkc
62c23e8ed1
timeline: allow re-labelling clips
2020-06-16 16:30:31 +10:00
itsmattkc
41b04d976c
nodes/clips: use node label as clip name and allow changing multiple labels at once
...
Merges the "clip name" and "node label" into the same entity.
2020-06-16 16:23:05 +10:00
itsmattkc
5980737742
timeline: ignore subtitle tracks for now
2020-06-16 15:17:21 +10:00
itsmattkc
9a49235e40
addtool: better snapping
2020-06-14 01:20:02 +10:00
itsmattkc
4c14ab6498
add tool: allow adding on a track that doesn't exist yet
2020-06-13 20:03:06 +10:00
itsmattkc
469b1e92d0
nodes: implemented basic text node
2020-06-13 03:01:35 +10:00
itsmattkc
0abfdd1b65
timeline: improved context menu for selected clips
2020-06-12 21:55:43 +10:00
itsmattkc
494609410b
timeline: when trimming, removing adjacent if its length is reduced to zero
2020-06-09 15:38:47 +10:00
itsmattkc
be784591fc
timeline: optimized pointer tool ctrl+drop
2020-06-06 17:50:23 +10:00
itsmattkc
aaee2ab9ed
timeline: vastly improved snapping
2020-06-06 13:59:49 +10:00
itsmattkc
de3288893d
renderer: move waveform generation into worker and mutex the waveform
...
Addresses scheduling issues where a backend might be closed (or even
destroyed) before it processes a waveform signal from a worker. Requires
extra multithreading code.
2020-06-05 15:18:14 +10:00