Commit Graph
266 Commits
Author SHA1 Message Date
itsmattkc 2143e32881 don't necessarily clear queue if caching 2021-10-06 13:06:54 -07:00
itsmattkc 3a512c1314 viewer: use const for prequeue audio number 2021-10-02 13:04:02 -07:00
itsmattkc 2f30a2f719 viewer: complete prequeue if there's no more audio
Fixes #1760
2021-10-02 12:30:54 -07:00
itsmattkc 48e700ecb5 fixed some compiler errors 2021-10-01 17:25:43 -07:00
itsmattkc fbc5997d32 removed reliance on Qt multimedia 2021-10-01 16:12:12 -07:00
itsmattkc f49aa7d974 finished portaudio switch
This may have bugs in it, but as far as I can tell it's fully functional.
2021-10-01 15:41:24 -07:00
itsmattkc 7b65ecace5 implemented color picker in dialog
Fixes #1757
2021-10-01 15:41:24 -07:00
itsmattkc ee81a47f2e begin switch to portaudio
Qt's audio system has served us well, but it's a little limited moving forward. PortAudio is a mature and versatile library that will allow for better audio for users.
2021-10-01 15:41:24 -07:00
itsmattkc 4540304222 viewer: ensure queue watcher is appended before ticket is set 2021-09-30 15:17:44 -07:00
itsmattkc 93bdf409b9 viewer: ensure prequeue is done before starting 2021-09-29 10:33:17 -07:00
itsmattkc efcf0ed331 viewer: improved playback ux 2021-09-29 02:12:20 -07:00
itsmattkc e4ee364e77 viewer: remove debug line
This has served its purpose, and we have a better UI message now.
2021-09-28 21:39:37 -07:00
itsmattkc 68033b8828 viewer: restore original audio monitor behavior 2021-09-28 21:39:17 -07:00
itsmattkc 90da62900c viewer: improved realtime audio playback 2021-09-28 21:38:40 -07:00
itsmattkc 337cb4838d viewer: use clamp
Cleaner code
2021-09-27 14:58:45 -07:00
itsmattkc afe02c1033 viewer: use function pointer
Possibly slightly faster
2021-09-27 00:38:08 -07:00
itsmattkc 79e49d0b24 viewer: improved playback behavior 2021-09-26 23:21:21 -07:00
itsmattkc 867123ead9 added note 2021-09-26 14:26:19 -07:00
itsmattkc db873dfc69 reimplemented reversing and shuttling in new audio 2021-09-26 14:22:50 -07:00
itsmattkc 6f3f7e558b use shared ptr for audio device
Prevents deletion before audio output has received stop signal
2021-09-25 13:29:30 -07:00
itsmattkc 845b4a7559 use ffmpeg for sample packing
FFmpeg has a much more optimized algorithm than we do so may as well use it.
2021-09-25 13:22:13 -07:00
itsmattkc 4c9863a696 implement audio device to pull directly from renderer 2021-09-25 12:44:58 -07:00
itsmattkc 35873dce01 started new cache 2021-09-23 17:08:12 -07:00
itsmattkc 0b205ece9c cache: improved code flow 2021-09-23 00:16:05 -07:00
itsmattkc e101f3f4fe viewer: add option to stop playback on last frame
Fixes #1685
2021-09-22 19:40:22 -07:00
itsmattkc 0669069181 viewer: nicer scrubbing 2021-09-21 20:49:39 -07:00
itsmattkc 677277c16d renderer: improved code flow 2021-09-21 19:10:03 -07:00
itsmattkc b07bccb7dc nodes: revert to single output 2021-09-07 22:01:36 -07:00
itsmattkc 438cce1ce5 widget: use rational for internal playhead value
Fixes #1688
2021-08-02 10:55:01 -07:00
itsmattkc db29dfdf1a viewer: use auto-cache as sequence parameter 2021-07-23 14:55:19 -07:00
itsmattkc 72b11add9c viewer: don't use in/out on loop unless play in/out was selected
Fixes #1302
2021-07-23 06:44:45 -07:00
itsmattkc 13a7976a1b viewer: fix incorrect seek caused by earlier audio overhaul 2021-07-15 20:36:41 -07:00
itsmattkc 310fd3541a various: greatly simplified job times
Hopefully this doesn't break everything
2021-07-11 23:33:21 -07:00
itsmattkc 08e2fa4d8e renderer: generate audio waveforms in render threads
Solves UI lag issues with long audio sequences.
2021-06-11 23:30:55 -07:00
itsmattkc ae3393f031 opengl: use shared contexts and downgrade to ES 2.0 (BIG CHANGE)
If you run into new OpenGL issues, this is likely the commit that caused it.
I've tested this on as many systems as I have access to (including AMD, Apple,
Intel, and NVIDIA GPUs with a mixture of Windows, Linux, and macOS) and it
appears to work fine, however we all know how unpredictable GPUs can be.
This should help increase GPU performance and compatibility.

Squashed commit of the following:

commit fa3c0ac7c469aebe2941a803736bdc06cdd5a2d8
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 13:17:44 2021 +1000

    viewer: updated pixel sampling for shared contexts

commit 9334261da235f09cb67b193c5bb6169abd7a95f7
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 13:12:39 2021 +1000

    pixelsampler: show color preview box

commit dacd9be6971c5c0312ae45c8db349d47910a80dd
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 12:43:32 2021 +1000

    renderer: interlace on GPU

commit 074cea06cb87e9fdc4e8ea6b09587be6df296057
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 12:43:14 2021 +1000

    renderer: added texture clear option

commit 5d4f86b4cf1b1dcd3fb8e8c854ffa7f6fb8ca346
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 12:42:12 2021 +1000

    renderer: updated scopes for shared textures

commit 6fad96358d189874cf45f7887b7e13cc2b1603c4
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 11:42:05 2021 +1000

    opengl: fixed edge case

commit 1a19ffb53703ac6f30ed210f6d8eb5fc4b7b0f2d
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 10:56:13 2021 +1000

    opengl: fix deinterlace shader

commit 085961aa39cca90ebf51b919a78ef07a4882f0e1
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 10:08:40 2021 +1000

    opengl: downgrade to ES 2.0

    With half-float/float/3D extensions, this should be doable

commit ea1ab45cbcf5e017dfd0d8f28b231ff3255dfe92
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Thu May 27 10:06:59 2021 +1000

    renderer: fixed mutex deadlock

commit ecc2f08b16f03421870c5b61625ecd26f2f96582
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 21:28:13 2021 +1000

    opengl: fixed shared contexts

commit 261c689ea8089463155cf11b9ab15aa3f879f439
Merge: bfd4338a 91c88b1c
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 19:52:00 2021 +1000

    Merge branch 'master' into shared-contexts

commit bfd4338aaa3b09b6fbb7717c637face8d5490721
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 18:52:38 2021 +1000

    viewer: remove debug line

commit 45868d8a396181bf81c24b92a1ac5ce9ffed3426
Merge: 642f8e9d d0bd5e21
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 17:21:48 2021 +1000

    Merge branch 'master' into shared-contexts

commit 642f8e9df7d7d1a9ed4202d428f4d968ff668552
Merge: 861e5b89 4de0a727
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 17:01:38 2021 +1000

    Merge branch 'master' of https://github.com/olive-editor/olive into shared-contexts

commit 861e5b89a38c281897dc44b20e3587d39c4f808c
Merge: 472598a7 ef31c3fb
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Wed May 26 14:28:21 2021 +1000

    Merge branch 'master' into shared-contexts

commit 472598a740a095aa43a4aad5680dd5abcf453a4c
Author: itsmattkc <itsmattkc@gmail.com>
Date:   Fri May 14 16:29:35 2021 +1000

    attempt at sharing contexts
2021-05-29 20:02:45 +10:00
itsmattkc 58d062ad75 viewer: run queue if windows are still active
Fixes #1628
2021-05-12 11:10:08 +10:00
itsmattkc 964129bb08 viewer: further improvements to auto-cache logic 2021-05-09 18:15:56 +10:00
itsmattkc f3c3b2eecf viewer: added default parameter
Minor code enhancement
2021-05-07 16:26:02 +10:00
itsmattkc 84847e0939 viewer: set display image to null when disconnecting viewer node 2021-05-05 19:07:34 +10:00
itsmattkc e219941147 viewer: don't use const ref after popping 2021-05-05 18:54:49 +10:00
itsmattkc ee90d89ef4 viewer: move set code lower and return 2021-05-05 12:53:42 +10:00
itsmattkc 7945a6b58a viewer: show last frame in queue even if queue cannot keep up
It's better than nothing
2021-05-05 12:49:29 +10:00
itsmattkc 367293e253 viewer: hardcode playback queue number
Doesn't make sense to base this on thread count because lower thread computers need this more than higher thread computers
2021-05-05 12:06:15 +10:00
itsmattkc 7ca236d57f viewer: don't clear fps timer until time changes 2021-05-03 14:26:44 +10:00
itsmattkc 0b259d3a63 viewer: don't clear video queue on single frame retrieval
No real need for this now that we have `prioritize` built into the function
2021-05-01 10:16:33 +10:00
itsmattkc b82e616124 previewautocache/viewer: improvements to cooperation between cache and viewer 2021-04-30 00:59:51 +10:00
itsmattkc 8a850dac9f viewer: smarter pre-queuing 2021-04-29 23:56:42 +10:00
itsmattkc 27ba4899ca viewer: various minor improvements 2021-04-29 22:30:52 +10:00
itsmattkc 2a1cbc5a25 viewer: fixed crop matrix for export dialog 2021-04-29 00:31:19 +10:00
itsmattkc bd93115e6e viewer: don't queue frames after the end of the sequence 2021-04-28 18:20:37 +10:00