TimecodeFramerate constructor
TimecodeFramerate(
- double fps, {
- dynamic forceNonDropFrame = false,
Will create a TimecodeFramerate instance. fps
may be any
arbitrary floating point value, but usually will be one of the industry
standard framerates: 23.976, 23.98, 24, 25, 29.97, 30, 50, 59.94, 60, 1000.
If the framerate is either 29.97 or 59.94, the internal isDropFrame flag
will be set unless forceNonDropFrame
is specified in the constructor.
Implementation
factory TimecodeFramerate(double fps, {forceNonDropFrame = false}) {
var integerFramerate = fps.round();
var isDropFrame = false;
// compute the integer framerate and drop frame status if needed.
switch ((fps * 100).round()) {
case 2997:
isDropFrame = !forceNonDropFrame;
break;
case 5994:
isDropFrame = !forceNonDropFrame;
break;
}
return TimecodeFramerate._(
fps,
integerFramerate,
isDropFrame,
);
}