Example #1
0
    def __setMode(self, modeName):
        if modeName not in self.__modes:
            LOG_DEBUG('Sound mode %s does not exist' % modeName)
            return False
        if self.__currentMode == modeName:
            return True
        self.__modes[self.__currentMode].unloadBanksManually()
        self.__currentMode = modeName
        modeDesc = self.__modes[modeName]
        languageSet = FMOD.setLanguage(modeDesc.fmodLanguage,
                                       self.modifiedSoundGroups)
        if not languageSet:
            LOG_DEBUG('Internal FMOD error in FMOD::setLanguage')
            return False
        if not self.__modes[self.__currentMode].loadBanksManually():
            LOG_DEBUG('Error while manual banks loading')
            return False
        loadedSoundBanks = FMOD.getSoundBanks()
        for bankName, bankPath in modeDesc.banksToBeLoaded:
            found = False
            for loadedBank in loadedSoundBanks:
                if bankName == loadedBank:
                    found = True
                    break

            if not found:
                LOG_DEBUG(
                    'Bank %s was not loaded while loading %s sound mode' %
                    (bankName, modeName))
                return False

        return True
Example #2
0
    def __setMode(self, modeName):
        if modeName not in self.__modes:
            LOG_DEBUG('Sound mode %s does not exist' % modeName)
            return False
        if self.__currentMode == modeName:
            return True
        self.__modes[self.__currentMode].unloadBanksManually()
        self.__currentMode = modeName
        modeDesc = self.__modes[modeName]
        if FMOD.enabled:
            languageSet = FMOD.setLanguage(modeDesc.voiceLanguage, self.modifiedSoundGroups)
        if not languageSet:
            LOG_DEBUG('Internal FMOD error in FMOD::setLanguage')
            return False
        if not self.__modes[self.__currentMode].loadBanksManually():
            LOG_DEBUG('Error while manual banks loading')
            return False
        if FMOD.enabled:
            loadedSoundBanks = FMOD.getSoundBanks()
            for bankName, bankPath in modeDesc.banksToBeLoaded:
                found = False
                for loadedBank in loadedSoundBanks:
                    if bankName == loadedBank:
                        found = True
                        break

                if not found:
                    LOG_DEBUG('Bank %s was not loaded while loading %s sound mode' % (bankName, modeName))
                    return False

        return True
Example #3
0
 def setMode(self, modeName):
     languageSet = False
     try:
         languageSet = self._SoundModes__setMode(modeName)
     except:
         LOG_CURRENT_EXCEPTION()
     if not languageSet:
         defaultFmodLanguage = ''
         if SoundModes.DEFAULT_MODE_NAME in self._SoundModes__modes:
             defaultFmodLanguage = self._SoundModes__modes[SoundModes.DEFAULT_MODE_NAME].fmodLanguage
         try:
             FMOD.setLanguage(defaultFmodLanguage, self.modifiedSoundGroups)
             self._SoundModes__modes[SoundModes.DEFAULT_MODE_NAME].loadBanksManually()
         except:
             LOG_CURRENT_EXCEPTION()
         self._SoundModes__currentMode = SoundModes.DEFAULT_MODE_NAME
     return languageSet
Example #4
0
    def setMode(self, modeName):
        languageSet = False
        try:
            languageSet = self.__setMode(modeName)
        except:
            LOG_CURRENT_EXCEPTION()

        if not languageSet:
            defaultFmodLanguage = ''
            if SoundModes.DEFAULT_MODE_NAME in self.__modes:
                defaultFmodLanguage = self.__modes[
                    SoundModes.DEFAULT_MODE_NAME].fmodLanguage
            try:
                FMOD.setLanguage(defaultFmodLanguage, self.modifiedSoundGroups)
                self.__modes[SoundModes.DEFAULT_MODE_NAME].loadBanksManually()
            except:
                LOG_CURRENT_EXCEPTION()

            self.__currentMode = SoundModes.DEFAULT_MODE_NAME
        return languageSet