public void DesignateActiveAudioClip(BaseAudioFileObject asset) { AudioClip theClip = null; if (!asset.IsLibraryEmpty()) { theClip = asset.GetFirstAvailableFile(); } if (theClip != null) { playingClip = theClip; } }
protected void OnEnable() { asset = target as BaseAudioFileObject; instance = this as EditorType; isPreset = string.IsNullOrEmpty(AssetDatabase.GetAssetPath(asset as UnityEngine.Object)); safeName = FindProp("safeName"); category = FindProp(nameof(asset.category)); presetDescription = FindProp("presetDescription"); file = FindProp(nameof(asset.file)); files = FindProp(nameof(asset.files)); relativeVolume = FindProp(nameof(asset.relativeVolume)); spatialize = FindProp(nameof(asset.spatialize)); maxDistance = FindProp(nameof(asset.maxDistance)); bypassEffects = FindProp(nameof(asset.bypassEffects)); bypassListenerEffects = serializedObject.FindProperty(nameof(asset.bypassListenerEffects)); bypassReverbZones = serializedObject.FindProperty(nameof(asset.bypassReverbZones)); }
public void HandleFading(BaseAudioFileObject asset) { var helperSource = AudioPlaybackToolEditor.helperSource; if (helperSource.isPlaying) { EditorApplication.QueuePlayerLoopUpdate(); switch (fadeMode) { case FadeMode.FadeIn: if (helperSource.time < fadeInTime) { if (fadeInTime == float.Epsilon) { helperSource.volume = asset.relativeVolume; } else { helperSource.volume = Mathf.Lerp(0, asset.relativeVolume, helperSource.time / fadeInTime); } } else { helperSource.volume = asset.relativeVolume; } break; case FadeMode.FadeOut: if (helperSource.time >= playingClip.length - fadeOutTime) { if (fadeOutTime == float.Epsilon) { helperSource.volume = asset.relativeVolume; } else { helperSource.volume = Mathf.Lerp(0, asset.relativeVolume, (playingClip.length - helperSource.time) / fadeOutTime); } } break; case FadeMode.FadeInAndOut: if (helperSource.time < playingClip.length - fadeOutTime) { if (fadeInTime == float.Epsilon) { helperSource.volume = asset.relativeVolume; } else { helperSource.volume = Mathf.Lerp(0, asset.relativeVolume, helperSource.time / fadeInTime); } } else { if (fadeOutTime == float.Epsilon) { helperSource.volume = asset.relativeVolume; } else { helperSource.volume = Mathf.Lerp(0, asset.relativeVolume, (playingClip.length - helperSource.time) / fadeOutTime); } } break; } } }