lib/import/pftrack.rb in tracksperanto-1.9.8 vs lib/import/pftrack.rb in tracksperanto-1.9.9
- old
+ new
@@ -7,25 +7,22 @@
".2dt"
end
CHARACTERS_OR_QUOTES = /[AZaz"]/
- def parse(io)
- trackers = []
+ def stream_parse(io)
until io.eof?
line = io.gets
next if (!line || line =~ /^#/)
if line =~ CHARACTERS_OR_QUOTES # Tracker with a name
t = Tracksperanto::Tracker.new{|t| t.name = line.strip.gsub(/"/, '') }
report_progress("Reading tracker #{t.name}")
parse_tracker(t, io)
- trackers << t
+ send_tracker(t)
end
end
-
- trackers
end
private
def parse_tracker(t, io)
first_tracker_line = io.gets.chomp
@@ -33,12 +30,12 @@
if first_tracker_line =~ CHARACTERS_OR_QUOTES # PFTrack version 5 format
first_tracker_line = io.gets.chomp
end
num_of_keyframes = first_tracker_line.to_i
- t.keyframes = (1..num_of_keyframes).map do | keyframe_idx |
+ (1..num_of_keyframes).map do | keyframe_idx |
report_progress("Reading keyframe #{keyframe_idx} of #{num_of_keyframes} in #{t.name}")
f, x, y, residual = io.gets.chomp.split
- Tracksperanto::Keyframe.new(:frame => f, :abs_x => x, :abs_y => y, :residual => residual.to_f * 8)
+ t.keyframe!(:frame => f, :abs_x => x, :abs_y => y, :residual => residual.to_f * 8)
end
end
end
\ No newline at end of file