/** * Parses, formats and prints the next chunk * * @since 1.0 * @uses Parser::parse() * @uses printEvent() * @uses printDelta() * @uses printTrackHeader() * @uses printFileHeader() * @uses printEof() * @uses printData() * * @return bool true if there is more to parse, false if EOF has been reached */ public function printNext() { $totalTime = microtime(true); $parseTime = $totalTime; $chunk = $this->parser->parse(); $this->parseTime += microtime(true) - $parseTime; $notEof = true; if ($chunk !== null) { if ($chunk instanceof Delta) { $this->printDelta($chunk); } else { if ($chunk instanceof Event) { $this->printEvent($chunk); } else { if ($chunk instanceof TrackHeader) { $this->printTrackHeader($chunk); } else { if ($chunk instanceof FileHeader) { $this->printFileHeader($chunk); } } } } } else { $this->printEof(); $notEof = false; } $this->totalTime += microtime(true) - $totalTime; return $notEof; }