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.



291
292
293
294
# File 'lib/animate_it/composition.rb', line 291

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



308
309
310
311
312
313
314
315
316
# File 'lib/animate_it/composition.rb', line 308

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



296
297
298
299
300
301
302
303
304
305
306
# File 'lib/animate_it/composition.rb', line 296

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



318
319
320
# File 'lib/animate_it/composition.rb', line 318

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