#[non_exhaustive]pub enum ModelError {
Show 67 variants
UnsupportedSchemaVersion {
found: u32,
},
EmptyIdentifier,
DuplicateSourceId(SourceId),
DuplicateEffectResourceId(EffectResourceId),
DuplicateTrackId(TrackId),
DuplicateClipId(ClipId),
EmptyLocator {
source: SourceId,
},
AudioOnImage {
source: SourceId,
},
InvalidProvider {
source: SourceId,
},
InvalidFingerprint {
source: SourceId,
},
ContradictoryColor {
source: SourceId,
},
InvalidGenerator {
source: SourceId,
},
InvalidShape {
owner: ShapeOwner,
at: String,
problem: ShapeProblem,
},
InvalidLayout {
owner: ShapeOwner,
at: String,
problem: LayoutProblem,
},
EmptyEffectResourceLocator {
resource: EffectResourceId,
},
UnknownEffectResource {
clip: ClipId,
resource: EffectResourceId,
},
EmptyClipRange {
clip: ClipId,
},
NegativeClipRange {
clip: ClipId,
},
OverlappingClips {
track: TrackId,
first: ClipId,
second: ClipId,
},
UnknownClipSource {
clip: ClipId,
source: SourceId,
},
IncompatibleClipSource {
clip: ClipId,
track: TrackId,
source: SourceId,
},
InvalidVisualProperties {
clip: ClipId,
},
InvalidAudioProperties {
clip: ClipId,
},
InvalidTrackAudio {
track: TrackId,
},
InvalidMasterAudio,
InvalidDuckingSidechain {
track: TrackId,
sidechain: TrackId,
},
UnknownComposition {
clip: ClipId,
composition: CompositionId,
},
InvalidClipComposition {
clip: ClipId,
},
DuplicateCompositionId(CompositionId),
InvalidNodeId {
composition: CompositionId,
node: NodeId,
},
DuplicateNodeId {
composition: CompositionId,
node: NodeId,
},
TooManyCompositionNodes {
composition: CompositionId,
found: usize,
maximum: usize,
},
InvalidNode {
composition: CompositionId,
node: NodeId,
},
UnknownNodeInput {
composition: CompositionId,
node: NodeId,
input: String,
target: NodeId,
},
CompositionCycle {
composition: CompositionId,
node: NodeId,
},
UnknownCompositionOutput {
composition: CompositionId,
node: NodeId,
},
InvalidNodeSource {
composition: CompositionId,
node: NodeId,
source: SourceId,
},
InvalidCompositionPorts {
composition: CompositionId,
},
UnknownGroupComposition {
composition: CompositionId,
node: NodeId,
target: CompositionId,
},
CompositionUsesItself {
composition: CompositionId,
},
CompositionNestedTooDeep {
composition: CompositionId,
maximum: usize,
},
TooManyInlinedNodes {
maximum: usize,
},
FrameDrawsTooManyNodes {
clip: ClipId,
found: u64,
maximum: usize,
},
InvalidCompositionSource {
source: SourceId,
},
UnknownNodeResource {
composition: CompositionId,
node: NodeId,
resource: EffectResourceId,
},
InvalidClipMask {
clip: ClipId,
},
InvalidCaptions {
track: TrackId,
},
InvalidTimeMap {
clip: ClipId,
},
InvalidMatte {
clip: ClipId,
},
InvalidClipTransition {
track: TrackId,
},
TransitionCycle {
track: TrackId,
at: MediaTime,
},
DuplicateTransition {
track: TrackId,
first: ClipId,
second: ClipId,
},
TooManyCompositions {
found: usize,
maximum: usize,
},
TooManySources {
found: usize,
maximum: usize,
},
TooManyTracks {
found: usize,
maximum: usize,
},
TooManyClips {
found: usize,
maximum: usize,
},
TooManyAudioEffects {
found: usize,
maximum: usize,
at_ticks: i64,
},
TooMuchAudioDelay {
found_ms: u64,
maximum_ms: u32,
at_ticks: i64,
},
TooManyClipsOnTrack {
track: TrackId,
found: usize,
maximum: usize,
},
TooManyCaptionCues {
track: TrackId,
found: usize,
maximum: usize,
},
TooManyTransitions {
track: TrackId,
found: usize,
maximum: usize,
},
ZeroCanvasDimension,
CanvasDimensionTooLarge {
width: u32,
height: u32,
maximum: u32,
},
CanvasPixelBudgetExceeded {
pixels: u64,
maximum: u64,
},
InvalidBackground,
InvalidColorPipeline,
UnsupportedSampleRate {
found: u32,
minimum: u32,
maximum: u32,
},
}Expand description
A document invariant violation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UnsupportedSchemaVersion
This build cannot interpret the document version.
EmptyIdentifier
At least one ID was empty.
DuplicateSourceId(SourceId)
Two sources share one ID.
DuplicateEffectResourceId(EffectResourceId)
Two effect resources share one ID.
DuplicateTrackId(TrackId)
Two tracks share one ID.
DuplicateClipId(ClipId)
Two clips share one ID.
EmptyLocator
A source locator was empty.
AudioOnImage
A still image source says it has audio, which no image holds.
InvalidProvider
A source’s provider does not fit it: another kind of source than the provider supplies, audio, or incoherent settings; or a generated source has one.
InvalidFingerprint
A source’s fingerprint is malformed, or a generated source has one.
ContradictoryColor
A source declares a color whose dynamic range its transfer contradicts: HDR is exactly a PQ or HLG transfer.
InvalidGenerator
A generated source has no valid generator, or has a locator, color metadata, or audio; or another source has a generator.
InvalidShape
A shapes generator’s content tree, or a mask’s outline, breaks a limit, has a value out of range, or has keyframes that cannot interpolate.
InvalidLayout
A layout generator’s tree breaks a limit or its structure rules, has a value out of range, or has keyframes that cannot interpolate.
EmptyEffectResourceLocator
An effect resource locator was empty.
Fields
resource: EffectResourceIdResource whose locator was empty.
UnknownEffectResource
A clip effect references an absent effect resource.
Fields
resource: EffectResourceIdMissing resource identity.
EmptyClipRange
A clip has an empty source or timeline range.
NegativeClipRange
A clip starts before the project or source timeline origin.
OverlappingClips
Two clips overlap without one transition covering their intersection.
Fields
UnknownClipSource
A clip refers to an absent source.
Fields
IncompatibleClipSource
A source cannot be placed on the selected track kind.
Fields
InvalidVisualProperties
A visual clip has non-finite values, invalid opacity, or unordered keyframes.
InvalidAudioProperties
A clip has an invalid gain, pan, fade, or audio effect parameter.
InvalidTrackAudio
A track bus has an invalid gain, pan, effect, or ducking parameter.
InvalidMasterAudio
The project master bus has an invalid gain, effect, or limiter parameter.
InvalidDuckingSidechain
A ducking sidechain names a missing track, itself, or forms a cycle.
Fields
UnknownComposition
A clip names an absent composition.
InvalidClipComposition
A clip’s composition has a non-positive scale, reaches a composition
time past alpha2_time::MAX_SERIALIZED_TICKS before the clip ends,
or is on an audio clip.
DuplicateCompositionId(CompositionId)
Two compositions share one ID.
InvalidNodeId
A node ID has a /, which joins the IDs of the group and media nodes
a drawn node was inlined through.
DuplicateNodeId
Two nodes of one composition share an ID.
TooManyCompositionNodes
A composition has more nodes than the renderer will schedule.
Fields
composition: CompositionIdThe composition.
InvalidNode
A node has an invalid setting: an effect identity, version, parameter, or value; a transform, progress, opacity, or mask out of range; too many merge layers or masks; or a bypass on a node without inputs.
UnknownNodeInput
A node input names a node its composition does not have.
Fields
composition: CompositionIdThe composition.
CompositionCycle
A node depends on its own output.
UnknownCompositionOutput
A composition’s output names a node it does not have.
InvalidNodeSource
A media node names an absent source or one that is not visual.
Fields
composition: CompositionIdThe composition.
InvalidCompositionPorts
A composition’s group inputs are unnamed, repeated, or too many, or a control names no effect setting of its nodes or repeats one.
Fields
composition: CompositionIdThe composition.
UnknownGroupComposition
A group node names an absent composition.
Fields
composition: CompositionIdThe composition holding the group node.
target: CompositionIdThe composition it names.
CompositionUsesItself
A composition uses itself through group nodes or composition sources.
Fields
composition: CompositionIdA composition on the loop.
CompositionNestedTooDeep
A composition draws compositions, through group nodes or
composition sources, nested more than
crate::MAX_COMPOSITION_DEPTH deep.
Fields
composition: CompositionIdThe first such composition, in document order.
TooManyInlinedNodes
The compositions draw more nodes than
crate::MAX_INLINED_NODES, each group node and composition-source
media node counted as the nodes of the composition it draws.
FrameDrawsTooManyNodes
The clips on the timeline at one instant draw more than
crate::MAX_FRAME_INLINED_NODES composition nodes together.
Fields
InvalidCompositionSource
A composition source names an absent composition, or has what only a host-supplied source has.
UnknownNodeResource
A node’s effect references an absent effect resource.
InvalidClipMask
A clip has more than crate::MAX_CLIP_MASKS masks, a mask with a
negative or non-finite value, or masks on an audio track.
InvalidCaptions
A caption track has no captions, or has clips or transitions, or its cues or style are invalid; or another track has captions.
InvalidTimeMap
A clip freezes on an instant outside its source range.
InvalidMatte
A clip’s matte names no visual clip, itself, a clip with a matte of its own, or a clip in a transition; or an audio clip has a matte.
InvalidClipTransition
A transition is not contained in two distinct visual clips on its track.
TransitionCycle
Transitions active at one instant lead from clip to clip in a circle, which leaves no clip to show.
Fields
DuplicateTransition
Two clips have more than one transition between them, in either direction: each overlap shows exactly one.
Fields
TooManyCompositions
The project contains too many compositions.
TooManySources
The source table exceeds the bounded project resource budget.
TooManyTracks
The timeline contains too many tracks.
TooManyClips
The timeline contains too many clips in total.
TooManyAudioEffects
More of the project’s audio effects hold state at once than
crate::MAX_AUDIO_EFFECTS (see crate::Project::audio_effect_load).
Fields
TooMuchAudioDelay
The project’s audio effects hold more than
crate::MAX_AUDIO_DELAY_MS of delay at once (see
crate::Project::audio_effect_load).
Fields
TooManyClipsOnTrack
One track contains too many clips.
Fields
TooManyCaptionCues
A caption track holds more than crate::MAX_CLIPS_PER_TRACK cues.
Fields
TooManyTransitions
One track contains too many transitions.
Fields
ZeroCanvasDimension
Width or height was zero.
CanvasDimensionTooLarge
A canvas edge exceeds the portable GPU-independent limit.
CanvasPixelBudgetExceeded
The canvas area exceeds the bounded pixel budget.
InvalidBackground
A background component is non-finite or outside 0..=1.
InvalidColorPipeline
The color pipeline’s HDR peak is outside
crate::HDR_PEAK_NITS_RANGE.
UnsupportedSampleRate
The project sample rate is outside the supported DSP interval.
Trait Implementations§
Source§impl Clone for ModelError
impl Clone for ModelError
Source§impl Debug for ModelError
impl Debug for ModelError
Source§impl Display for ModelError
impl Display for ModelError
impl Eq for ModelError
Source§impl Error for ModelError
impl Error for ModelError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()