private function createTrack(MidiSequenceHelper $helper, Track $track) { $channel = $this->song->getChannelById($track->getChannelId()); if ($channel !== null) { $previous = null; $this->addBend($helper, $track->getNumber(), Duration::QUARTER_TIME, self::DEFAULT_BEND, $channel->getChannelId(), false); $this->makeChannel($helper, $channel, $track->getNumber()); $mCount = count($helper->getMeasureHelpers()); for ($mIndex = 0; $mIndex < $mCount; $mIndex++) { $measureHelper = $helper->getMeasureHelper($mIndex); $measure = $track->getMeasure($measureHelper->getIndex()); if ($track->getNumber() == 1) { $this->addTimeSignature($helper, $measure, $previous, $measureHelper->getMove()); $this->addTempo($helper, $measure, $previous, $measureHelper->getMove()); $this->addMetronome($helper, $measure->getHeader(), $measureHelper->getMove()); } $this->makeBeats($helper, $channel, $track, $measure, $mIndex, $measureHelper->getMove()); $previous = $measure; } } }