itsmattkc
e67dabf1ff
keyframes: implemented deleting keyframes with the delete shortcut
2020-05-01 17:01:16 +10:00
itsmattkc
ca323b7bfd
updated contributing page with more information
2020-05-01 16:57:13 +10:00
itsmattkc
4290797389
colormanager: use env variable as default config if it exists
2020-05-01 16:33:46 +10:00
itsmattkc
6433a0bb8c
appveyor: fixed incorrect comparison in last commit
2020-05-01 14:40:07 +10:00
itsmattkc
2125293a3c
appveyor: use ninja to build and try to prevent deploying on PRs
2020-05-01 14:38:49 +10:00
itsmattkc
9335815d20
waveform: ensure waveform updates on null buffers
2020-05-01 14:20:35 +10:00
itsmattkc
baf954a4e0
cmake: add minimum macos version
2020-05-01 14:00:40 +10:00
itsmattkc
be5e5042bd
timeline: prevent rubberband from showing if the user right clicked
2020-05-01 04:08:35 +10:00
itsmattkc
6f2993477d
added null check for audio that hasn't been indexed yet
2020-05-01 03:51:56 +10:00
itsmattkc
a2cba8c103
pixelformat: respect linesizes when converting pixel formats
2020-05-01 03:42:31 +10:00
itsmattkc
8c8bb45f7f
crashhandler: include git commit hash with crash report
2020-05-01 02:11:26 +10:00
itsmattkc
1f76c33f6b
crashhandler: include git commit hash
2020-05-01 02:09:59 +10:00
itsmattkc
95b7c9770c
manageddisplay: fixed segfault when closing exportdialog
...
Really affected any color managed display widget, including scopes, viewers,
and the export dialog.
2020-05-01 02:04:26 +10:00
itsmattkc
472030f8f0
oiiodecoder: implemented workaround for oiio stride bug in versions < 2.1.12
2020-05-01 01:38:31 +10:00
itsmattkc
a9208294a0
exportdialog: automatically snap resolutions to even numbers
2020-05-01 00:49:09 +10:00
itsmattkc
afc9cff301
exporter: fixed segfault when cancelling introduced by multithreaded color space conversion
2020-05-01 00:36:37 +10:00
itsmattkc
f371aff448
exportdialog: move messageboxes to sheets
...
Improves UI on macOS.
2020-05-01 00:35:13 +10:00
itsmattkc
65e117c3de
exportdialog: warn against a non-even resolution
2020-05-01 00:13:00 +10:00
itsmattkc
5a83f3db79
exportdialog: prevent widths/heights from becoming <= 0
2020-04-30 23:44:50 +10:00
itsmattkc
dc355dca46
export: multithread the color space conversion
2020-04-30 18:54:30 +10:00
itsmattkc
549ecc448a
ffmpegencoder: use qstring rather than sprint_s (which is only available on msvc)
2020-04-30 18:54:13 +10:00
itsmattkc
ce42388d68
export: allow users to override the thread count
2020-04-30 17:19:43 +10:00
itsmattkc
aecfa842c3
nodes: moved hashing to nodes so they can override behavior if they wish
2020-04-30 01:56:08 +10:00
itsmattkc
ba94aa0b22
fixed some float typing for msvc build
2020-04-29 18:43:00 +10:00
itsmattkc
4ac5513e3f
nodeview: implemented ability to select and delete node edges
2020-04-29 17:25:41 +10:00
itsmattkc
3f77c2ce91
Merge branch 'master' into nodeviewredux
2020-04-29 15:57:24 +10:00
itsmattkc
544a8855d3
waveform: update for glsl 150
2020-04-29 15:56:46 +10:00
itsmattkc
dfedcb97b2
waveform: use qfontmetrics macro for version compatibility
2020-04-29 15:56:24 +10:00
itsmattkc
bf68a4d631
nodes: added ability to label nodes
2020-04-29 15:35:05 +10:00
itsmattkc
13dc79d0cd
nodeview: implemented duplicate feature
2020-04-29 15:04:53 +10:00
itsmattkc
d83073cf85
nodeview: attach pasted nodes to the cursor
2020-04-29 14:49:43 +10:00
itsmattkc
1db5cf4de4
nodeview: reduce width of items
2020-04-29 14:36:06 +10:00
itsmattkc
999e841bc7
nodes: implemented short name
...
Nodes can provide "short" names for use in the node graph, distinct from their
full names shown everywhere else.
2020-04-29 14:33:57 +10:00
itsmattkc
ff1a470aa0
Merge branch 'master' into nodeviewredux
2020-04-29 05:01:11 +10:00
itsmattkc
2a9c11823e
Merge branch 'master' of https://github.com/olive-editor/olive
2020-04-29 04:57:39 +10:00
itsmattkc
8ab91a70cc
nodeview: implemented moving with either the hand tool or middle mouse button
...
Includes splitting off this functionality from TimelineViewBase so it can be
re-used in any QGraphicsView.
2020-04-29 04:56:58 +10:00
itsmattkc
366945fd29
add rdynamic to the linux build options
...
This appears to be necessary for debug symbols to show in the crash handler.
2020-04-29 03:57:49 +10:00
itsmattkc
f04fa12c06
nodeview: allow expanded views of nodes again
...
Re-implementing expanding nodes to see the connections (but nicer this time).
2020-04-29 03:56:50 +10:00
itsmattkc
d8df7cd5a7
Merge branch 'master' into nodeviewredux
2020-04-29 02:15:34 +10:00
itsmattkc
877e8d3afc
curveview: ensured curveview is updated with the correct length and playhead
2020-04-29 01:26:09 +10:00
itsmattkc
69d399105a
manageddisplaywidgets: fixed issue that caused buffers to be drawn on the main window
2020-04-29 01:24:21 +10:00
itsmattkc
3070aa7e40
waveformscope: convert buffers to DVL before drawing the waveform
2020-04-29 00:36:55 +10:00
itsmattkc
bb61525d44
Merge branch 'master' of https://github.com/olive-editor/olive
2020-04-29 00:02:09 +10:00
itsmattkc
a412e26d66
panels: fixed bug that added panel to list twice and led to double-free
2020-04-29 00:01:50 +10:00
itsmattkc
61dd75a2ed
scopes: only update if visible
...
Updating scopes can require heavy processing so we limit updates to only
when the scope is visible
2020-04-28 23:55:40 +10:00
itsmattkc
df7f0040ec
mac: implemented support for retina displays
2020-04-28 21:08:36 +10:00
itsmattkc
ad419754a9
waveformscope: fixed double free on close
2020-04-28 17:40:22 +10:00
itsmattkc
737edba243
Merge branch 'master' of https://github.com/olive-editor/olive
2020-04-28 17:14:17 +10:00
itsmattkc
cdf29c8ccc
Merge branch 'master' of https://github.com/olive-editor/olive
2020-04-28 17:09:37 +10:00
itsmattkc
4906bb7d53
scopes: don't use shared context
...
OpenGL shared contexts (through Qt at least) seem to be buggy. Scopes have been
shifted to a non-shared approach as a result.
2020-04-28 17:08:52 +10:00
itsmattkc
5c088b9f1a
mainwindow: show task manager if status bar is double clicked
...
Minor UI improvement.
2020-04-28 16:04:50 +10:00
itsmattkc
1b2c68c927
preferencesaudiotab: fixed bug that didn't disable UI when refreshing audio devices
2020-04-28 15:39:31 +10:00
itsmattkc
64ce4642c6
linux: fixes bug where layout was wonky on startup for some systems
2020-04-28 15:26:22 +10:00
itsmattkc
06ab2d3a0b
fixed namespace issue that broke loading projects from file
2020-04-28 04:00:27 +10:00
itsmattkc
d74d6a1542
nodes: implementing saving/loading node positions from project file
2020-04-28 03:43:35 +10:00
itsmattkc
3c01b14a14
palette: fixed disabled text color
2020-04-28 03:32:50 +10:00
itsmattkc
b57d12868f
nodeview: allow dropping a node on any edge
...
Before we checked data types to ensure compatibility, but some nodes (e.g. the
math node) may be compatible despite a not apparently compatible data type.
We allow users to make any connection quickly this way.
2020-04-28 03:20:08 +10:00
itsmattkc
0faf682225
core: fixed bug that didn't register ProjectPtr correctly and broke some
...
functionality as a result
2020-04-28 02:47:28 +10:00
itsmattkc
e154b5d5d4
nodeview: make auto-position a manual and specific function, allow different flow directions
...
The first in many NodeView improvements. Up until now, nodes have been forcibly
auto-arranged, which has worked as a reasonable stop-gap just so that all the
nodes are visible during testing/development. However this does not make a good
user experience.
We move the auto-arrange code to a manual function that can be used when the
user or program deems it necessary, and also abstract the node positions so that
the view can ultimately determine the exact amount of spacing (useful for
changing DPIs) or orientation, so users can direct the flow whichever way they
want.
2020-04-28 00:28:38 +10:00
itsmattkc
3e28c74d20
projectpanel: connected open/save/undo/redo buttons
...
These were waiting until opening/saving projects was implemented, which it was
about a month ago. Now they are connected.
2020-04-28 00:24:37 +10:00
itsmattkc
b947b2224a
nodeview: support multiple flow directions
2020-04-27 16:08:48 +10:00
itsmattkc
690bdb6581
timeline: make sure track length is updated if a block is disconnected
2020-04-27 14:01:44 +10:00
itsmattkc
ac3f49a845
nodes: moved matrix input on "video input" elsewhere
...
Rather than plugging a matrix into the video input node, the matrix is now
multiplied by the video input using a math node. This is probably more
sensible from a user perspective.
This also means the renderer is tolerant of texture sizes that are not equal
to the sequence size, however most nodes will downsample the texture to the
sequence size (and if not, it will be downsampled once it is cached). Textures
will still *always* be in reference space and the sequence's format. This seems
like the best compromise between backend and frontend congruity.
2020-04-27 04:11:24 +10:00
itsmattkc
f61321d68b
nodes/timeline: correctly detect when tracks are removed from the graph
...
Fixes several segfaults that could result from this occurring.
2020-04-27 01:01:12 +10:00
itsmattkc
981860b60b
fixed audio regression introduced with optimized node copy
2020-04-27 00:55:40 +10:00
itsmattkc
9c4999cfae
curvepanel: reconfigured to be a spawnable child of NodeParamView
2020-04-27 00:04:07 +10:00
itsmattkc
53ae25a7cb
nodes: optimize node graph changes by only updating from inputs that changed
...
A huge optimization that ensures only the parts of a node graph that have
changed get pushed to the renderer. For thread-safety, the node graph is
copied elsewhere so that users can make changes asynchronously and the graph
can update when its threads are ready. Up until now, if an input value changed,
every node's values would be re-copied, or worse, if a connection was changed,
the entire graph would be recopied. This has been negligible in testing since
we've been largely testing with small graphs, but for massive projects, it's
important that this be as optimized as possible.
2020-04-26 04:16:15 +10:00
itsmattkc
17999eab7a
timelineview: removed "end item"
...
This was written as a hack to force our QGraphicsScenes to larger sizes. Turns
out it was completely unnecessary and can be done better.
2020-04-25 15:19:46 +10:00
itsmattkc
acef99eb17
renamed viewerglwidget to viewerdisplaywidget
...
Initially this class was named to provide the possibility of supporting other
APIs, however this abstraction has been done with a base class instead.
2020-04-25 14:46:30 +10:00
itsmattkc
c7de93cc5d
viewer/opengl: minor code improvements
2020-04-24 15:14:20 +10:00
itsmattkc
8c44f8d03d
viewer/various: split off color management into separate base class
...
Also moves scopes to said base class.
2020-04-24 03:45:07 +10:00
itsmattkc
3eb966cb5b
openglshader: fixed ocio opengl incompatibility
2020-04-24 00:19:25 +10:00
itsmattkc
7768925826
manageddisplay: started base class for widgets that are managed
2020-04-24 00:17:32 +10:00
itsmattkc
c4fe5786a3
openglshader: fixed ocio opengl incompatibility
2020-04-23 23:43:29 +10:00
itsmattkc
d3e7678c13
Merge branch 'master' into Simran-B-glsl-150
2020-04-23 23:31:21 +10:00
itsmattkc
1bad7e9b11
waveformscope: pass viewport in as uniform
2020-04-23 23:28:57 +10:00
itsmattkc
8d66989de3
Merge branch 'glsl-150' of https://github.com/Simran-B/olive into Simran-B-glsl-150
2020-04-23 22:37:39 +10:00
itsmattkc
48b5d9ca60
openglshader: upload ocio lut immediately
2020-04-23 22:36:05 +10:00
itsmattkc
6940b00164
colormanager: added wrappers for GetDefaultLumaCoefs
2020-04-23 21:39:21 +10:00
itsmattkc
9e04728c12
openglshader: minor code tidiness
2020-04-23 21:20:51 +10:00
itsmattkc
ac09f604b1
Merge branch 'master' of https://github.com/olive-editor/olive
2020-04-23 21:14:07 +10:00
itsmattkc
1436d9b3eb
ffmpegdecoder: potential fix for deadlocks when closing
2020-04-23 21:13:43 +10:00
itsmattkc
1f34b89950
viewer: removed unnecessary debug line
2020-04-23 18:06:49 +10:00
itsmattkc
4490b10032
oiiodecoder: fixed broken reference
2020-04-23 03:58:38 +10:00
itsmattkc
c41b43ea06
nodeview: don't try to delete nodes marked as undeletable
2020-04-23 03:09:38 +10:00
itsmattkc
61e3641bcc
export: fixed bug where null frames never got signalled and hung exporting
2020-04-23 03:02:04 +10:00
itsmattkc
8f9c056419
colorspacechooser: fixed incorrect title function call
2020-04-23 02:23:41 +10:00
itsmattkc
9beff8b1e8
ffmpegdecoder: fixed deadlock if decoder instance was closed from main thread
2020-04-23 02:23:20 +10:00
itsmattkc
fef29db754
export: fixed bug that failed to export video if using a different export resolution
2020-04-23 02:00:49 +10:00
itsmattkc
a1ec48b978
clitaskdialog: updated comment describing its status
2020-04-23 02:00:29 +10:00
itsmattkc
5c736114d0
merged some export improvements from another branch
2020-04-23 01:31:50 +10:00
itsmattkc
2b1363d434
colorspacechooser: fixed segfault that occurred sometimes if DVL was disabled
2020-04-23 01:23:08 +10:00
itsmattkc
6c1e90665f
colormanagement: moved from passing DVL strings everywhere to a consolidated ColorTransform struct
2020-04-23 01:17:58 +10:00
itsmattkc
a422f6e369
timelineviewbase: decrease ctrl+scroll speed
2020-04-23 01:00:26 +10:00
itsmattkc
03ce9ee8f7
moved color widgets from ColorDialog folder to a widget folder
2020-04-22 23:38:51 +10:00
itsmattkc
197e60b6c3
export: show main color spaces rather than DVL chain
2020-04-22 23:34:23 +10:00
itsmattkc
361a986b79
renderer: added path for generating resized frames from textures
2020-04-22 22:58:00 +10:00
itsmattkc
26b928597c
nodeview: only select if a graph is currently active
...
Fixes segfault where timeline attempted to signal NodeView to select nodes
after it had already cleared itself.
2020-04-22 18:18:22 +10:00
itsmattkc
de783d214a
colorwheel/colorgradient: clamped at 1.0
...
Since these are UI/display components, they are clamped at 0.0 - 1.0
2020-04-22 18:15:29 +10:00
itsmattkc
258f83d5d3
node: fixed bug that failed to load some default values from shader xml
2020-04-22 18:13:53 +10:00