itsmattkc
5e66508f3c
curveview: color code keyframe tracks when more than one is present
2020-04-05 23:15:47 +10:00
itsmattkc
9133bbe632
curveview: implemented keyframe tracks
...
I'm not sure why this wasn't implemented before, but as a pretty integral part
of the keyframe system, now it is.
2020-04-05 20:19:46 +10:00
itsmattkc
6ea52e4123
audio renderer/timeline: pass through channel count of waveform visualizations
2020-04-05 19:59:14 +10:00
itsmattkc
56178648bd
timelinepoints: implemented saving/loading into project files
2020-04-05 19:21:17 +10:00
itsmattkc
e3a8d32e4a
audiorenderer: fill destination buffer with zeroes before copying samples over
...
Ensures no uninitialized values end up in the audio cache.
2020-04-05 13:29:04 +10:00
itsmattkc
5b48c1ceb0
travis: try newer xcode sdk for better mojave+ support
2020-04-05 11:41:19 +10:00
itsmattkc
92da0c220d
exporter: wait for conforms/indexes when exporting audio
...
The audio rendering system uses an event-based mechanism where if audio needs
to be converted (i.e. to a different sample rate), it will create a conform
task and re-render that section again when the audio is ready. Unfortunately,
the export code didn't respect this and would start encoding audio once the
initial queue was done. This usually resulted in silent audio, but could also
result in "uninitialized" audio that would crash any float-based encoders
(e.g. AAC). Now we use a different signal that only emits once the queue is done
AND all conforms are done.
2020-04-05 00:13:26 +11:00
itsmattkc
fb1cf1edaf
ffmpegencoder: improvements to resampling
...
Updates the AVFrame's nb_samples field to the amount of samples retrieved from
swresample so it doesn't encode more or less samples than it has.
2020-04-05 00:12:23 +11:00
itsmattkc
626c50477c
renderer: set null value on shader if no value was found in the table
2020-04-04 19:28:38 +11:00
itsmattkc
c4b11c7bd1
nodevalue: return a null qvariant instead of 0 if there is no matching value in the table
2020-04-04 19:04:44 +11:00
itsmattkc
c82ca3c716
audiorenderer: don't memcpy if the copy length is zero
2020-04-04 17:25:31 +11:00
itsmattkc
615e227f9a
renderer: convert footage frames to reference pixel format
...
Due to an oversight, incoming footage frames were NOT converted to the
working pixel format (usually half or float). For most frames, this meant the
OCIO conversion would occur on frames while they were still in their source
format (usually either RGB8 or RGB16). This leads to rounding error
inaccuracies, but even worse GLSL will clamp integer textures to 1.0 potentially
losing a lot of data.
While later nodes would correctly convert to the appropriate format, by then it
would be too late. This commit corrects this issue, converting the frames to
float during the OCIO shader pass.
2020-04-04 14:15:18 +11:00
itsmattkc
55c86f6cb6
viewer: removed framebuffer that never got used
...
This framebuffer was an early approach to the pixel sampler that never got
used, but was still getting created/destroyed unnecessarily. This has now
been removed.
2020-04-04 14:11:16 +11:00
itsmattkc
b2090c113c
videorenderingparams: added divider to constructor that doesn't have mode or timebase
2020-04-04 14:09:46 +11:00
itsmattkc
3ba31f9d5f
openglframebuffer: fixed erroneous error message
2020-04-04 14:09:24 +11:00
itsmattkc
d5581f0772
preferencesdisktab: when browsing for a disk cache path, start in the currently set dir
2020-04-04 14:09:00 +11:00
itsmattkc
dfb00d9f15
pixelformat: added convenience function for whether a format is float or not
2020-04-04 13:46:12 +11:00
itsmattkc
666bd64943
pixelformat: fixed regression that broke pixel format conversion
...
Affected all exports.
2020-04-04 12:45:14 +11:00
itsmattkc
07d1123978
renderer: disassociate requires float as well, so we may as well do the version before
2020-04-04 12:24:36 +11:00
itsmattkc
f8d9404cc9
colorspacechooser: ensure a (none) option is available
2020-04-04 12:24:03 +11:00
itsmattkc
98e5b175e9
colordialog: various improvements that should ultimately be near completion
2020-04-04 04:22:55 +11:00
itsmattkc
730b94c471
colorspacechooser: implemented setting input color space
2020-04-04 04:21:48 +11:00
itsmattkc
ae6c7174c3
core: declare Color as a Qt metatype
2020-04-04 04:21:28 +11:00
itsmattkc
a21e7b1e77
nodeinput: implemented color
...
Implements converting color to and from string, keyframing color, and
conversion between the class and its keyframe tracks.
2020-04-04 04:19:24 +11:00
itsmattkc
f1423c169c
nodeparam: move ValueToBytes color from QColor to our new Color class
2020-04-04 04:18:43 +11:00
itsmattkc
30be89ac2d
color: QDebug implementation
...
Makes debugging color values easier.
2020-04-04 04:18:06 +11:00
itsmattkc
87b8713b5e
colorbutton: implemented management for the color that this button displays
2020-04-04 04:17:34 +11:00
itsmattkc
0801488c89
nodeparamviewwidgetbridge: implemented setting and receiving color
2020-04-04 04:16:49 +11:00
itsmattkc
ce88da80ef
openglproxy: for shader inputs, use our new Color class instead of QColor
2020-04-04 04:15:57 +11:00
itsmattkc
0752b75682
mathnode: disable method keyframing and connecting
...
There's probably no situation where these would need keyframing/connecting.
2020-04-04 04:12:16 +11:00
itsmattkc
c9c9bd5174
metareader: use NodeInput's StringToValue/ValueToString when reading default values from XML
2020-04-04 04:11:20 +11:00
itsmattkc
c538f2a421
solid: fixed erroneous shader reference in XML file
2020-04-04 03:47:34 +11:00
itsmattkc
11f962d6b3
media nodes: moved video/audioinput category to media base
...
They both have the same category, so they can share the same code in their base.
2020-04-03 23:28:03 +11:00
itsmattkc
3dd91a1429
timenode: implemented timenode to allow values to be connected to time
2020-04-03 23:27:38 +11:00
itsmattkc
378c354277
nodeview: improved nodeview usage
...
Rather than the cumbersome and small "node connectors" (introduced a while ago
when nodes had more than one output), this is a more streamlined system of
connecting nodes (hold Ctrl and drag to connect)
2020-04-03 08:34:47 +11:00
itsmattkc
e1ca5f2f82
various: removed hardcoded OCIO::ROLE_SCENE_LINEAR to allow for a configurable reference space
2020-04-03 01:30:47 +11:00
itsmattkc
552163320c
colorpicker: implemented color management
...
Also moves some items to ColorManager from Project for better accessibility and
re-uses some widgets in ExportDialog for improved code.
2020-04-03 01:23:08 +11:00
itsmattkc
4d0b8f18e2
colordialog/picker/wheel: finished color picker UI
...
Dialog is still unmanaged, but that's the only remaining step.
2020-04-02 19:26:30 +11:00
itsmattkc
a2ed1035da
Merge branch 'master' into colorpicker
2020-04-02 15:30:55 +11:00
itsmattkc
bfbb2e3fef
msvc: fixed compile/syntax error that only seems to occur in msvc
2020-04-02 13:09:21 +11:00
itsmattkc
03c9c708f0
Merge branch 'master' of https://github.com/olive-editor/olive
2020-04-02 13:02:53 +11:00
itsmattkc
f3290003be
colordialog/wheel/gradient: implemented basic UI components for color picking
2020-04-02 13:02:30 +11:00
itsmattkc
5e609882d8
color: fixed oiio incompatibility
...
While developing, we used a function that only exists in OpenImageIO 2.1.x+.
Fortunately however, it seems to have simply existed with a different name in
earlier versions so we can maintain compatibility with 1.6+.
2020-04-02 12:47:05 +11:00
itsmattkc
3bec108fee
Merge branch 'master' into colorpicker
2020-04-01 19:30:24 +11:00
itsmattkc
920a0a27a7
menu: set keyboard shortcuts to application-wide so they continue to work in
...
viewerwindows
2020-04-01 19:29:41 +11:00
itsmattkc
1319d7141f
viewer: re-implemented auto viewer full screen from menubar/keyboard shortcut
2020-04-01 19:22:53 +11:00
itsmattkc
ed48d24cbc
viewerwindow: implemented displaying a viewer image fullscreen on another monitor
...
Implements an extra widget to display images on a separate monitor. Both
viewers have separate display color controls since different monitors may
conform to different standards/transforms.
2020-04-01 19:21:25 +11:00
itsmattkc
bcc8eaee55
colordialog: began widgets and dialogs for a managed color picker
2020-04-01 17:57:19 +11:00
itsmattkc
6ea6dd810e
pixelsampler: added pixel sampler panel
...
When visible, this panel will show the current reference and display transformed
color under the cursor of any viewer.
2020-04-01 16:57:10 +11:00
itsmattkc
76f260cb3a
timeline: added ability to move clips by sample in addition to by frame
2020-04-01 13:55:19 +11:00