def parse_data(data)
      case data
      when Numeric
        @sec, @ms  = data.divmod(1000)
        @min, @sec = @sec.divmod(60)
        @hrs, @min = @min.divmod(60)
      when String
        time, float = data.split(/\.|\,/)
        time = time.split(/:/).map(&:to_i)
        @ms =  (('0.%d' % float.to_i).to_f * 1000).to_i if float
        @sec, @min, @hrs = time.reverse
      else fail 'Format unknown.'
      end
      # FIXME: dunno what to do about this.. nil = problems with to_i
      @hrs ||= 0; @min ||= 0; @sec ||= 0;  @ms ||= 0
    end
def parse_data(data)
      case data
      when Numeric
        @sec, @ms  = data.divmod(1000)
        @min, @sec = @sec.divmod(60)
        @hrs, @min = @min.divmod(60)
      when String
        time, float = data.split(/\.|\,/)
        time = time.split(/:/).map(&:to_i)
        @ms =  (('0.%d' % float.to_i).to_f * 1000).to_i if float
        @sec, @min, @hrs = time.reverse
      else fail 'Format unknown.'
      end
      # FIXME: dunno what to do about this.. nil = problems with to_i
      @hrs ||= 0; @min ||= 0; @sec ||= 0;  @ms ||= 0
    end
parses string like '00:00:00,000' or single number as ms.