class Bagel::Video::FFMPEG::FadeFilter

Public Class Methods

for_clip(fade) click to toggle source
# File lib/bagel/video/ffmpeg/fade_filter.rb, line 5
def self.for_clip(fade)
  new(INDEX_VIDEO, fade, LABEL_VIDEO, false).to_s
end
for_overlay(fade, input_index) click to toggle source
# File lib/bagel/video/ffmpeg/fade_filter.rb, line 9
def self.for_overlay(fade, input_index)
  new(input_index+1, fade, "#{LABEL_OVERLAY}#{input_index}", true).to_s
end
new(input_index, fade, label, alpha=false) click to toggle source
# File lib/bagel/video/ffmpeg/fade_filter.rb, line 13
def initialize(input_index, fade, label, alpha=false)
  @input_index = input_index
  @fade = fade
  @label = label
  @alpha = alpha
end

Public Instance Methods

to_s() click to toggle source
# File lib/bagel/video/ffmpeg/fade_filter.rb, line 20
def to_s
  chain = []

  if fade.in_start && fade.in_duration
    chain << "fade=t=in:st=#{fade.in_start}:d=#{fade.in_duration}:alpha=#{alpha ? '1' : '0'}"
  end

  if fade.out_start && fade.out_duration
    chain << "fade=t=out:st=#{fade.out_start}:d=#{fade.out_duration}:alpha=#{alpha ? '1' : '0'}"
  end

  "[#{input_index}]#{chain.join(',')}[#{label}]"
end