Commit Graph
27 Commits
Author SHA1 Message Date
itsmattkc 4de0a72786 rational: don't flip if null
Fixes issue where flipped rationals would erroneously create a NaN.

Fixes #1641
Fixes #1642
2021-05-24 16:04:46 +10:00
itsmattkc 4942970c02 export: fixed many export formats including still image and image sequence export
Still incomplete, but does a lot towards #1345
2021-05-05 19:03:03 +10:00
itsmattkc 7f93ed7fc0 rational: fixed NaN
Also added tests to ensure rational NaN behavior is tested.
2021-04-23 14:48:22 +10:00
itsmattkc 22b2d08baf rational: implement NaN mode
Also clarify code where 0 is used as a rational.
2021-04-17 15:04:03 +10:00
itsmattkc 9328539373 slider: reworked sliderbase and derivatives
Mostly cleaning up code, SliderBase was fairly messy.
2021-04-17 12:49:21 +10:00
ThomasWilshaw a937238bd0 Merge branch 'master' into otio_improvments 2020-12-04 16:08:38 +00:00
itsmattkc 75d4cd899b use hardcoded namespace
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
Thomas Wilshaw 2172cf784c Rational: conversion to opentime take framerate
Add a frame rate option to the conversion to opentime rationals as
otio generaly expects rationals to be in the form value/framerate.

Also add a check to make sure the rational is not in the form 0/0
as this can cause errors with OTIO.
2020-11-11 21:53:44 +00:00
itsmattkc bb6d5505f5 otio: began early functionality to export to OTIO 2020-09-25 16:32:18 +10:00
itsmattkc cb0d89c09e rational: print double rather than rational to debug
Doubles are mostly used here anyway.
2020-06-05 04:30:39 +10:00
itsmattkc 1301d4b9cf rational: use true min/max values for extended range
Will address issues caused by comparisons to our MIN/MAX constants when
a numerator/denominator is > INT32_MAX/MIN.
2020-06-01 17:44:42 +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 1aa87cbda6 various: encapsulate all code in the olive namespace to avoid name collisions
Large-scale code cleanup. Also adds a license to the top of all files that were
missing it.
2020-04-06 15:29:53 +10:00
itsmattkc cd06b2f4ac rational: validate values when constructed with AVRational
`rational` is supposed to "fix signs" and "reduce" whenever its values are set,
but I neglected to do this when its values were set by an AVRational. Now it
will do so on both.
2020-01-20 04:07:09 +11:00
itsmattkc 16878e3c25 implemented much of the project loading logic
Still not functional, but much of the groundwork is done.
2020-01-13 04:09:06 +11:00
itsmattkc bb57884cac added save functions to various classes
Each class is responsible for its own saving and loading from the XML data
in order to reduce the complexity of the save code.
2020-01-12 18:36:31 +11:00
itsmattkc d4ee33405b implemented speed/duration dialog and most of its functionality
An earlier commit implementing media in and out parameters was primarily for
this addition. A simple control dialog for the clip's speed presentation
reimplemented from the old codebase.
2019-12-17 03:58:12 +11:00
itsmattkc 16f80386e8 added qhash functions for timerange and rational
So these keys can be used in QHash containers, they need functions for how to
create those hashes.
2019-11-15 13:55:05 +09:00
itsmattkc 79d1f99fa8 removed active instance count from rational class 2019-10-11 10:59:19 +11:00
itsmattkc fb585413a5 fixed bug in rational that caused integer overflows 2019-10-11 09:35:28 +11:00
itsmattkc df9255ce0b timeline views can be siblings 2019-10-07 09:01:11 +11:00
itsmattkc 8df4cf2cdc audiomanager implementation 2019-09-27 03:01:09 +10:00
itsmattkc 1207e180ec fix for transport streams with no duration 2019-09-17 13:40:23 +10:00
itsmattkc f03cc8fe07 base pointer movement in timeline 2019-08-21 15:10:55 +10:00
itsmattkc cee2b617a1 imported new rational type 2019-08-06 08:25:48 +10:00
itsmattkc f8830beac7 created new sequence dialog 2019-07-21 18:21:40 -07:00
itsmattkc 837d43fe07 moved various classes from root to common folder 2019-07-15 03:58:39 -04:00