public FmodMusicParameter(FMOD.MUSIC_ENTITY cue, FmodMusicSystem musicSystem) { m_id = (int)cue.id; m_name = cue.name; m_musicSystem = musicSystem; }
private void _loadParameters() { FMOD.MUSIC_ITERATOR it = new FMOD.MUSIC_ITERATOR(); FMOD.RESULT result = FMOD.RESULT.OK; if (m_parameters != null || m_musicSystem == null) { return; } m_parameters = new List <FmodMusicParameter>(); result = m_musicSystem.getParameters(ref it, ""); if (result == FMOD.RESULT.OK) { while (it.value.ToInt32() != 0) { FMOD.MUSIC_ENTITY entity = FmodMusicEntityBuilder.getMusicEntity(it); FmodMusicParameter param = new FmodMusicParameter(entity, this); m_parameters.Add(param); } } else { Debug.LogError("FMOD_Unity: Error while loading music parameters: " + FMOD.Error.String(result)); } }
private void _loadCues() { FMOD.MUSIC_ITERATOR it = new FMOD.MUSIC_ITERATOR(); FMOD.RESULT result = FMOD.RESULT.OK; if (m_cues != null || m_musicSystem == null) { return; } m_cues = new List <FmodMusicCue>(); result = m_musicSystem.getCues(ref it, ""); //TODO: crash here. bad it init ? bad filter ? NOPE, just that a project must be loaded first. At least one. We might have to check on that. if (result == FMOD.RESULT.OK) { while (it.value.ToInt32() != 0) { FMOD.MUSIC_ENTITY entity = FmodMusicEntityBuilder.getMusicEntity(it); FmodMusicCue cue = new FmodMusicCue(entity, this); m_cues.Add(cue); } } else { Debug.LogError("FMOD_Unity: Error while loading music cues: " + FMOD.Error.String(result)); } }
public FmodMusicCue(FMOD.MUSIC_ENTITY cue, FmodMusicSystem musicSystem) { m_id = (int)cue.id; m_name = cue.name; m_musicSystem = musicSystem; loadMusicCue(); }
public static FMOD.MUSIC_ENTITY getMusicEntity(FMOD.MUSIC_ITERATOR it) { FMOD.MUSIC_ENTITY ret = new FMOD.MUSIC_ENTITY(); if (it.value.ToInt32() != 0) { Marshal.PtrToStructure(it.value, ret); } return(ret); }