Commit Graph
697 Commits
Author SHA1 Message Date
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 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 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 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 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 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 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 25370d0112 viewer: only start drags when using the primary mouse button 2020-05-21 21:45:46 +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 d5766489e4 export: fixed audio exporting with new renderer system 2020-05-21 02:18:52 +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 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 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
itsmattkc 558773538d cache: fixed audio with new system 2020-05-18 17:16:28 +10:00
itsmattkc 814bbe8c22 fixed various segfaults in decoder and renderer 2020-05-18 02:40:58 +10:00
itsmattkc 53a2956350 cache: added cache task that can be manually invoked 2020-05-15 18:36:02 +10:00
itsmattkc 7c2280944b timeruler: reworked and improved cache status 2020-05-15 16:15:24 +10:00
itsmattkc 2039067fdc renderer/viewer: fixed playback and live updates from value changes 2020-05-15 15:02:30 +10:00
itsmattkc 8795e51452 renderer: massive overhaul to move to a vastly simplified threading system 2020-05-15 00:52:45 +10:00
itsmattkc 863ae1b913 a first attempt at a new render system 2020-05-14 14:43:03 +10:00
itsmattkc c5dfddff0d renderer: weaved out various unnecessary InvalidateVisible functions 2020-05-13 23:04:15 +10:00
itsmattkc 992321a9a5 viewer: don't update if gizmos haven't actually changed
Minor optimization that prevents unnecessary repaints of the viewer viewport.
2020-05-13 18:26:21 +10:00
itsmattkc 1ed0814e83 nodeview: associate disconnected nodes with selected blocks until re-connected 2020-05-13 16:06:13 +10:00
itsmattkc ce58671fd6 nodeview: started core node filtering work 2020-05-11 22:48:27 +10:00
itsmattkc 9c30f13a2e nodeview: added setting for curved/straight edges 2020-05-10 04:33:37 +10:00
itsmattkc 6ad5076160 viewer: added debug message if playback queue falls behind 2020-05-10 04:05:08 +10:00
itsmattkc eb1b76896e nodeview: reimplemented crude autopositioning system 2020-05-10 03:23:03 +10:00
itsmattkc 948a95f336 Merge branch 'master' into nodeviewredux 2020-05-10 01:01:58 +10:00
itsmattkc c5292f1290 import: disable default matrix/math node generation
While I think the matrix node is a fairly benign node to generate automatically,
I think we have an easier time communicating what's actually happening in the
node graph if we start with the bare essentials (video input -> clip).
2020-05-10 00:55:06 +10:00
itsmattkc 5bdca974bf Merge branch 'master' into nodeviewredux 2020-05-09 23:32:14 +10:00
itsmattkc d653070a9d slider: reviewed and conformed code 2020-05-09 18:53:00 +10:00
itsmattkc cd5a6a6b78 Merge branch 'slider' of https://github.com/ThomasWilshaw/olive into ThomasWilshaw-slider 2020-05-09 18:36:03 +10:00
itsmattkc 20ef7b1c21 viewer: fixed issue that would cause playback queue to stall 2020-05-09 16:21:03 +10:00
itsmattkc 00248de49c viewer: improved frame queue and linked window
Improves minor issues with frame queue implemented in earlier commit. Also links
ViewerWindow with the queue and a separate timer to make it much smoother.
2020-05-09 16:02:18 +10:00
itsmattkc 8c4c6ba2a5 viewer: queue frames during playback
Rather than have to decode EXRs and display them in the span of one frame,
decode into memory ahead of time so that they're ready for upload. Has the
potential to speed up playback by about 5-6x.
2020-05-09 04:47:10 +10:00
itsmattkc fc694296f1 nodeviewscene: added basic standard filtering modes 2020-05-09 03:33:41 +10:00
itsmattkc 16d4cccdb5 nodeview: optimized selecting
Rather than responding to every single selection change, the selection operation
can function as-is and then respond to all of them at the end.
2020-05-09 03:33:36 +10:00
itsmattkc 218c63f933 nodecombobox: implemented node combobox widget 2020-05-09 03:22:09 +10:00
itsmattkc 3d0f11c6ef nodeview: first attempt at filter dialog 2020-05-08 23:12:00 +10:00
itsmattkc 1efd4e9f99 nodeview: further improved auto-positioning system 2020-05-08 19:20:24 +10:00
itsmattkc 12672aae7c Merge branch 'master' into nodeviewredux 2020-05-08 13:00:21 +10:00
Thomas Wilshaw cb1127936a Implement Alt Click to default on sliders
The following sliders now have Alt Click functionality:
 - Nodes (What it's initialy set too or 0 if not)
 - Export Dialog Dimensions~ (Defaults to Sequence width/height)
 - Export Compression Settings~
    - Advanced (0)
 - Speed/Duration
    - Speed (100%)
    - Duration (clip length)
 - Stream Properties Image sequence
    - Start Index (1)
    - End Index (sequence length)

Sliders with no default value set ignore an Alt
Click.

Added SliderBase::SetDefaultValue() which sets the
default value of a slider.

Added ValueReset() to SliderBase signals which is
called if a slider is Alt Clicked on. Only updates
if default_value_ is not Null.
2020-05-07 22:14:37 +01:00
itsmattkc 8362a68aa9 viewer: factor visibility into audio playback 2020-05-08 02:57:59 +10:00
itsmattkc 65705d580d renderer: keep frames in vram while paused
Saves some GPU cycles when adjusting parameters.
2020-05-08 00:32:02 +10:00