itsmattkc
cb93b6bfa1
text: keep text confined within text-safe area
2020-07-07 13:16:41 +10:00
itsmattkc
919314cce8
renderer: improve thread safety
...
Since we share render backends between the viewer and cache tasks now, we
should ensure the render backend is thread safe.
2020-07-07 13:16:25 +10:00
itsmattkc
a45f514f68
renderer: share render backend for auto-cache tasks
...
Since auto-cache events start and stop fairly frequently (and are somewhat
heavy to create/destroy), we can save a lot of cycles over time by sharing
the same backend between them all.
2020-07-06 14:22:17 +10:00
itsmattkc
936d077077
project: use relative filenames if absolute don't exist
2020-07-06 14:03:22 +10:00
itsmattkc
3e9f98e230
Merge branch 'master' of https://github.com/olive-editor/olive.git
2020-06-26 00:22:03 +10:00
itsmattkc
c324de804c
audiomanager: create and delete future watchers when necessary
2020-06-26 00:21:34 +10:00
itsmattkc
7523db099b
cmake: use improved FindOpenEXR module
2020-06-26 00:21:12 +10:00
itsmattkc
e064d37988
mainwindow: check for connected items before saving
...
Fixes segfault when saving an empty project/a project with no sequence
open.
2020-06-24 02:14:51 +10:00
itsmattkc
b0a5d4f4c3
parampanel: set input after timestamp
...
Default TimeBasedWidget behavior is to jump to the playhead, but we want
the CurveView to zoom fit on open instead. So we set the input after the
timestamp to make this behavior possible.
2020-06-24 01:36:04 +10:00
itsmattkc
d31c373bd0
curveview: transform times to target for zoom fit
2020-06-24 01:29:57 +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
2207a915a6
viewernode: check if timebase/size have actually changed before signalling
...
Minor optimization.
2020-06-23 05:15:48 +10:00
itsmattkc
1ec0d06e9f
timebasedpanel: check if node is the same
...
Minor optimization.
2020-06-22 00:40:19 +10:00
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