pub struct Reframe {
pub zoom: Option<Keyed<f64>>,
pub zoom_center: Option<Keyed<[f64; 2]>>,
pub punch: Vec<Punch>,
pub push: Option<(f64, f64)>,
pub push_center: Option<[f64; 2]>,
pub pan: Option<([f64; 2], [f64; 2])>,
pub crop_x: Slide,
pub crop_y: Slide,
pub fit: Fit,
pub fit_y: f64,
pub fill_blur: f64,
pub focus: Option<[f64; 2]>,
}Fields§
§zoom: Option<Keyed<f64>>Base zoom (1 = the whole output-aspect window).
zoom_center: Option<Keyed<[f64; 2]>>§punch: Vec<Punch>§push: Option<(f64, f64)>[from, to] zoom, eased over the whole shot (half linear, half cosine, as render.py).
push_center: Option<[f64; 2]>Centre of the push (default zoom_center).
pan: Option<([f64; 2], [f64; 2])>The push centre moving [from, to] with the push’s easing.
crop_x: SlideWindow position on wider sources (0 left .. 1 right).
crop_y: SlideWindow position on taller sources (0 top .. 1 bottom).
fit: Fit§fit_y: f64fit: contain: the picture’s centre as a fraction of the output height (0.42).
fill_blur: f64fit: contain: blur radius of the fill around the picture, as a fraction of the placed
picture’s height (0.04); 0 for black.
focus: Option<[f64; 2]>A split-screen panel’s [x, y] focus: the default crop_x, crop_y and zoom_center
when it renders as a panel (Self::focused).
Implementations§
Source§impl Reframe
impl Reframe
Sourcepub fn parse(params: &Map<String, Value>, profile: Option<&str>) -> Result<Self>
pub fn parse(params: &Map<String, Value>, profile: Option<&str>) -> Result<Self>
Reads the effect’s parameters (metadata.ffcine without schema) for profile:
profiles.<profile> fields replace the base ones. Unknown fields are ignored (the
Resolve importer’s timeline_size, the panels’ focus).
Sourcepub fn from_effects(
effects: &[Effect],
profile: Option<&str>,
) -> Result<Option<Self>>
pub fn from_effects( effects: &[Effect], profile: Option<&str>, ) -> Result<Option<Self>>
The first ffcine.geo.reframe/1 among a clip’s effects, for profile.
Sourcepub fn focused(self) -> Self
pub fn focused(self) -> Self
For a split-screen panel: focus stands in for crop_x, crop_y and zoom_center
where those aren’t set.
Sourcepub fn frame_in(&self, i: u64, shot: &Shot, out: &Profile, full: Rect) -> Frame
pub fn frame_in(&self, i: u64, shot: &Shot, out: &Profile, full: Rect) -> Frame
Output frame i’s geometry with the picture being full, a part of the source (an NLE
crop that fills the frame).
Sourcepub fn is_animated(&self) -> bool
pub fn is_animated(&self) -> bool
Whether the window changes over the shot.