class MovieMasher::Graph

top level interface

Public Class Methods

color_value(color) click to toggle source
# File lib/graph.rb, line 31
def self.color_value(color)
  if color.is_a?(String) && color.end_with?(')')
    if color.start_with?('rgb(', 'rgba(')
      color_split = color.split('(')
      method = color_split.shift.to_sym
      params = color_split.shift[0..-2]
      color = FilterHelpers.send(method, params)
    end
  end
  color
end
new(job = nil, job_input = nil, render_range = nil) click to toggle source
# File lib/graph.rb, line 77
def initialize(job = nil, job_input = nil, render_range = nil)
  @job = job
  @job_input = job_input
  @render_range = render_range
end

Public Instance Methods

create_layer(input) click to toggle source
# File lib/graph.rb, line 42
def create_layer(input)
  raise('no job') unless @job
  __raise_unless(input[:type], "input with no type #{input}")
  case input[:type]
  when Type::VIDEO
    layer = LayerRawVideo.new(input, @job_input)
  when Type::TRANSITION
    layer = LayerTransition.new(@job, input, @job_input)
  when Type::IMAGE
    layer = LayerRawImage.new(input, @job_input)
  when Type::THEME
    layer = LayerTheme.new(input, @job_input)
  else
    raise(Error::JobInput, "input hash type invalid #{input}")
  end
  layer
end
duration() click to toggle source
# File lib/graph.rb, line 59
def duration
  @render_range.length_seconds
end
graph_command(output) click to toggle source
# File lib/graph.rb, line 62
def graph_command(output)
  FilterSourceRaw.input_index = 0
  @job_output = output
end
graph_scope() click to toggle source
# File lib/graph.rb, line 66
def graph_scope
  raise('no job') unless @job
  scope = {}
  scope[:mm_job] = @job
  scope[:mm_output] = @job_output
  scope[:mm_render_range] = @render_range
  scope[:mm_fps] = @job_output[:video_rate] || 1
  scope[:mm_dimensions] = @job_output[:dimensions]
  scope[:mm_width], scope[:mm_height] = scope[:mm_dimensions].split 'x'
  scope
end
inputs() click to toggle source
# File lib/graph.rb, line 82
def inputs
  []
end