Example #1
0
 private function checkChannels()
 {
     for ($tc = 0; $tc < count($this->tempChannels); $tc++) {
         $tempChannel = $this->tempChannels[$tc];
         if ($tempChannel->getTrack() > 0) {
             $channelExists = false;
             for ($c = 0; $c < count($this->channels); $c++) {
                 $channel = $this->channels[$c];
                 $channelRoute = $this->channelRouter->getRoute($channel->getChannelId());
                 if ($channelRoute !== null) {
                     if ($channelRoute->getChannel1() == $tempChannel->getChannel() || $channelRoute->getChannel2() == $tempChannel->getChannel()) {
                         $channelExists = true;
                     }
                 }
             }
             if (!$channelExists) {
                 $channel = new Channel();
                 $channel->setChannelId(count($this->channels) + 1);
                 $channel->setProgram($tempChannel->getInstrument());
                 $channel->setVolume($tempChannel->getVolume());
                 $channel->setBalance($tempChannel->getBalance());
                 $channel->setName('#' . $channel->getChannelId());
                 $channel->setBank($tempChannel->getChannel() == 9 ? Channel::DEFAULT_PERCUSSION_BANK : Channel::DEFAULT_BANK);
                 $channelRoute = new ChannelRoute($channel->getChannelId());
                 $channelRoute->setChannel1($tempChannel->getChannel());
                 $channelRoute->setChannel2($tempChannel->getChannel());
                 for ($tcAux = $tc + 1; $tcAux < count($this->tempChannels); $tcAux++) {
                     $tempChannelAux = $this->tempChannels[$tcAux];
                     if ($tempChannel->getTrack() == $tempChannelAux->getTrack()) {
                         if ($channelRoute->getChannel2() == $channelRoute->getChannel1()) {
                             $channelRoute->setChannel2($tempChannelAux->getChannel());
                         } else {
                             $tempChannelAux->setTrack(-1);
                         }
                     }
                 }
                 $this->channelRouter->configureRoutes($channelRoute, $tempChannel->getChannel() == 9);
                 $this->channels[] = $channel;
             }
         }
     }
 }
Example #2
0
 private function resolveChannel(ChannelRoute $channel, $bendMode)
 {
     return $bendMode ? $channel->getChannel2() : $channel->getChannel1();
 }