lib/import/shake_text.rb in tracksperanto-1.9.8 vs lib/import/shake_text.rb in tracksperanto-1.9.9

- old
+ new

@@ -1,30 +1,31 @@ - +# Import for Shake Text files class Tracksperanto::Import::ShakeText < Tracksperanto::Import::Base def self.human_name "Shake .txt tracker file" end - def parse(io) - trackers = [] + def stream_parse(io) io.each do | line | if line =~ /TrackName (.+)/ - trackers << Tracksperanto::Tracker.new{|t| t.name = $1 } + send_tracker(@last_tracker) if @last_tracker && @last_tracker.any? + @last_tracker = Tracksperanto::Tracker.new{|t| t.name = $1 } # Toss the next following string - header io.gets else keyframe_values = line.split next if keyframe_values.length < 4 - trackers[-1].keyframes << Tracksperanto::Keyframe.new do | kf | + @last_tracker.keyframes << Tracksperanto::Keyframe.new do | kf | kf.frame = (keyframe_values[0].to_i - 1) kf.abs_x = keyframe_values[1] kf.abs_y = keyframe_values[2] kf.residual = (1 - keyframe_values[3].to_f) end end end - trackers + send_tracker(@last_tracker) if @last_tracker && @last_tracker.any? end + end \ No newline at end of file