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