itsmattkc
1101b58ee8
allow setting of pixel format/ocio method/sample format in preferences
...
Implementation isn't perfect yet, viewer/renderer doesn't update yet when
the preference is changed so a sequence needs to be re-opened for the change to
take effect.
2020-01-18 03:37:36 +11:00
itsmattkc
e6b45c75c3
fixed bug where scrubbed frames would be cached but not committed to the hashmap
2020-01-17 18:13:49 +11:00
itsmattkc
c6710b1359
correctly update the panel subtitles based on the media connected
2020-01-16 14:57:16 +11:00
itsmattkc
d32306f88b
only disk cache around the playhead
2020-01-10 20:35:48 +11:00
itsmattkc
a616aaa182
correctly affect speed/reversing when shuttling audio
2020-01-07 16:41:30 +11:00
itsmattkc
402f031be2
fix connections for new tracktype namespace
2020-01-06 15:43:21 +11:00
itsmattkc
3a8a509f1a
clear frame caches and renderers if the viewer node is ever changed
...
Clears the state if a viewer node is disconnected.
2020-01-03 21:17:20 +11:00
itsmattkc
db146b376a
implemented core UI caching feedback functionality
...
Not a perfect implementation yet, but this shows UI feedback on what frames are
cached and which ones aren't.
2020-01-03 05:38:20 +11:00
itsmattkc
0db13a96ab
implemented a footage viewer
...
Essentially a minor derivation of a viewer type that can automatically view
footage from the project (i.e. not in a sequence).
2019-12-30 20:17:48 +11:00
itsmattkc
a4b3dc2ab4
fixed bug that caused flickering textures
...
The ViewerGLWidget would receive raw GLuint textures while most of Olive uses
an OpenGLTexture C++ wrapper. Unfortunately this would lead to the C++ wrapper
getting destroyed since its instance wasn't kept in the ViewerGLWidget. This
meant by the time the ViewerGLWidget would re-draw, the texture would have
already been destroyed leading to some black frames. This is now fixed.
2019-12-27 05:11:42 +11:00
itsmattkc
61c60e00d6
various small code cleanups and improvements
...
Largely refactoring work to make the code somewhat nicer to work with.
2019-12-26 19:00:08 +11:00
itsmattkc
520b8b46fa
place timecode conversion functions into a Timecode class rather than an olive namespace
...
Code cleanup and improvement.
2019-12-26 17:20:58 +11:00
itsmattkc
38d35d1b88
updated viewer to set render backend format/mode
...
Yes, it's still hardcoded in the viewer for the time being, but moving it out
of the backend makes the backend format flexible for exporting.
2019-12-20 04:38:19 +11:00
itsmattkc
0ef00245ad
added functions to override the resolution and matrix transform of the viewer widget
...
While in most circumstances these shouldn't be used, they're useful for
showing things like export previews
2019-12-19 15:55:08 +11:00
itsmattkc
a0b6bb842d
ColorManager is now specific to the Project
...
OCIO config was set on a per-project basis, but we were using a singleton for
the ColorManager that would break if more than one project was ever open.
Now the ColorManager belongs to the Project and is always accessed through the
Project.
2019-12-17 15:18:07 +11:00
itsmattkc
23159025a4
ensure playback controls always shows a time when a timebase is set
...
Previously the playback controls would only appear after the first time they
updated. Now they're shown as soon as the viewer is set to a node.
2019-12-16 18:03:18 +11:00
itsmattkc
baab21a3ab
added option to disable color management menu on viewer
...
While the Viewer is _always_ color managed, In some contexts, the color
management may be controlled from an external UI making the menu unnecessary.
2019-12-16 16:43:27 +11:00
itsmattkc
b96fd7ae45
allowed access to the viewer node from the viewer widgets
2019-12-16 03:02:28 +11:00
itsmattkc
7385e3dc56
fixes jitters by using signals/slots to pass image buffers around
...
Updating values rapidly would cause strange jitters as a
byproduct of the viewer trying to update from the renderer while
it was still working. Rather than the viewer trying to access the
the renderer, we now send textures in the initial update signal
to keep everything synchronized.
2019-11-18 02:14:54 +09:00
itsmattkc
823e820bfa
update length value from signals/slots
...
I was looking for a way to update the length value automatically with signals
and slots (rather than just checking every time the viewer time changes). This
should do the trick.
2019-11-17 13:46:14 +09:00
itsmattkc
cd69bd76b9
use sequence parameters as audio output parameters
2019-11-15 20:11:17 +09:00
itsmattkc
0a68b2a1c3
make viewer work with new audio renderer setup
...
Previously, the viewer could be set up with a custom PCM file to test playback
and scrubbing. Now these functions are connected to the audio renderer to
work within the render system.
2019-11-15 13:56:14 +09:00
itsmattkc
7a6dd02e5b
furthered development of audio renderers
...
Mostly reimplementing functions from other workers to produce audio samples
2019-11-11 11:35:01 +09:00
itsmattkc
c14125e640
work towards rewriting the render infrastructure
...
Mostly foundational work and re-implementing older code in a smarter way
(i.e. context creation code should be slightly faster than it was before)
2019-11-01 22:58:02 +11:00
itsmattkc
429514b1fd
separation of previous renderer into base and derivation complete
...
The previous iteration was fairly OpenGL-heavy. It's now been separated into
a base class that is OpenGL independent and a derived class that is
OpenGL-based. Over time this should allow for portability away from OpenGL
if necessary.
2019-11-01 12:58:38 +11:00
itsmattkc
b56fbaae51
began port of previous renderer iteration to new iteration
...
This will essentially be a full rewrite, but very incrementally to save time
and energy.
2019-10-31 21:59:20 +11:00
itsmattkc
e03e0007e4
adjusted viewer widget
2019-10-31 20:11:08 +11:00
itsmattkc
55f7d6aa8a
restored previous renderer iteration for porting
2019-10-31 20:06:11 +11:00
itsmattkc
77bcb70dac
started porting renderer to new portable form
2019-10-31 19:14:58 +11:00
itsmattkc
2fdf78df4a
implemented preliminary pre-cacher for audio
...
FFmpegDecoder now implements an "indexer" for audio, which actually just
extracts the raw PCM audio from an audio codec and saves it to disk
2019-10-24 16:36:26 +11:00
itsmattkc
7dec79ceaa
various changes to rendering flow and structure
2019-10-23 00:42:52 +11:00
itsmattkc
9e7e2cc1a8
completed separation of video renderer
2019-10-20 00:02:14 +11:00
itsmattkc
259b5d530a
improved audio pausing feedback
2019-10-17 09:43:38 +11:00
itsmattkc
39af57445c
removed hardcoded audio test file (replaced with env)
2019-10-16 22:42:04 +11:00
itsmattkc
fe2b0f2dc2
implemented base audio playback and scrubbing
2019-10-14 11:38:29 +11:00
itsmattkc
b942300aea
setup test parameters
2019-10-14 08:42:03 +11:00
itsmattkc
4c90405feb
connect timeline and viewer together by default
2019-09-27 23:55:24 +10:00
itsmattkc
150afb6ebc
fixed hardcoded viewer size
2019-09-27 03:51:08 +10:00
itsmattkc
e0a483065a
minor improvements
2019-09-27 03:07:59 +10:00
itsmattkc
8df4cf2cdc
audiomanager implementation
2019-09-27 03:01:09 +10:00
itsmattkc
c19718a4a5
reimplemented goto prev/next cut, about dialog, and action search dialog
2019-09-25 02:33:33 +10:00
itsmattkc
9fa22938b9
work towards making timeline actions all undoable
2019-09-23 23:00:15 +10:00
itsmattkc
389e723416
conformed viewer node/panel affinity
2019-09-20 05:12:34 +10:00
itsmattkc
ba7a10177f
fixed various caching issues when rapidly changing values
2019-09-09 04:07:51 +10:00
itsmattkc
a5fb8693d0
implemented playback controls
2019-09-06 13:06:23 +10:00
itsmattkc
9fe8c102b7
wrote functional playback controls
2019-09-05 10:29:21 +10:00
itsmattkc
f6db7b6893
implemented alpha dis/re/assoc functions for offline pathway
2019-08-30 19:38:09 +10:00
itsmattkc
7c7558d8e9
wrote viewer resizing container
2019-08-30 00:55:28 +10:00
itsmattkc
438e7081f9
foundations for background caching
2019-08-24 22:16:01 +10:00
itsmattkc
fb7c7f1bdb
reimplemented zooming controls
2019-08-15 11:39:07 +10:00