itsmattkc
3b8743a0ce
timeline: show timecode on block items and started copy function
2020-03-23 15:28:58 +11:00
itsmattkc
bb326e2b50
nodeview/core: moved node copy/paste functions to core so they can be used elsewhere
2020-03-23 15:27:58 +11:00
itsmattkc
52a8966abd
timecode functions: added convenience function and improved error reporting
...
Added a convenience function for converting rational time to a timecode
and timecode converters now return error messages if something goes wrong.
2020-03-23 15:26:31 +11:00
itsmattkc
053ea10393
viewer: fixed occasional segfault when setting the viewer node
...
Since other parts of the UI use OpenGL (through Qt), the viewer's context can
sometimes become non-current until the next time it draws. Since the color
processor is created before the main drawing function, the context could
occasionally be non-current causing its creation to fail. Subsequently trying
to use that color processor would trigger a segfault. This commit addresses that
by always making the context current before creating the color processor shader.
2020-03-22 20:09:05 +11:00
itsmattkc
f9fc27c6eb
renderer: invalid cache when viewer node changes
...
Ensures frames get re-rendered rather than stuck on the previous viewer node.
2020-03-22 20:03:14 +11:00
itsmattkc
51f02ea01b
viewer: allow switching open sequences
2020-03-21 22:18:17 +11:00
itsmattkc
3c3543a2a9
viewer: avoid divide by zero on sequences with zero length
2020-03-21 13:15:11 +11:00
itsmattkc
e6b484a523
audiowaveformview: rounded some float to int conversions
2020-03-19 13:22:48 +11:00
itsmattkc
45482e705d
cmake: disabled msvc warning 4244
2020-03-19 13:22:36 +11:00
itsmattkc
feb561c80b
cmake: disabled msvc warning 4267
2020-03-19 13:03:26 +11:00
itsmattkc
bbb00029e9
Merge branch 'master' of https://github.com/olive-editor/olive
2020-03-19 12:22:10 +11:00
itsmattkc
90284bef19
cmake: reduce msvc warning level
...
We don't develop with MSVC, we only use it for Windows builds so constantly
having to synchronize the warnings between it and GCC seems like a waste of
time.
2020-03-19 12:20:21 +11:00
itsmattkc
100a2b19cc
Merge pull request #1128 from luzpaz/typos
...
Fix doxygen and misc. typos
2020-03-19 12:17:02 +11:00
itsmattkc
2934c875a0
Merge pull request #1130 from eszlari/patch-2
...
cmake: use foreach()
2020-03-19 12:16:26 +11:00
itsmattkc
e5ac72fa9d
Merge branch 'master' into typos
2020-03-19 12:16:09 +11:00
itsmattkc
62dafce3cf
Merge branch 'master' of https://github.com/olive-editor/olive
2020-03-19 12:14:42 +11:00
eszlari
9caa666755
cmake: use foreach()
2020-03-19 00:06:55 +01:00
itsmattkc
30b4ef8f00
cmake/travis: add crash handler tool to mac app bundle and handle dependencies
2020-03-18 08:39:05 -07:00
itsmattkc
215406c15d
cmake: install icns file inside mac bundle
2020-03-18 08:18:33 -07:00
itsmattkc
479f7efc66
stream: commented out never used struct
2020-03-18 08:18:18 -07:00
itsmattkc
04afeee953
crashhandler: enabled mac support
2020-03-18 08:17:23 -07:00
itsmattkc
78c504d292
footageviewer: remove unnecessary cache invalidations
...
Minor optimization, now that the FootageViewer's nodes are
connected/disconnected as part of the process, the second call to invalidate
is unnecessary and will only serve to re-invalidate actually valid cache data.
2020-03-18 19:09:13 +11:00
itsmattkc
f888cf7fe5
audiowaveformview: force cache invalidation if the footage is changed
2020-03-18 19:08:33 +11:00
itsmattkc
7771bab5a0
audiobackend: truncate PCM cache size when the length is reduced
2020-03-18 19:08:18 +11:00
itsmattkc
6ddfd2fc8e
waveinput: return actual read count when reading into an existing buffer
2020-03-18 19:06:08 +11:00
itsmattkc
d4d969872f
ffmpegdecoder: if data is less than duration, fill remainder with 0s
...
Fixes bug where random/uninitialzed audio values may appear in some
circumstances.
Also switches swr_convert_frame to swr_convert for a small
optimization/improvement, no need to use AVFrame struct when we're only
interested in samples.
2020-03-18 19:05:02 +11:00
itsmattkc
79bc9594b9
audiorenderer: clear tasks waiting for conforms when their ranges are invalidated
...
Minor code optimization.
2020-03-18 15:49:29 +11:00
itsmattkc
4f7fcce367
Merge branch 'master' of https://github.com/olive-editor/olive
2020-03-18 15:03:20 +11:00
itsmattkc
40073dde62
cmake: added crash handler target to install
2020-03-18 15:02:43 +11:00
itsmattkc
fed17e35fa
audiowaveformview: optimizes waveform to only redraw when necessary
...
Draws to a pixmap only when the waveform changes so it doesn't have to be
regenerated on every draw. Also renames WaveformView to AudioWaveformView
2020-03-18 14:44:05 +11:00
itsmattkc
5bdee74205
waveformview: corrected rectified waveform algorithm
...
Fixed bug where code erroneously multipled by full channel height. This is an
incorrect assumption since the full range of -1.0 to 1.0 is 2.0 which means the
difference needs to be halfed to create a range from 0.0 to 1.0.
2020-03-18 14:23:35 +11:00
itsmattkc
27d7822fa9
preferences: added setting for rectified waveforms
2020-03-18 14:23:23 +11:00
itsmattkc
abb4c440fb
core: added signalling for timecode display changes
...
Allows targeted application-wide UI updates for when the user changes the
timecode display so that the response is immediate.
2020-03-18 14:09:31 +11:00
itsmattkc
eb871ceccc
waveformview: implemented rectified waveforms
2020-03-18 14:09:19 +11:00
itsmattkc
69e65f6784
viewer: fixed occasional OCIO bug
...
Addresses a flaw where if the user changed the OCIO "display", Olive wouldn't
check whether the currently selected "view" still existed in the new display
or not which would create an invalid color processor if not. This commit now
checks whether the new display contains the current view, and sets the default
view for the new display if not.
2020-03-17 03:13:14 +11:00
itsmattkc
a1f5c85f49
various: use simpler/smarter XML reading functions
...
Should address any XML parsing issues and allows for simpler, more maintainable
code. Should also address a crash that could occur when pasting nodes that had
inputs that weren't copied.
2020-03-17 02:38:17 +11:00
itsmattkc
72eb3a5d82
nodeview: worked around qt issue where the selection signal would still be sent after an item was deleted
2020-03-17 00:34:32 +11:00
itsmattkc
1c192100c2
viewer: fixed bug where seeking would be stuck to one frame
2020-03-17 00:01:18 +11:00
itsmattkc
4bc5378116
ffmpegencoder: explicit cast from int64_t to int
2020-03-15 20:08:56 +11:00
itsmattkc
34f60e639a
nodeview: implemented copying/pasting nodes
...
Re-uses XML-based project saving/loading functions to store nodes, their
parameters, and their connections in a text-based format in the clipboard.
2020-03-15 20:01:58 +11:00
itsmattkc
50061e4e55
waveformview: show in/out points in waveformview
...
Moved drawing routines to the base class that is used by both TimeRuler
and WaveformView
2020-03-15 18:21:14 +11:00
itsmattkc
a6fb0c7e2b
footageproperties: fixed bug that failed to update image sequence end time
2020-03-15 14:28:26 +11:00
itsmattkc
02e7c68104
timeline: reimplemented linking/unlinking functionality
2020-03-15 13:41:46 +11:00
itsmattkc
b57b091ca4
timeline: auto-unlink blocks when they're deleted
2020-03-15 13:15:36 +11:00
itsmattkc
78baf7661f
audiorenderer: split audio rendering up into chunks for better parallelism
2020-03-14 23:27:41 +11:00
itsmattkc
1c4411a4ad
timebasedwidget/timeruler: reimplemented creating and displaying markers
2020-03-14 23:03:27 +11:00
itsmattkc
a56484d3e6
timelinescaledobject: implemented minimum scale
...
Used by Viewer to keep TimeRuler and WaveformView within restrictions.
2020-03-14 22:34:23 +11:00
itsmattkc
7f2dcc8200
waveformview: made UI seekable
2020-03-14 01:57:40 +11:00
itsmattkc
73d693f2d5
waveformview: implemented basic waveformview display
2020-03-14 01:22:03 +11:00
itsmattkc
f0e6f9a5f9
various: created derived class for widget derivations of
...
TimelineScaledObject
Minor code cleanup, faster than deriving both QWidget and
TimelineScaledObject each time.
2020-03-14 00:45:50 +11:00