示例#1
0
 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;
         }
     }
 }