private function adjustTrack(Track $track) { $measures = $track->getMeasures(); foreach ($measures as $measure) { $this->process($measure); } }
private function getMeasure(Track $track, $tick) { $realTick = $tick >= Duration::QUARTER_TIME ? $tick : Duration::QUARTER_TIME; $measures = $track->getMeasures(); foreach ($measures as $measure) { if ($realTick >= $measure->getStart() && $realTick < $measure->getStart() + $measure->getLength()) { return $measure; } } $this->getHeader($realTick); for ($i = 0; $i < count($this->headers); $i++) { $exist = false; $header = $this->headers[$i]; $measureCount = $track->countMeasures(); for ($j = 0; $j < $measureCount; $j++) { $measure = $track->getMeasure($j); if ($measure->getHeader() == $header) { $exist = true; } } if (!$exist) { $measure = new Measure($header); $track->addMeasure($measure); } } return $this->getMeasure($track, $realTick); }