itsmattkc
6ebcb7162e
audiovisualwaveform: clamp audio values so they stay inbounds
2020-06-22 00:39:38 +10:00
itsmattkc
1725f01459
paramview: changed to static viewer-bound and fixed various scrolling issues
2020-06-22 00:38:00 +10:00
itsmattkc
e97b5a9a14
nodeparamview: set time on node set
...
Fixes bug where keyframes would land on 0 unless the time is set a
second time.
2020-06-21 13:12:07 +10:00
itsmattkc
5f6e5916bc
curvewidget: allow zooming only one axis and allow hiding keyframe tracks
2020-06-20 01:56:41 +10:00
itsmattkc
a94caa5737
export: fixed bug that broke audio on export
2020-06-19 20:25:49 +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
b2a3cede2c
renderer: re-use the same opengl instance for all background rendering
...
Previously the OpenGL instance was tied to each render/cache task,
creating and destroying it each time one started and stopped. This was
completely unnecessary since the instance holds no state and can be
shared by all of the render tasks without having to expensively start
a new one.
2020-06-19 17:06:14 +10:00
itsmattkc
ab74c1579e
mathnode: temporarily disable identity matrix detection
...
This code was faulty and needs extra functionality elsewhere to
actually work correctly.
2020-06-19 02:44:26 +10:00
itsmattkc
fd8116a9de
slider: use ctrl to switch axes
2020-06-19 02:36:09 +10:00
itsmattkc
f8a8af9ec3
project: focus sequence if there is only one
2020-06-19 02:26:55 +10:00
itsmattkc
0280ade20d
project: improved main window layout loading
...
There were a lot of issues that arose from trying to make GUI changes
from another thread (even though we ran those functions in the right
thread). Now we store layout information until the end of the load and
make the changes then. This works much better from both a business logic
and user experience perspective.
Also prevents multiple sequences from taking focus during load and
starting a render job.
2020-06-19 02:23:06 +10:00
itsmattkc
115e62f140
slider: further behavior improvements
...
Ladders appears offset on sliders with multipliers. Ladder also appears
on initial press (but still shows line edit if mouse wasn't moved)
2020-06-18 18:58:49 +10:00
itsmattkc
1f3e0db64b
Merge branch 'master' of https://github.com/olive-editor/olive
2020-06-18 18:15:51 +10:00
itsmattkc
e8c8fedcdb
slider: stop ladder drag timer on release
2020-06-18 17:50:28 +10:00
itsmattkc
57f858dd92
nodetable: correctly update with time
2020-06-18 16:30:57 +10:00
itsmattkc
e47c985baa
slider: if a ladder appears, signal the label that the drag has finished
2020-06-18 16:30:36 +10:00
itsmattkc
a717742cbc
nodetable: show values in separate columns
...
Works for vector coordinates (e.g. XY, XYZ, etc.) as well as displays
checkboxes for RGB/A. Still non-functional.
2020-06-18 15:07:47 +10:00
itsmattkc
897b9ca3dd
statusbar: disconnect old task when connecting a new one
2020-06-18 15:06:07 +10:00
itsmattkc
c5dd406ff1
slider: improved ladder usability
2020-06-18 14:11:50 +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
4b0e6f97f7
Merge branch 'master' of https://github.com/olive-editor/olive
2020-06-17 20:50:21 +10:00
itsmattkc
57eb039b4c
debug: print graphics driver in debug log
...
Might help with debugging GPU issues from users.
2020-06-17 20:50:03 +10:00
itsmattkc
e0d27490e7
Merge branch 'master' of https://github.com/olive-editor/olive.git
2020-06-17 19:56:27 +10:00
itsmattkc
b456b6b0f6
oiiodecoder: make sure spec is used instead of basetype
...
Fixed issue with image alpha handling.
2020-06-17 19:53:21 +10:00
itsmattkc
a818e17c55
export: made progress on headless export
...
Still incomplete and unusable, but less so than before.
2020-06-17 18:06:50 +10:00
itsmattkc
c3c26a8e24
cache: use openexr directly
...
OIIO lacks fidelity over OpenEXR's threading. Using it directly gives us
a little more control.
2020-06-17 17:49:54 +10:00
itsmattkc
2261f1147d
renderer: catch failure to load pre-cached frame
2020-06-17 17:48:41 +10:00
itsmattkc
a871c5081b
nodeparamtable: bare bones table view for node inputs
2020-06-17 17:48:07 +10:00
itsmattkc
1b6e9c1c79
viewer: moved nouveau to application launch rather than viewer init
...
Viewer init was kind of too late since in many cases the sequence
would start caching and crash the app before the user could even read
the message. Moving to the startup makes it clearer from the beginning.
2020-06-17 03:00:00 +10:00
itsmattkc
29d56a1583
timeline: implemented UI indicator for tools like razor and edit
2020-06-16 18:30:00 +10:00
itsmattkc
67ee78ac9a
nodeparamview: allow disconnecting nodes by right clicking the "connected to" label
2020-06-16 17:48:10 +10:00
itsmattkc
f107c9bba1
nodeview: associated pasted nodes
...
Prevents nodes being erroneously filtered out.
2020-06-16 17:17:47 +10:00
itsmattkc
cadb703ed8
ui: made os integration more universal
...
ProgressDialog doesn't have to worry about the platform anymore, now
MainWindow will determine what to do or whether to ignore certain progress
indicator functions.
2020-06-16 16:55:11 +10:00
itsmattkc
e979ce4d7a
nodeview: made an "infinite scroller"
...
Set scene rect to huge and hid the scrollbars. The node view should be
scrolled with middle click or the hand tool.
2020-06-16 16:31:16 +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
cbbf1c9149
framehashcache: use correct linesize when saving EXR
...
Fixes stride issues on non-standard frame sizes.
2020-06-16 15:38:23 +10:00
itsmattkc
71fa821e52
nodeview: enforce minimum scale
2020-06-16 15:37:11 +10:00
itsmattkc
5980737742
timeline: ignore subtitle tracks for now
2020-06-16 15:17:21 +10:00
itsmattkc
dc86e18eb6
slider: remove old debug info
2020-06-16 15:17:01 +10:00
itsmattkc
66b63535a3
renderer: null check before hashing
...
Fixes segfault.
2020-06-16 15:16:52 +10:00
itsmattkc
89b3fa33f8
slider: update behavior for usability and qt 5.15
2020-06-16 14:52:53 +10:00
itsmattkc
8d21a2c1ef
ffmpegdecoder: restore multithreading
2020-06-16 13:34:49 +10:00
itsmattkc
cf17bbc80b
viewer: removed unnecessary background cache triggers
...
This was extremely aggressive and led to cache tasks that would return
even if you cancelled them. This should work a lot better.
2020-06-16 04:07:55 +10:00
itsmattkc
f70f266ca0
render: queue audio alongside video
...
Previously, audio was all queued first and would therefore all have to
finish before any video frames could start caching. No longer! Now they're
queued side by side so users won't have to wait for audio to finish before
their cached frames come in.
2020-06-16 03:49:12 +10:00
itsmattkc
3a4e13a04f
Merge branch 'master' of https://github.com/olive-editor/olive.git
2020-06-16 03:10:19 +10:00
itsmattkc
6a4f3f613c
rendertask: remove sorting code and calculate duplicate hashes while retrieving
...
These are two changes that speed up when frames start getting rendered
and processed (particularly for larger scale projects):
* Sorting of time beforehand was done to optimize decoding but is actually
unnecessary since the frames are already sequential when they're retrieved
from the range. As long as we maintain that order, no sorting is required.
This speeds up caching IMMENSELY.
* Evaluate hashes concurrently while retrieving frames. Before, this was
done before any rendering and could therefore delay rendering by several
seconds. Doing them concurrently means frames start rendering almost
immediately and further hashes can be analyzed while we wait for frames to
finish rendering.
2020-06-16 03:07:53 +10:00
itsmattkc
406f61e546
ffmpegdecoder: use last timestamp for initial seek calculations
...
Fixes bug that would destroy cache performance. Like... just annihilate it.
Like an absolute nuclear holocaust of cache performance.
2020-06-16 02:58:21 +10:00
itsmattkc
41fc50f412
slider: initialize dragged diff to 0
...
Fixes undefined behavior on first drag of a slider.
2020-06-16 02:51:35 +10:00
itsmattkc
2e3072623a
renderer: use qvectors instead of qlists
...
Should be much more efficient for large-scale projects.
2020-06-16 02:45:16 +10:00