Commit Graph
1105 Commits
Author SHA1 Message Date
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 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
itsmattkc 75417f85d1 timeruler: ported common functions to timelinescaledobject
Removed code that was largely duplicated.
2020-03-14 00:40:39 +11:00