itsmattkc
4eb539b011
timebasedwidget: fixed regression that stuck "toggleshowall" in one state forever
2020-05-30 17:46:42 +10:00
itsmattkc
bc5068afa1
audiocache: ensure cached ranges are actually marked as validated
...
For some reason, the audio cache never validated itself leading to an
endless loop of trying to re-render it. This is fixed now.
2020-05-30 15:20:14 +10:00
itsmattkc
c1ed84b90e
viewer: receive audio invalidation signal
...
Invalidates and runs cache task correctly even if there are no video
nodes connected.
2020-05-30 02:50:30 +10:00
itsmattkc
8299acf547
timebasedwidget: restore scroll when using "toggle show all"
...
"Toggle Show All" would restore only the scale. Now it sets/restores the
scroll as well.
2020-05-30 02:49:25 +10:00
itsmattkc
957e877b95
elapsed/remaining timer: increase default spacing between times
2020-05-30 02:05:11 +10:00
itsmattkc
4b8ac6a414
rendertask: ensure frames get sorted in chronological order
...
Previous commit broke the sorting system. This commit restores it.
2020-05-30 02:03:13 +10:00
itsmattkc
1d4bfba088
exportdialog: fixed default filename bug
...
Fixes bug where the last character of the default export filename (sourced
from the sequence name) would get cut off unnecessarily.
2020-05-30 02:02:39 +10:00
itsmattkc
6d16ac9f50
rendertask: optimized hash matching and grouping
...
Significantly improves speed of matching already cached frames.
2020-05-29 16:37:58 +10:00
itsmattkc
6638edb761
rendertask: ensure backend nodes are copied the main thread
...
May not be a permanent solution, but should prevents race conditions for
the time being.
2020-05-29 15:25:18 +10:00
itsmattkc
0874c361ba
Merge branch 'cacheondemand' of https://github.com/olive-editor/olive.git into cacheondemand
2020-05-27 04:29:20 +10:00
itsmattkc
55cfae784b
viewer: set automatic divider on connection
...
Probably not a permanent solution, but will aid performance for the
time-being.
2020-05-27 04:28:57 +10:00
itsmattkc
e065885d78
timelineview: added backwards compatibility for qt < 5.12
2020-05-27 04:26:37 +10:00
itsmattkc
a0dec75f2b
renderer: ensure offscreen surface is created in main thread
...
Fixes render crash on some platforms.
2020-05-27 04:05:01 +10:00
itsmattkc
14ac1ada6e
various: adding files missing in last commit
...
Oddly some files didn't commit previously. This commit adds those.
2020-05-27 03:24:37 +10:00
itsmattkc
3e3cacbc85
various: update Qt code deprecated in 5.15
...
- Replaces QLinkedList with std::list as recommended by Qt docs.
- Replaces QWheelEvent::delta() with QWheelEvent::angleDelta(). This
should also benefit trackpad behavior.
2020-05-27 02:54:05 +10:00
itsmattkc
da04777a25
crashhandler: exclude GITHASH if git wasn't found
...
Allows compilation in environments where Git may be missing.
2020-05-27 02:51:10 +10:00
itsmattkc
0c7b3e1761
cache: streamlined audio into cache task
...
Since we always cache audio, it makes sense to lump it into the same auto-cache
task we use for everything else.
2020-05-27 00:09:09 +10:00
itsmattkc
c907114b17
renderer: optimizing and fixing code paths
...
Re-introducing some old concepts for the new structure.
2020-05-26 22:40:54 +10:00
itsmattkc
8b872e7c29
track: smarter block detection code
...
Improves on the code before it in reliability (perhaps at the expense of some
cycles).
2020-05-25 22:12:25 +10:00
itsmattkc
9c59691295
timeline: blocked more unnecessary graph invalidations
2020-05-25 22:11:47 +10:00
itsmattkc
564cb29cc7
audiomonitor: fixed playback speed
...
Audio monitor used to ignore playback speed leading to inaccurate display if the
playback was not 1x forwards.
2020-05-25 14:12:41 +10:00
itsmattkc
85a7cae3ee
cache: improved cache behavior when updating values or render parameters
2020-05-25 03:04:03 +10:00
itsmattkc
4c62dd3708
rendertask: automatically re-match existing hashes
...
Major optimization for frames that have already been cached.
2020-05-24 18:13:18 +10:00
itsmattkc
bc2dd87719
cache: added convenience function to determine if any ranges are invalid
2020-05-24 18:12:43 +10:00
itsmattkc
5ae0a9f74f
footageviewer: set viewer node's media name to footage name
...
Minor UI improvement. The viewer's media name is shown in the cache task
header.
2020-05-24 18:12:08 +10:00
itsmattkc
bf9aa139b1
nodes: improved detection of length changes signalled from the viewer node
2020-05-24 18:11:26 +10:00
itsmattkc
efdf56acf8
cache: improved code pathways for cache
...
Viewers are now more aware of each other and can pause each others' cache tasks
when one of them plays, as well as wait for other viewers' cache tasks to
finish before starting their own.
2020-05-24 18:10:38 +10:00
itsmattkc
4f21a930dd
tasks: added elapsed/remaining time displays for all tasks
2020-05-24 18:10:08 +10:00
itsmattkc
4c4bcb0989
moved simple ms to hh:mm:ss function to timecodefunctions
2020-05-24 17:40:30 +10:00
itsmattkc
89ae6e026f
cache: reimplemented auto-caching
...
Implemented a smarter auto-cache that's context sensitive. Caching will
automatically pause when playback begins or values are being changed and resume
when inactive.
2020-05-24 15:20:35 +10:00
itsmattkc
a26a3cbf21
renderworker: improved update queue handling and reduced memory usage
2020-05-23 02:34:28 +10:00
itsmattkc
5b28070ed8
viewer: reimplemented playback queue warning
...
Not really sure why this was removed, must have been lost in the rewrite work.
2020-05-23 02:33:25 +10:00
itsmattkc
930248ce07
viewer: don't listen for added tracks to invalidate the cache
...
Fixes segfault when adding new tracks.
2020-05-23 02:32:01 +10:00
itsmattkc
f8bd3c1905
nodeinputarray: use deletelater rather than delete
...
Slightly safer code.
2020-05-23 02:31:40 +10:00
itsmattkc
2f5d97f30f
Merge branch 'cacheondemand' of https://github.com/olive-editor/olive into cacheondemand
2020-05-21 21:46:25 +10:00
itsmattkc
25370d0112
viewer: only start drags when using the primary mouse button
2020-05-21 21:45:46 +10:00
itsmattkc
5212a6032a
renderbackend: initialize queuer value
...
Leaving uninitialized could potentially cause issues.
2020-05-21 21:45:12 +10:00
itsmattkc
6507cfbfc9
ffmpegencoder: ensure codec ID is initialized
2020-05-21 18:28:34 +10:00
itsmattkc
34fade9d81
cache: attempt to automatically re-match hashes on invalidate
...
This code is slow and unoptimized. Will require some more work.
2020-05-21 16:49:02 +10:00
itsmattkc
cb72736f52
viewer: keep track of request order and ignore old requests
...
Prevents visual confusion with frames that were requested before the most recent
but arrived after.
2020-05-21 03:09:39 +10:00
itsmattkc
0cf6c9a1f6
export: use codec IDs rather than strings
...
Vastly improves portability between library versions.
2020-05-21 03:04:38 +10:00
itsmattkc
d5766489e4
export: fixed audio exporting with new renderer system
2020-05-21 02:18:52 +10:00
itsmattkc
a2d68f6d9f
timerange: added functions to + and - rationals from timeranges
2020-05-21 02:17:47 +10:00
itsmattkc
b6a42b812e
rational: refactored and cleaned up code
...
Old code (imported from elsewhere) has been cleaned up significantly, made more
understandable/maintainable, and conformed to the rest of the code style.
2020-05-21 02:16:13 +10:00
itsmattkc
0dc548a97e
viewer: fixed bugs in playback queue
...
Fixed issue that caused playback queue to desync and fallback to much slower
live playback.
2020-05-20 12:52:47 +10:00
itsmattkc
470bb44d0a
renderbackend: removed unusued dialog
...
This dialog caused a bunch of warnings and was unused in the new renderer
system. It may be used again later, so it's just been commented out, but there's
currently no plan to.
2020-05-20 12:50:59 +10:00
itsmattkc
87e7564222
cache: heavily reworked exporting for new system
...
Also cleans up cache in general and moves it to the Task infrastructure.
2020-05-19 23:35:17 +10:00
itsmattkc
cd847a89ce
decoder: removed old unused code
...
Minor cleanup.
2020-05-19 03:34:49 +10:00
itsmattkc
cb383d760b
tasks now emit floats rather than integers
...
Simplifies code for tasks.
2020-05-19 02:44:38 +10:00
itsmattkc
b9cd83eff1
task: massively simplified task system
...
Made various changes and fixes to the task system:
- Tasks are built around QtConcurrent rather than QThread. Reduces
code complexity significantly.
- Task error reporting is now streamlined in both TaskManager and
TaskDialog.
- Moved ProjectImport/Save/LoadManager to the app/task folder
2020-05-19 02:44:32 +10:00