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