class Tracksperanto::Import::NukeScript

Public Class Methods

distinct_file_ext() click to toggle source
# File lib/import/nuke_script.rb, line 10
def self.distinct_file_ext
  ".nk"
end
human_name() click to toggle source
# File lib/import/nuke_script.rb, line 6
def self.human_name
  "Nuke .nk script file with Tracker, Reconcile3D, Transform2D, PlanarTracker and CornerPin nodes"
end
known_snags() click to toggle source
# File lib/import/nuke_script.rb, line 14
def self.known_snags
  "The only supported nodes that we can extract tracks from are Transform2D, Reconcile3D, " +
  "PlanarTracker and Tracker (we support Nuke 5 up to and including 8)"
end

Public Instance Methods

each() { |t| ... } click to toggle source
# File lib/import/nuke_script.rb, line 19
def each
  parser = Tickly::NodeProcessor.new
  
  parser.add_node_handler_class(Tracker3)
  parser.add_node_handler_class(Reconcile3D)
  parser.add_node_handler_class(PlanarTracker1_0)
  parser.add_node_handler_class(PlanarTracker)
  parser.add_node_handler_class(Tracker4)
  parser.add_node_handler_class(CornerPin2D)
  parser.add_node_handler_class(Transform)
  
  parser.parse(Bychar.wrap(@io)) do | node |
    node.trackers.each do | t |
      report_progress("Scavenging tracker #{t.name}")
      yield t
    end
  end
end