Class: AnimateIt::Composition::SeriesBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/animate_it/composition.rb

Instance Method Summary collapse

Constructor Details

#initialize(composition) ⇒ SeriesBuilder

Returns a new instance of SeriesBuilder.



382
383
384
385
# File 'lib/animate_it/composition.rb', line 382

def initialize(composition)
  @composition = composition
  @cursor = 0
end

Instance Method Details

#audio(path, duration: nil, after: 0, start_at: nil, name: nil, track: :audio, gain: 1.0) ⇒ Object



399
400
401
402
403
404
405
406
407
# File 'lib/animate_it/composition.rb', line 399

def audio(path, duration: nil, after: 0, start_at: nil, name: nil, track: :audio, gain: 1.0)
  from_frame = if start_at
                 Units.frames(start_at, fps: @composition.fps)
               else
                 @cursor + Units.frames(after, fps: @composition.fps)
               end

  @composition.audio(path, duration:, from: from_frame, name:, track:, gain:)
end

#scene(scene_class, duration:, after: 0, start_at: nil, name: nil) ⇒ Object



387
388
389
390
391
392
393
394
395
396
397
# File 'lib/animate_it/composition.rb', line 387

def scene(scene_class, duration:, after: 0, start_at: nil, name: nil, **)
  duration_frames = Units.frames(duration, fps: @composition.fps)
  from_frame = if start_at
                 Units.frames(start_at, fps: @composition.fps)
               else
                 @cursor + Units.frames(after, fps: @composition.fps)
               end

  @composition.scene(scene_class, from: from_frame, duration: duration_frames.frames, name:, **)
  @cursor = from_frame + duration_frames
end

#transition(_name, duration:) ⇒ Object



409
410
411
# File 'lib/animate_it/composition.rb', line 409

def transition(_name, duration:)
  @cursor -= Units.frames(duration, fps: @composition.fps)
end