GetValueForVolume() 개인적인 메소드

private GetValueForVolume ( UnityEditor.Audio.AudioMixerController controller, AudioMixerSnapshotController snapshot ) : float
controller UnityEditor.Audio.AudioMixerController
snapshot AudioMixerSnapshotController
리턴 float
예제 #1
0
 public void CopyAttenuationToAllSnapshots(AudioMixerGroupController group, AudioMixerSnapshotController snapshot)
 {
     AudioMixerSnapshotController[] snaps = snapshots;
     for (int n = 0; n < snaps.Length; n++)
     {
         if (snaps[n] == snapshot)
         {
             continue;
         }
         var dst = snaps[n];
         group.SetValueForVolume(this, dst, group.GetValueForVolume(this, snapshot));
     }
 }
예제 #2
0
        public void CopyAllSettingsToAllSnapshots(AudioMixerGroupController group, AudioMixerSnapshotController snapshot)
        {
            for (int n = 0; n < group.effects.Length; n++)
            {
                CopyEffectSettingsToAllSnapshots(group, n, snapshot, true);
            }

            AudioMixerSnapshotController[] snaps = snapshots;
            for (int n = 0; n < snaps.Length; n++)
            {
                if (snaps[n] == snapshot)
                {
                    continue;
                }
                var dst = snaps[n];
                group.SetValueForVolume(this, dst, group.GetValueForVolume(this, snapshot));
                group.SetValueForPitch(this, dst, group.GetValueForPitch(this, snapshot));
            }
        }
 public void DoEffectGUI(int effectIndex, AudioMixerGroupController group, List<AudioMixerGroupController> allGroups, Dictionary<AudioMixerEffectController, AudioMixerGroupController> effectMap, ref int highlightEffectIndex)
 {
   Event current = Event.current;
   AudioMixerController controller = group.controller;
   AudioMixerEffectController effect1 = group.effects[effectIndex];
   MixerParameterDefinition[] effectParameters = MixerEffectDefinitions.GetEffectParameters(effect1.effectName);
   Rect effectRect = EditorGUILayout.BeginVertical();
   bool flag1 = effectRect.Contains(current.mousePosition);
   EventType typeForControl = current.GetTypeForControl(this.m_EffectDragging.dragControlID);
   if (typeForControl == EventType.MouseMove && flag1 && highlightEffectIndex != effectIndex)
   {
     highlightEffectIndex = effectIndex;
     AudioMixerUtility.RepaintAudioMixerAndInspectors();
   }
   Rect rect1 = GUILayoutUtility.GetRect(1f, 17f);
   Rect rect2 = new Rect(rect1.x + 6f, rect1.y + 5f, 6f, 6f);
   Rect position = new Rect((float) ((double) rect1.x + 8.0 + 6.0), rect1.y, (float) ((double) rect1.width - 8.0 - 6.0 - 14.0 - 5.0), rect1.height);
   Rect rect3 = new Rect(position.xMax, rect1.y, 14f, 14f);
   Rect rect4 = new Rect(rect1.x, rect1.y, (float) ((double) rect1.width - 14.0 - 5.0), rect1.height);
   bool flag2 = EditorPrefs.GetBool(AudioMixerGroupEditor.kPrefKeyForShowCpuUsage, false) && EditorUtility.audioProfilingEnabled;
   float num1 = !EditorGUIUtility.isProSkin ? 1f : 0.1f;
   Color color1 = new Color(num1, num1, num1, 0.2f);
   Color color2 = GUI.color;
   GUI.color = color1;
   GUI.DrawTexture(rect1, (Texture) EditorGUIUtility.whiteTexture);
   GUI.color = color2;
   Color effectColor = AudioMixerDrawUtils.GetEffectColor(effect1);
   EditorGUI.DrawRect(rect2, effectColor);
   GUI.Label(position, !flag2 ? effect1.effectName : effect1.effectName + string.Format(AudioMixerEffectView.Texts.cpuFormatString, (object) effect1.GetCPUUsage(controller)), EditorStyles.boldLabel);
   if (EditorGUI.ButtonMouseDown(rect3, EditorGUI.GUIContents.titleSettingsIcon, FocusType.Passive, EditorStyles.inspectorTitlebarText))
     AudioMixerEffectView.ShowEffectContextMenu(group, effect1, effectIndex, controller, rect3);
   if (current.type == EventType.ContextClick && rect1.Contains(current.mousePosition))
   {
     AudioMixerEffectView.ShowEffectContextMenu(group, effect1, effectIndex, controller, new Rect(current.mousePosition.x, rect1.y, 1f, rect1.height));
     current.Use();
   }
   if (typeForControl == EventType.Repaint)
     EditorGUIUtility.AddCursorRect(rect4, MouseCursor.ResizeVertical, this.m_EffectDragging.dragControlID);
   EditorGUI.BeginDisabledGroup(effect1.bypass || group.bypassEffects);
   EditorGUILayout.BeginVertical(EditorStyles.inspectorDefaultMargins, new GUILayoutOption[0]);
   if (effect1.IsAttenuation())
   {
     EditorGUILayout.BeginVertical();
     float valueForVolume = group.GetValueForVolume(controller, controller.TargetSnapshot);
     if (AudioMixerEffectGUI.Slider(AudioMixerEffectView.Texts.volume, ref valueForVolume, 1f, 1f, AudioMixerEffectView.Texts.dB, AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume(), controller, (AudioParameterPath) new AudioGroupParameterPath(group, group.GetGUIDForVolume())))
     {
       Undo.RecordObject((UnityEngine.Object) controller.TargetSnapshot, "Change Volume Fader");
       group.SetValueForVolume(controller, controller.TargetSnapshot, valueForVolume);
       AudioMixerUtility.RepaintAudioMixerAndInspectors();
     }
     float[] vuLevel = new float[9];
     float[] vuPeak = new float[9];
     int num2 = group.controller.GetGroupVUInfo(group.groupID, true, ref vuLevel, ref vuPeak);
     if (current.type == EventType.Layout)
     {
       this.m_LastNumChannels = num2;
     }
     else
     {
       if (num2 != this.m_LastNumChannels)
         HandleUtility.Repaint();
       num2 = this.m_LastNumChannels;
     }
     GUILayout.Space(4f);
     for (int index = 0; index < num2; ++index)
     {
       float num3 = 1f - AudioMixerController.VolumeToScreenMapping(Mathf.Clamp(vuLevel[index], AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume()), 1f, true);
       float peak = 1f - AudioMixerController.VolumeToScreenMapping(Mathf.Clamp(vuPeak[index], AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume()), 1f, true);
       EditorGUILayout.VUMeterHorizontal(num3, peak, new GUILayoutOption[1]
       {
         GUILayout.Height(10f)
       });
       if (!EditorApplication.isPlaying && (double) peak > 0.0)
         AudioMixerUtility.RepaintAudioMixerAndInspectors();
     }
     GUILayout.Space(4f);
     EditorGUILayout.EndVertical();
   }
   if (effect1.IsSend())
   {
     GUIContent buttonContent = !((UnityEngine.Object) effect1.sendTarget == (UnityEngine.Object) null) ? GUIContent.Temp(effect1.GetSendTargetDisplayString(effectMap)) : AudioMixerEffectView.Texts.none;
     Rect buttonRect;
     if (AudioMixerEffectGUI.PopupButton(AudioMixerEffectView.Texts.bus, buttonContent, EditorStyles.popup, out buttonRect))
       AudioMixerEffectView.ShowBusPopupMenu(effectIndex, group, allGroups, effectMap, effect1, buttonRect);
     if ((UnityEngine.Object) effect1.sendTarget != (UnityEngine.Object) null)
     {
       float valueForMixLevel = effect1.GetValueForMixLevel(controller, controller.TargetSnapshot);
       if (AudioMixerEffectGUI.Slider(AudioMixerEffectView.Texts.sendLevel, ref valueForMixLevel, 1f, 1f, AudioMixerEffectView.Texts.dB, AudioMixerController.kMinVolume, AudioMixerController.kMaxEffect, controller, (AudioParameterPath) new AudioEffectParameterPath(group, effect1, effect1.GetGUIDForMixLevel())))
       {
         Undo.RecordObject((UnityEngine.Object) controller.TargetSnapshot, "Change Send Level");
         effect1.SetValueForMixLevel(controller, controller.TargetSnapshot, valueForMixLevel);
         AudioMixerUtility.RepaintAudioMixerAndInspectors();
       }
     }
   }
   if (MixerEffectDefinitions.EffectCanBeSidechainTarget(effect1))
   {
     bool flag3 = false;
     using (List<AudioMixerGroupController>.Enumerator enumerator = allGroups.GetEnumerator())
     {
       while (enumerator.MoveNext())
       {
         foreach (AudioMixerEffectController effect2 in enumerator.Current.effects)
         {
           if (effect2.IsSend() && (UnityEngine.Object) effect2.sendTarget == (UnityEngine.Object) effect1)
           {
             flag3 = true;
             break;
           }
           if (flag3)
             break;
         }
         if (flag3)
           break;
       }
     }
     if (!flag3)
       GUILayout.Label(new GUIContent("No Send sources connected.", (Texture) EditorGUIUtility.warningIcon));
   }
   if (effect1.enableWetMix && !effect1.IsReceive() && (!effect1.IsDuckVolume() && !effect1.IsAttenuation()) && !effect1.IsSend())
   {
     float valueForMixLevel = effect1.GetValueForMixLevel(controller, controller.TargetSnapshot);
     if (AudioMixerEffectGUI.Slider(AudioMixerEffectView.Texts.wet, ref valueForMixLevel, 1f, 1f, AudioMixerEffectView.Texts.dB, AudioMixerController.kMinVolume, AudioMixerController.kMaxEffect, controller, (AudioParameterPath) new AudioEffectParameterPath(group, effect1, effect1.GetGUIDForMixLevel())))
     {
       Undo.RecordObject((UnityEngine.Object) controller.TargetSnapshot, "Change Mix Level");
       effect1.SetValueForMixLevel(controller, controller.TargetSnapshot, valueForMixLevel);
       AudioMixerUtility.RepaintAudioMixerAndInspectors();
     }
   }
   bool flag4 = true;
   if (this.m_CustomEffectGUIs.ContainsKey(effect1.effectName))
   {
     IAudioEffectPluginGUI customEffectGuI = this.m_CustomEffectGUIs[effect1.effectName];
     this.m_SharedPlugin.m_Controller = controller;
     this.m_SharedPlugin.m_Effect = effect1;
     this.m_SharedPlugin.m_ParamDefs = effectParameters;
     flag4 = customEffectGuI.OnGUI((IAudioEffectPlugin) this.m_SharedPlugin);
   }
   if (flag4)
   {
     foreach (MixerParameterDefinition parameterDefinition in effectParameters)
     {
       float valueForParameter = effect1.GetValueForParameter(controller, controller.TargetSnapshot, parameterDefinition.name);
       if (AudioMixerEffectGUI.Slider(GUIContent.Temp(parameterDefinition.name, parameterDefinition.description), ref valueForParameter, parameterDefinition.displayScale, parameterDefinition.displayExponent, parameterDefinition.units, parameterDefinition.minRange, parameterDefinition.maxRange, controller, (AudioParameterPath) new AudioEffectParameterPath(group, effect1, effect1.GetGUIDForParameter(parameterDefinition.name))))
       {
         Undo.RecordObject((UnityEngine.Object) controller.TargetSnapshot, "Change " + parameterDefinition.name);
         effect1.SetValueForParameter(controller, controller.TargetSnapshot, parameterDefinition.name, valueForParameter);
       }
     }
     if (effectParameters.Length > 0)
       GUILayout.Space(6f);
   }
   EditorGUI.EndDisabledGroup();
   this.m_EffectDragging.HandleDragElement(effectIndex, effectRect, rect4, group, allGroups);
   EditorGUILayout.EndVertical();
   EditorGUILayout.EndVertical();
   AudioMixerDrawUtils.DrawSplitter();
 }
 public void CopyAllSettingsToAllSnapshots(AudioMixerGroupController group, AudioMixerSnapshotController snapshot)
 {
   for (int effectIndex = 0; effectIndex < group.effects.Length; ++effectIndex)
     this.CopyEffectSettingsToAllSnapshots(group, effectIndex, snapshot, true);
   AudioMixerSnapshotController[] snapshots = this.snapshots;
   for (int index = 0; index < snapshots.Length; ++index)
   {
     if (!((UnityEngine.Object) snapshots[index] == (UnityEngine.Object) snapshot))
     {
       AudioMixerSnapshotController snapshot1 = snapshots[index];
       group.SetValueForVolume(this, snapshot1, group.GetValueForVolume(this, snapshot));
       group.SetValueForPitch(this, snapshot1, group.GetValueForPitch(this, snapshot));
     }
   }
 }
 public void CopyAttenuationToAllSnapshots(AudioMixerGroupController group, AudioMixerSnapshotController snapshot)
 {
   AudioMixerSnapshotController[] snapshots = this.snapshots;
   for (int index = 0; index < snapshots.Length; ++index)
   {
     if (!((UnityEngine.Object) snapshots[index] == (UnityEngine.Object) snapshot))
     {
       AudioMixerSnapshotController snapshot1 = snapshots[index];
       group.SetValueForVolume(this, snapshot1, group.GetValueForVolume(this, snapshot));
     }
   }
 }
		private void DoAttenuationFader(Rect r, AudioMixerGroupController group, List<AudioMixerGroupController> selection, GUIStyle style)
		{
			float num = Mathf.Clamp(group.GetValueForVolume(this.m_Controller, this.m_Controller.TargetSnapshot), AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume());
			float num2 = this.VerticalFader(r, num, 1, AudioMixerChannelStripView.kVolumeScaleMouseDrag, true, true, this.styles.attenuationFader.tooltip, AudioMixerController.GetMaxVolume(), style);
			if (num != num2)
			{
				float num3 = num2 - num;
				Undo.RecordObject(this.m_Controller.TargetSnapshot, "Change volume fader");
				foreach (AudioMixerGroupController current in selection)
				{
					float num4 = Mathf.Clamp(current.GetValueForVolume(this.m_Controller, this.m_Controller.TargetSnapshot), AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume());
					current.SetValueForVolume(this.m_Controller, this.m_Controller.TargetSnapshot, Mathf.Clamp(num4 + num3, AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume()));
				}
				InspectorWindow.RepaintAllInspectors();
			}
		}
		public void DoEffectGUI(int effectIndex, AudioMixerGroupController group, List<AudioMixerGroupController> allGroups, Dictionary<AudioMixerEffectController, AudioMixerGroupController> effectMap, ref int highlightEffectIndex)
		{
			Event current = Event.current;
			AudioMixerController controller = group.controller;
			AudioMixerEffectController audioMixerEffectController = group.effects[effectIndex];
			MixerParameterDefinition[] effectParameters = MixerEffectDefinitions.GetEffectParameters(audioMixerEffectController.effectName);
			Rect effectRect = EditorGUILayout.BeginVertical(new GUILayoutOption[0]);
			bool flag = effectRect.Contains(current.mousePosition);
			EventType typeForControl = current.GetTypeForControl(this.m_EffectDragging.dragControlID);
			if (typeForControl == EventType.MouseMove && flag && highlightEffectIndex != effectIndex)
			{
				highlightEffectIndex = effectIndex;
				AudioMixerUtility.RepaintAudioMixerAndInspectors();
			}
			Rect rect = GUILayoutUtility.GetRect(1f, 17f);
			Rect rect2 = new Rect(rect.x + 6f, rect.y + 5f, 6f, 6f);
			Rect position = new Rect(rect.x + 8f + 6f, rect.y, rect.width - 8f - 6f - 14f - 5f, rect.height);
			Rect rect3 = new Rect(position.xMax, rect.y, 14f, 14f);
			Rect rect4 = new Rect(rect.x, rect.y, rect.width - 14f - 5f, rect.height);
			bool flag2 = EditorPrefs.GetBool(AudioMixerGroupEditor.kPrefKeyForShowCpuUsage, false) && EditorUtility.audioProfilingEnabled;
			float num = (!EditorGUIUtility.isProSkin) ? 1f : 0.1f;
			Color color = new Color(num, num, num, 0.2f);
			Color color2 = GUI.color;
			GUI.color = color;
			GUI.DrawTexture(rect, EditorGUIUtility.whiteTexture);
			GUI.color = color2;
			Color effectColor = AudioMixerDrawUtils.GetEffectColor(audioMixerEffectController);
			EditorGUI.DrawRect(rect2, effectColor);
			GUI.Label(position, (!flag2) ? audioMixerEffectController.effectName : (audioMixerEffectController.effectName + string.Format(AudioMixerEffectView.Texts.cpuFormatString, audioMixerEffectController.GetCPUUsage(controller))), EditorStyles.boldLabel);
			if (EditorGUI.ButtonMouseDown(rect3, EditorGUI.GUIContents.titleSettingsIcon, FocusType.Passive, EditorStyles.inspectorTitlebarText))
			{
				AudioMixerEffectView.ShowEffectContextMenu(group, audioMixerEffectController, effectIndex, controller, rect3);
			}
			if (current.type == EventType.ContextClick && rect.Contains(current.mousePosition))
			{
				AudioMixerEffectView.ShowEffectContextMenu(group, audioMixerEffectController, effectIndex, controller, new Rect(current.mousePosition.x, rect.y, 1f, rect.height));
				current.Use();
			}
			if (typeForControl == EventType.Repaint)
			{
				EditorGUIUtility.AddCursorRect(rect4, MouseCursor.ResizeVertical, this.m_EffectDragging.dragControlID);
			}
			EditorGUI.BeginDisabledGroup(audioMixerEffectController.bypass || group.bypassEffects);
			EditorGUILayout.BeginVertical(EditorStyles.inspectorDefaultMargins, new GUILayoutOption[0]);
			if (audioMixerEffectController.IsAttenuation())
			{
				EditorGUILayout.BeginVertical(new GUILayoutOption[0]);
				float valueForVolume = group.GetValueForVolume(controller, controller.TargetSnapshot);
				if (AudioMixerEffectGUI.Slider(AudioMixerEffectView.Texts.volume, ref valueForVolume, 1f, 1f, AudioMixerEffectView.Texts.dB, AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume(), controller, new AudioGroupParameterPath(group, group.GetGUIDForVolume()), new GUILayoutOption[0]))
				{
					group.SetValueForVolume(controller, controller.TargetSnapshot, valueForVolume);
					AudioMixerUtility.RepaintAudioMixerAndInspectors();
				}
				float[] array = new float[9];
				float[] array2 = new float[9];
				int num2 = group.controller.GetGroupVUInfo(group.groupID, true, ref array, ref array2);
				if (current.type == EventType.Layout)
				{
					this.m_LastNumChannels = num2;
				}
				else
				{
					if (num2 != this.m_LastNumChannels)
					{
						HandleUtility.Repaint();
					}
					num2 = this.m_LastNumChannels;
				}
				GUILayout.Space(4f);
				for (int i = 0; i < num2; i++)
				{
					float value = 1f - AudioMixerController.VolumeToScreenMapping(Mathf.Clamp(array[i], AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume()), 1f, true);
					float num3 = 1f - AudioMixerController.VolumeToScreenMapping(Mathf.Clamp(array2[i], AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume()), 1f, true);
					EditorGUILayout.VUMeterHorizontal(value, num3, new GUILayoutOption[]
					{
						GUILayout.Height(10f)
					});
					if (!EditorApplication.isPlaying && num3 > 0f)
					{
						AudioMixerUtility.RepaintAudioMixerAndInspectors();
					}
				}
				GUILayout.Space(4f);
				EditorGUILayout.EndVertical();
			}
			if (audioMixerEffectController.IsSend())
			{
				GUIContent buttonContent = (!(audioMixerEffectController.sendTarget == null)) ? GUIContent.Temp(audioMixerEffectController.GetSendTargetDisplayString(effectMap)) : AudioMixerEffectView.Texts.none;
				Rect buttonRect;
				if (AudioMixerEffectGUI.PopupButton(AudioMixerEffectView.Texts.bus, buttonContent, EditorStyles.popup, out buttonRect, new GUILayoutOption[0]))
				{
					AudioMixerEffectView.ShowBusPopupMenu(effectIndex, group, allGroups, effectMap, audioMixerEffectController, buttonRect);
				}
				if (audioMixerEffectController.sendTarget != null)
				{
					float valueForMixLevel = audioMixerEffectController.GetValueForMixLevel(controller, controller.TargetSnapshot);
					if (AudioMixerEffectGUI.Slider(AudioMixerEffectView.Texts.sendLevel, ref valueForMixLevel, 1f, 1f, AudioMixerEffectView.Texts.dB, AudioMixerController.kMinVolume, AudioMixerController.kMaxEffect, controller, new AudioEffectParameterPath(group, audioMixerEffectController, audioMixerEffectController.GetGUIDForMixLevel()), new GUILayoutOption[0]))
					{
						audioMixerEffectController.SetValueForMixLevel(controller, controller.TargetSnapshot, valueForMixLevel);
						AudioMixerUtility.RepaintAudioMixerAndInspectors();
					}
				}
			}
			if (MixerEffectDefinitions.EffectCanBeSidechainTarget(audioMixerEffectController))
			{
				bool flag3 = false;
				foreach (AudioMixerGroupController current2 in allGroups)
				{
					AudioMixerEffectController[] effects = current2.effects;
					for (int j = 0; j < effects.Length; j++)
					{
						AudioMixerEffectController audioMixerEffectController2 = effects[j];
						if (audioMixerEffectController2.IsSend() && audioMixerEffectController2.sendTarget == audioMixerEffectController)
						{
							flag3 = true;
							break;
						}
						if (flag3)
						{
							break;
						}
					}
					if (flag3)
					{
						break;
					}
				}
				if (!flag3)
				{
					GUILayout.Label(new GUIContent("No Send sources connected.", EditorGUIUtility.warningIcon), new GUILayoutOption[0]);
				}
			}
			if (audioMixerEffectController.enableWetMix && !audioMixerEffectController.IsReceive() && !audioMixerEffectController.IsDuckVolume() && !audioMixerEffectController.IsAttenuation() && !audioMixerEffectController.IsSend())
			{
				float valueForMixLevel2 = audioMixerEffectController.GetValueForMixLevel(controller, controller.TargetSnapshot);
				if (AudioMixerEffectGUI.Slider(AudioMixerEffectView.Texts.wet, ref valueForMixLevel2, 1f, 1f, AudioMixerEffectView.Texts.dB, AudioMixerController.kMinVolume, AudioMixerController.kMaxEffect, controller, new AudioEffectParameterPath(group, audioMixerEffectController, audioMixerEffectController.GetGUIDForMixLevel()), new GUILayoutOption[0]))
				{
					audioMixerEffectController.SetValueForMixLevel(controller, controller.TargetSnapshot, valueForMixLevel2);
					AudioMixerUtility.RepaintAudioMixerAndInspectors();
				}
			}
			bool flag4 = true;
			if (this.m_CustomEffectGUIs.ContainsKey(audioMixerEffectController.effectName))
			{
				IAudioEffectPluginGUI audioEffectPluginGUI = this.m_CustomEffectGUIs[audioMixerEffectController.effectName];
				this.m_SharedPlugin.m_Controller = controller;
				this.m_SharedPlugin.m_Effect = audioMixerEffectController;
				this.m_SharedPlugin.m_ParamDefs = effectParameters;
				flag4 = audioEffectPluginGUI.OnGUI(this.m_SharedPlugin);
			}
			if (flag4)
			{
				MixerParameterDefinition[] array3 = effectParameters;
				for (int k = 0; k < array3.Length; k++)
				{
					MixerParameterDefinition mixerParameterDefinition = array3[k];
					float valueForParameter = audioMixerEffectController.GetValueForParameter(controller, controller.TargetSnapshot, mixerParameterDefinition.name);
					if (AudioMixerEffectGUI.Slider(GUIContent.Temp(mixerParameterDefinition.name, mixerParameterDefinition.description), ref valueForParameter, mixerParameterDefinition.displayScale, mixerParameterDefinition.displayExponent, mixerParameterDefinition.units, mixerParameterDefinition.minRange, mixerParameterDefinition.maxRange, controller, new AudioEffectParameterPath(group, audioMixerEffectController, audioMixerEffectController.GetGUIDForParameter(mixerParameterDefinition.name)), new GUILayoutOption[0]))
					{
						audioMixerEffectController.SetValueForParameter(controller, controller.TargetSnapshot, mixerParameterDefinition.name, valueForParameter);
					}
				}
				if (effectParameters.Length > 0)
				{
					GUILayout.Space(6f);
				}
			}
			EditorGUI.EndDisabledGroup();
			this.m_EffectDragging.HandleDragElement(effectIndex, effectRect, rect4, group, allGroups);
			EditorGUILayout.EndVertical();
			EditorGUILayout.EndVertical();
			AudioMixerDrawUtils.DrawSplitter();
		}
		public void CopyAttenuationToAllSnapshots(AudioMixerGroupController group, AudioMixerSnapshotController snapshot)
		{
			AudioMixerSnapshotController[] snapshots = this.snapshots;
			for (int i = 0; i < snapshots.Length; i++)
			{
				if (!(snapshots[i] == snapshot))
				{
					AudioMixerSnapshotController snapshot2 = snapshots[i];
					group.SetValueForVolume(this, snapshot2, group.GetValueForVolume(this, snapshot));
				}
			}
		}
		public void CopyAllSettingsToAllSnapshots(AudioMixerGroupController group, AudioMixerSnapshotController snapshot)
		{
			for (int i = 0; i < group.effects.Length; i++)
			{
				this.CopyEffectSettingsToAllSnapshots(group, i, snapshot, true);
			}
			AudioMixerSnapshotController[] snapshots = this.snapshots;
			for (int j = 0; j < snapshots.Length; j++)
			{
				if (!(snapshots[j] == snapshot))
				{
					AudioMixerSnapshotController snapshot2 = snapshots[j];
					group.SetValueForVolume(this, snapshot2, group.GetValueForVolume(this, snapshot));
					group.SetValueForPitch(this, snapshot2, group.GetValueForPitch(this, snapshot));
				}
			}
		}
 private void DoAttenuationFader(Rect r, AudioMixerGroupController group, List<AudioMixerGroupController> selection, GUIStyle style)
 {
   float num1 = Mathf.Clamp(group.GetValueForVolume(this.m_Controller, this.m_Controller.TargetSnapshot), AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume());
   float num2 = this.VerticalFader(r, num1, 1, AudioMixerChannelStripView.kVolumeScaleMouseDrag, true, true, this.styles.attenuationFader.tooltip, AudioMixerController.GetMaxVolume(), style);
   if ((double) num1 == (double) num2)
     return;
   float num3 = num2 - num1;
   Undo.RecordObject((UnityEngine.Object) this.m_Controller.TargetSnapshot, "Change volume fader");
   using (List<AudioMixerGroupController>.Enumerator enumerator = selection.GetEnumerator())
   {
     while (enumerator.MoveNext())
     {
       AudioMixerGroupController current = enumerator.Current;
       float num4 = Mathf.Clamp(current.GetValueForVolume(this.m_Controller, this.m_Controller.TargetSnapshot), AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume());
       current.SetValueForVolume(this.m_Controller, this.m_Controller.TargetSnapshot, Mathf.Clamp(num4 + num3, AudioMixerController.kMinVolume, AudioMixerController.GetMaxVolume()));
     }
   }
   InspectorWindow.RepaintAllInspectors();
 }