static public int get_reverbPreset(IntPtr l) { try { #if DEBUG var method = System.Reflection.MethodBase.GetCurrentMethod(); string methodName = GetMethodName(method); #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.BeginSample(methodName); #else Profiler.BeginSample(methodName); #endif #endif UnityEngine.AudioReverbFilter self = (UnityEngine.AudioReverbFilter)checkSelf(l); pushValue(l, true); pushEnum(l, (int)self.reverbPreset); return(2); } catch (Exception e) { return(error(l, e)); } #if DEBUG finally { #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.EndSample(); #else Profiler.EndSample(); #endif } #endif }
static public int set_lfReference(IntPtr l) { try { #if DEBUG var method = System.Reflection.MethodBase.GetCurrentMethod(); string methodName = GetMethodName(method); #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.BeginSample(methodName); #else Profiler.BeginSample(methodName); #endif #endif UnityEngine.AudioReverbFilter self = (UnityEngine.AudioReverbFilter)checkSelf(l); float v; checkType(l, 2, out v); self.lfReference = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } #if DEBUG finally { #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.EndSample(); #else Profiler.EndSample(); #endif } #endif }
/// <summary> /// Add effects knobs to panel. Attempts to recycle existing filters. /// </summary> /// <param name="select">Select multiple knobs via logical OR. /// e.g. Knobs.distortion | Knobs.reverb</param> /// <remarks>TODO Figure out a way to make filters chain (lowpass LAST).</remarks> public void AddKnobs(Knobs select) { if ((select & Knobs.distortion) == Knobs.distortion) { distortion = gameObj.GetComponent<AudioDistortionFilter>(); if (distortion == null) { //Debug.Log("ASE -- Adding distortion filter"); distortion = gameObj.AddComponent<AudioDistortionFilter>(); } } if ((select & Knobs.reverb) == Knobs.reverb) { reverb = gameObj.GetComponent<AudioReverbFilter>(); if (reverb == null) { //Debug.Log("ASE -- Adding reverb filter"); reverb = gameObj.AddComponent<AudioReverbFilter>(); } } if ((select & Knobs.lowpass) == Knobs.lowpass) { lowpass = gameObj.GetComponent<AudioLowPassFilter>(); if (lowpass == null) { //Debug.Log("ASE -- Adding low-pass filter"); lowpass = gameObj.AddComponent<AudioLowPassFilter>(); } lowpass.lowpassResonaceQ = 0f; } }
static public int constructor(IntPtr l) { try { UnityEngine.AudioReverbFilter o; o=new UnityEngine.AudioReverbFilter(); pushValue(l,true); pushValue(l,o); return 2; } catch(Exception e) { return error(l,e); } }
static public int get_room(IntPtr l) { try { UnityEngine.AudioReverbFilter self = (UnityEngine.AudioReverbFilter)checkSelf(l); pushValue(l, true); pushValue(l, self.room); return(2); } catch (Exception e) { return(error(l, e)); } }
static public int get_room(IntPtr l) { try { UnityEngine.AudioReverbFilter self = (UnityEngine.AudioReverbFilter)checkSelf(l); pushValue(l, self.room); return(1); } catch (Exception e) { LuaDLL.luaL_error(l, e.ToString()); return(0); } }
static public int get_reverbPreset(IntPtr l) { try { UnityEngine.AudioReverbFilter self = (UnityEngine.AudioReverbFilter)checkSelf(l); pushEnum(l, (int)self.reverbPreset); return(1); } catch (Exception e) { LuaDLL.luaL_error(l, e.ToString()); return(0); } }
public static int constructor(IntPtr l) { try { UnityEngine.AudioReverbFilter o; o=new UnityEngine.AudioReverbFilter(); pushValue(l,o); return 1; } catch(Exception e) { LuaDLL.luaL_error(l, e.ToString()); return 0; } }
static public int constructor(IntPtr l) { try { UnityEngine.AudioReverbFilter o; o = new UnityEngine.AudioReverbFilter(); pushValue(l, o); return(1); } catch (Exception e) { LuaDLL.luaL_error(l, e.ToString()); return(0); } }
static public int constructor(IntPtr l) { LuaDLL.lua_remove(l, 1); UnityEngine.AudioReverbFilter o; if (matchType(l, 1)) { o = new UnityEngine.AudioReverbFilter(); pushObject(l, o); return(1); } LuaDLL.luaL_error(l, "New object failed."); return(0); }
static public int constructor(IntPtr l) { try { UnityEngine.AudioReverbFilter o; o = new UnityEngine.AudioReverbFilter(); pushValue(l, true); pushValue(l, o); return(2); } catch (Exception e) { return(error(l, e)); } }
static public int set_reverbPreset(IntPtr l) { try { UnityEngine.AudioReverbFilter self = (UnityEngine.AudioReverbFilter)checkSelf(l); UnityEngine.AudioReverbPreset v; checkEnum(l, 2, out v); self.reverbPreset = v; return(0); } catch (Exception e) { LuaDLL.luaL_error(l, e.ToString()); return(0); } }
static public int set_reverbPreset(IntPtr l) { try { UnityEngine.AudioReverbFilter self = (UnityEngine.AudioReverbFilter)checkSelf(l); UnityEngine.AudioReverbPreset v; checkEnum(l, 2, out v); self.reverbPreset = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
static public int set_room(IntPtr l) { try { UnityEngine.AudioReverbFilter self = (UnityEngine.AudioReverbFilter)checkSelf(l); float v; checkType(l, 2, out v); self.room = v; pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
static public int set_room(IntPtr l) { try { UnityEngine.AudioReverbFilter self = (UnityEngine.AudioReverbFilter)checkSelf(l); float v; checkType(l, 2, out v); self.room = v; return(0); } catch (Exception e) { LuaDLL.luaL_error(l, e.ToString()); return(0); } }
// fields // properties static void AudioReverbFilter_reverbPreset(JSVCall vc) { if (vc.bGet) { UnityEngine.AudioReverbFilter _this = (UnityEngine.AudioReverbFilter)vc.csObj; var result = _this.reverbPreset; JSApi.setEnum((int)JSApi.SetType.Rval, (int)result); } else { UnityEngine.AudioReverbPreset arg0 = (UnityEngine.AudioReverbPreset)JSApi.getEnum((int)JSApi.GetType.Arg); UnityEngine.AudioReverbFilter _this = (UnityEngine.AudioReverbFilter)vc.csObj; _this.reverbPreset = arg0; } }
static void AudioReverbFilter_roomHF(JSVCall vc) { if (vc.bGet) { UnityEngine.AudioReverbFilter _this = (UnityEngine.AudioReverbFilter)vc.csObj; var result = _this.roomHF; JSApi.setSingle((int)JSApi.SetType.Rval, (System.Single)(result)); } else { System.Single arg0 = (System.Single)JSApi.getSingle((int)JSApi.GetType.Arg); UnityEngine.AudioReverbFilter _this = (UnityEngine.AudioReverbFilter)vc.csObj; _this.roomHF = arg0; } }
void Start() { // create new audio source source = gameObject.AddComponent<AudioSource>(); source.spatialBlend = 0.0f; source.bypassReverbZones = true; HPFilter = gameObject.AddComponent<AudioHighPassFilter>(); HPFilter.highpassResonanceQ = 3; reverbFilter = gameObject.AddComponent<AudioReverbFilter>(); reverbFilter.reverbPreset = AudioReverbPreset.Dizzy; reverbFilter.enabled = false; // load music AudioSettings.LoadMusic(); }
/// <summary> /// Write the specified value using the writer. /// </summary> /// <param name="value">Value.</param> /// <param name="writer">Writer.</param> public override void Write(object value, ISaveGameWriter writer) { UnityEngine.AudioReverbFilter audioReverbFilter = (UnityEngine.AudioReverbFilter)value; writer.WriteProperty("reverbPreset", audioReverbFilter.reverbPreset); writer.WriteProperty("dryLevel", audioReverbFilter.dryLevel); writer.WriteProperty("room", audioReverbFilter.room); writer.WriteProperty("roomHF", audioReverbFilter.roomHF); writer.WriteProperty("decayTime", audioReverbFilter.decayTime); writer.WriteProperty("decayHFRatio", audioReverbFilter.decayHFRatio); writer.WriteProperty("reflectionsLevel", audioReverbFilter.reflectionsLevel); writer.WriteProperty("reflectionsDelay", audioReverbFilter.reflectionsDelay); writer.WriteProperty("reverbLevel", audioReverbFilter.reverbLevel); writer.WriteProperty("reverbDelay", audioReverbFilter.reverbDelay); writer.WriteProperty("diffusion", audioReverbFilter.diffusion); writer.WriteProperty("density", audioReverbFilter.density); writer.WriteProperty("hfReference", audioReverbFilter.hfReference); writer.WriteProperty("roomLF", audioReverbFilter.roomLF); writer.WriteProperty("lfReference", audioReverbFilter.lfReference); writer.WriteProperty("enabled", audioReverbFilter.enabled); writer.WriteProperty("tag", audioReverbFilter.tag); writer.WriteProperty("name", audioReverbFilter.name); writer.WriteProperty("hideFlags", audioReverbFilter.hideFlags); }
void Start() { filter = GameObject.FindGameObjectWithTag(Tags.player).GetComponent<AudioReverbFilter>(); }
//Main public void Awake() { if (debugging) Debug.Log("[CHATR] Awake() starting..."); // Setup & callbacks for KSP Application Launcher GameEvents.onGUIApplicationLauncherReady.Add(OnGUIApplicationLauncherReady); GameEvents.onGameSceneLoadRequested.Add(OnSceneChangeRequest); //set a path to save/load settings settings_path = AssemblyLoader.loadedAssemblies.GetPathByType(typeof(chatterer)) + "/"; //returns "X:/full/path/to/GameData/Chatterer/Plugins/PluginData/chatterer" if (Directory.Exists(settings_path)) { if (debugging) Debug.Log("[CHATR] " + settings_path + " exists"); } else { if (debugging) Debug.Log("[CHATR] " + settings_path + " does not exist"); Directory.CreateDirectory(settings_path); if (debugging) Debug.Log("[CHATR] " + settings_path + " created"); } //Filters need to be added here BEFORE load_settings() or nullRef when trying to apply filter settings to non-existant filters chatter_player.name = "rbr_chatter_player"; initial_chatter = chatter_player.AddComponent<AudioSource>(); initial_chatter.volume = chatter_vol_slider; initial_chatter.panLevel = 0; //set as 2D audio response_chatter = chatter_player.AddComponent<AudioSource>(); response_chatter.volume = chatter_vol_slider; response_chatter.panLevel = 0; chatter_chorus_filter = chatter_player.AddComponent<AudioChorusFilter>(); chatter_chorus_filter.enabled = false; chatter_distortion_filter = chatter_player.AddComponent<AudioDistortionFilter>(); chatter_distortion_filter.enabled = false; chatter_echo_filter = chatter_player.AddComponent<AudioEchoFilter>(); chatter_echo_filter.enabled = false; chatter_highpass_filter = chatter_player.AddComponent<AudioHighPassFilter>(); chatter_highpass_filter.enabled = false; chatter_lowpass_filter = chatter_player.AddComponent<AudioLowPassFilter>(); chatter_lowpass_filter.enabled = false; chatter_reverb_filter = chatter_player.AddComponent<AudioReverbFilter>(); chatter_reverb_filter.enabled = false; //AAE load_AAE_background_audio(); load_AAE_soundscape_audio(); if (aae_soundscapes_exist) { aae_soundscape = aae_soundscape_player.AddComponent<AudioSource>(); aae_soundscape.panLevel = 0; aae_soundscape.volume = 0.3f; set_soundscape_clip(); new_soundscape_loose_timer_limit(); } //AAE EVA breathing aae_breathing = aae_ambient_player.AddComponent<AudioSource>(); aae_breathing.panLevel = 0; aae_breathing.volume = 1.0f; aae_breathing.loop = true; string breathing_path = "Chatterer/Sounds/AAE/effect/breathing"; if (GameDatabase.Instance.ExistsAudioClip(breathing_path)) { aae_breathing_exist = true; aae_breathing.clip = GameDatabase.Instance.GetAudioClip(breathing_path); if (debugging) Debug.Log("[CHATR] " + breathing_path + " loaded OK"); } else { if (debugging) Debug.LogWarning("[CHATR] " + breathing_path + " not found"); } //AAE airlock aae_airlock = aae_ambient_player.AddComponent<AudioSource>(); aae_airlock.panLevel = 0; aae_airlock.volume = 1.0f; string airlock_path = "Chatterer/Sounds/AAE/effect/airlock"; if (GameDatabase.Instance.ExistsAudioClip(airlock_path)) { aae_airlock_exist = true; aae_airlock.clip = GameDatabase.Instance.GetAudioClip(airlock_path); if (debugging) Debug.Log("[CHATR] " + airlock_path + " loaded OK"); } else { if (debugging) Debug.LogWarning("[CHATR] " + airlock_path + " not found"); } //AAE wind aae_wind = aae_ambient_player.AddComponent<AudioSource>(); aae_wind.panLevel = 0; aae_wind.volume = 1.0f; string wind_path = "Chatterer/Sounds/AAE/wind/mario1298__weak-wind"; if (GameDatabase.Instance.ExistsAudioClip(wind_path)) { aae_wind_exist = true; aae_wind.clip = GameDatabase.Instance.GetAudioClip(wind_path); if (debugging) Debug.Log("[CHATR] " + wind_path + " loaded OK"); } else { if (debugging) Debug.LogWarning("[CHATR] " + wind_path + " not found"); } //yepyep yep_yepsource = aae_ambient_player.AddComponent<AudioSource>(); yep_yepsource.panLevel = 0; yep_yepsource.volume = 1.0f; //AAE landing landingsource = aae_ambient_player.AddComponent<AudioSource>(); landingsource.panLevel = 0; landingsource.volume = 0.5f; string landing_path = "Chatterer/Sounds/AAE/loop/suspense1"; if (GameDatabase.Instance.ExistsAudioClip(landing_path)) { landingsource.clip = GameDatabase.Instance.GetAudioClip(landing_path); if (debugging) Debug.Log("[CHATR] " + landing_path + " loaded OK"); } else { if (debugging) Debug.LogWarning("[CHATR] " + landing_path + " not found"); } load_beep_audio(); //this must run before loading settings (else no beep clips to assign to sources)) if (GameDatabase.Instance.ExistsTexture("Chatterer/Textures/line_512x4")) line_512x4 = GameDatabase.Instance.GetTexture("Chatterer/Textures/line_512x4", false); else Debug.LogWarning("Texture 'line_512x4' is missing!"); load_plugin_settings(); if (http_update_check) get_latest_version(); load_quindar_audio(); quindar1 = chatter_player.AddComponent<AudioSource>(); quindar1.volume = quindar_vol_slider; quindar1.panLevel = 0; quindar1.clip = quindar_clip; quindar2 = chatter_player.AddComponent<AudioSource>(); quindar2.volume = quindar_vol_slider; quindar2.panLevel = 0; quindar2.clip = quindar_clip; initialize_new_exchange(); load_sstv_audio(); sstv_player.name = "rbr_sstv_player"; sstv = sstv_player.AddComponent<AudioSource>(); sstv.volume = sstv_vol_slider; sstv.panLevel = 0; new_sstv_loose_timer_limit(); create_filter_defaults_node(); build_skin_list(); if (debugging) Debug.Log("[CHATR] Awake() has finished..."); }
static public int get_reflectionsDelay(IntPtr l) { UnityEngine.AudioReverbFilter o = (UnityEngine.AudioReverbFilter)checkSelf(l); pushValue(l, o.reflectionsDelay); return(1); }
static public int get_reverbPreset(IntPtr l) { UnityEngine.AudioReverbFilter o = (UnityEngine.AudioReverbFilter)checkSelf(l); pushValue(l, o.reverbPreset); return(1); }
static public int get_lFReference(IntPtr l) { UnityEngine.AudioReverbFilter o = (UnityEngine.AudioReverbFilter)checkSelf(l); pushValue(l, o.lFReference); return(1); }
static public int get_dryLevel(IntPtr l) { UnityEngine.AudioReverbFilter o = (UnityEngine.AudioReverbFilter)checkSelf(l); pushValue(l, o.dryLevel); return(1); }
static public int get_roomRolloff(IntPtr l) { UnityEngine.AudioReverbFilter o = (UnityEngine.AudioReverbFilter)checkSelf(l); pushValue(l, o.roomRolloff); return(1); }
/// <summary> /// Read the data using the reader. /// </summary> /// <param name="reader">Reader.</param> public override object Read(ISaveGameReader reader) { UnityEngine.AudioReverbFilter audioReverbFilter = SaveGameType.CreateComponent <UnityEngine.AudioReverbFilter> (); ReadInto(audioReverbFilter, reader); return(audioReverbFilter); }
/// <summary> /// Read the data into the specified value. /// </summary> /// <param name="value">Value.</param> /// <param name="reader">Reader.</param> public override void ReadInto(object value, ISaveGameReader reader) { UnityEngine.AudioReverbFilter audioReverbFilter = (UnityEngine.AudioReverbFilter)value; foreach (string property in reader.Properties) { switch (property) { case "reverbPreset": audioReverbFilter.reverbPreset = reader.ReadProperty <UnityEngine.AudioReverbPreset> (); break; case "dryLevel": audioReverbFilter.dryLevel = reader.ReadProperty <System.Single> (); break; case "room": audioReverbFilter.room = reader.ReadProperty <System.Single> (); break; case "roomHF": audioReverbFilter.roomHF = reader.ReadProperty <System.Single> (); break; case "decayTime": audioReverbFilter.decayTime = reader.ReadProperty <System.Single> (); break; case "decayHFRatio": audioReverbFilter.decayHFRatio = reader.ReadProperty <System.Single> (); break; case "reflectionsLevel": audioReverbFilter.reflectionsLevel = reader.ReadProperty <System.Single> (); break; case "reflectionsDelay": audioReverbFilter.reflectionsDelay = reader.ReadProperty <System.Single> (); break; case "reverbLevel": audioReverbFilter.reverbLevel = reader.ReadProperty <System.Single> (); break; case "reverbDelay": audioReverbFilter.reverbDelay = reader.ReadProperty <System.Single> (); break; case "diffusion": audioReverbFilter.diffusion = reader.ReadProperty <System.Single> (); break; case "density": audioReverbFilter.density = reader.ReadProperty <System.Single> (); break; case "hfReference": audioReverbFilter.hfReference = reader.ReadProperty <System.Single> (); break; case "roomLF": audioReverbFilter.roomLF = reader.ReadProperty <System.Single> (); break; case "lfReference": audioReverbFilter.lfReference = reader.ReadProperty <System.Single> (); break; case "enabled": audioReverbFilter.enabled = reader.ReadProperty <System.Boolean> (); break; case "tag": audioReverbFilter.tag = reader.ReadProperty <System.String> (); break; case "name": audioReverbFilter.name = reader.ReadProperty <System.String> (); break; case "hideFlags": audioReverbFilter.hideFlags = reader.ReadProperty <UnityEngine.HideFlags> (); break; } } }
public override void OnEnable() => Component = gameObject.GetComponent <UnityEngine.AudioReverbFilter>();
void Awake() { _echo = GetComponent<AudioEchoFilter> (); _rev = GetComponent<AudioReverbFilter> (); }
private void reset_reverb_filter(AudioReverbFilter arf) { //reset reverb filter to default foreach (ConfigNode filter in filter_defaults.nodes) { if (filter.name == "REVERB") { if (filter.HasValue("reverb_preset")) arf.reverbPreset = (AudioReverbPreset)Enum.Parse(typeof(AudioReverbPreset), filter.GetValue("reverb_preset")); if (filter.HasValue("dry_level")) arf.dryLevel = Single.Parse(filter.GetValue("dry_level")); if (filter.HasValue("room")) arf.room = Single.Parse(filter.GetValue("room")); if (filter.HasValue("room_hf")) arf.roomHF = Single.Parse(filter.GetValue("room_hf")); if (filter.HasValue("room_lf")) arf.roomLF = Single.Parse(filter.GetValue("room_lf")); if (filter.HasValue("room_rolloff")) arf.roomRolloff = Single.Parse(filter.GetValue("room_rolloff")); if (filter.HasValue("decay_time")) arf.decayTime = Single.Parse(filter.GetValue("decay_time")); if (filter.HasValue("decay_hf_ratio")) arf.decayHFRatio = Single.Parse(filter.GetValue("decay_hf_ratio")); if (filter.HasValue("reflections_level")) arf.reflectionsLevel = Single.Parse(filter.GetValue("reflections_level")); if (filter.HasValue("reflections_delay")) arf.reflectionsDelay = Single.Parse(filter.GetValue("reflections_delay")); if (filter.HasValue("reverb_level")) arf.reverbLevel = Single.Parse(filter.GetValue("reverb_level")); if (filter.HasValue("reverb_delay")) arf.reverbDelay = Single.Parse(filter.GetValue("reverb_delay")); if (filter.HasValue("diffusion")) arf.diffusion = Single.Parse(filter.GetValue("diffusion")); if (filter.HasValue("density")) arf.density = Single.Parse(filter.GetValue("density")); if (filter.HasValue("hf_reference")) arf.hfReference = Single.Parse(filter.GetValue("hf_reference")); if (filter.HasValue("lf_reference")) arf.lfReference = Single.Parse(filter.GetValue("lf_reference")); } } }
private int combined_filter_settings_gui(int sel_filter, AudioChorusFilter acf, AudioDistortionFilter adf, AudioEchoFilter aef, AudioHighPassFilter ahpf, AudioLowPassFilter alpf, AudioReverbFilter arf, int reverb_preset_index) { //chatter and beep settings window guis both call this function GUIContent _content = new GUIContent(); if (sel_filter == 0) { GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); _content.text = "Enable"; _content.tooltip = "Turn chorus filter on/off"; acf.enabled = GUILayout.Toggle(acf.enabled, _content, GUILayout.ExpandWidth(true)); _content.text = "Default"; _content.tooltip = "Reset chorus filter to default"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) reset_chorus_filter(acf); GUILayout.EndHorizontal(); _content.text = "Dry mix: " + (acf.dryMix * 100).ToString("F0") + "%"; _content.tooltip = "Volume of original signal to pass to output"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); acf.dryMix = GUILayout.HorizontalSlider(acf.dryMix, 0, 1f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Wet mix 1: " + (acf.wetMix1 * 100).ToString("F0") + "%"; _content.tooltip = "Volume of 1st chorus tap"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); acf.wetMix1 = GUILayout.HorizontalSlider(acf.wetMix1, 0, 1f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Wet mix 2: " + (acf.wetMix2 * 100).ToString("F0") + "%"; _content.tooltip = "Volume of 2nd chorus tap"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); acf.wetMix2 = GUILayout.HorizontalSlider(acf.wetMix2, 0, 1f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Wet mix 3: " + (acf.wetMix3 * 100).ToString("F0") + "%"; _content.tooltip = "Volume of 3rd chorus tap"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); acf.wetMix3 = GUILayout.HorizontalSlider(acf.wetMix3, 0, 1f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Delay: " + acf.delay.ToString("F2") + " ms"; _content.tooltip = "Chorus delay in ms"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); acf.delay = GUILayout.HorizontalSlider(acf.delay, 0.1f, 100f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Rate: " + acf.rate.ToString("F2") + " Hz"; _content.tooltip = "Chorus modulation rate in Hz"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); acf.rate = GUILayout.HorizontalSlider(acf.rate, 0, 20f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Depth: " + (acf.depth * 100).ToString("F0") + "%"; _content.tooltip = "Chorus modulation depth"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); acf.depth = GUILayout.HorizontalSlider(acf.depth, 0, 1f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); _content.text = "Copy Chorus"; _content.tooltip = "Copy chorus values to clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { chorus_clipboard = new ConfigNode(); chorus_clipboard.AddValue("dry_mix", acf.dryMix); chorus_clipboard.AddValue("wet_mix_1", acf.wetMix1); chorus_clipboard.AddValue("wet_mix_2", acf.wetMix2); chorus_clipboard.AddValue("wet_mix_3", acf.wetMix3); chorus_clipboard.AddValue("delay", acf.delay); chorus_clipboard.AddValue("rate", acf.rate); chorus_clipboard.AddValue("depth", acf.depth); if (debugging) Debug.Log("[CHATR] chorus filter values copied to chorus clipboard"); } if (chorus_clipboard != null) { _content.text = "Load Chorus"; _content.tooltip = "Load chorus values from clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { acf.dryMix = Single.Parse(chorus_clipboard.GetValue("dry_mix")); acf.wetMix1 = Single.Parse(chorus_clipboard.GetValue("wet_mix_1")); acf.wetMix2 = Single.Parse(chorus_clipboard.GetValue("wet_mix_2")); acf.wetMix3 = Single.Parse(chorus_clipboard.GetValue("wet_mix_3")); acf.delay = Single.Parse(chorus_clipboard.GetValue("delay")); acf.rate = Single.Parse(chorus_clipboard.GetValue("rate")); acf.depth = Single.Parse(chorus_clipboard.GetValue("depth")); if (debugging) Debug.Log("[CHATR] chorus filter values loaded from chorus clipboard"); } } GUILayout.EndHorizontal(); } else if (sel_filter == 1) { //Distortion _content.text = "Enable"; _content.tooltip = "Turn distortion filter on/off"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); adf.enabled = GUILayout.Toggle(adf.enabled, _content, GUILayout.ExpandWidth(true)); _content.text = "Default"; _content.tooltip = "Reset distortion filter to default"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) reset_distortion_filter(adf); GUILayout.EndHorizontal(); _content.text = "Distortion level: " + (adf.distortionLevel * 100).ToString("F0") + "%"; _content.tooltip = "Distortion value"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); adf.distortionLevel = GUILayout.HorizontalSlider(adf.distortionLevel, 0, 1f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); _content.text = "Copy Dist"; _content.tooltip = "Copy distortion values to clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { dist_clipboard = new ConfigNode(); dist_clipboard.AddValue("distortion_level", adf.distortionLevel); if (debugging) Debug.Log("[CHATR] distortion filter values copied to distortion clipboard"); } if (dist_clipboard != null) { _content.text = "Load Dist"; _content.tooltip = "Load distortion values from clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { adf.distortionLevel = Single.Parse(dist_clipboard.GetValue("distortion_level")); if (debugging) Debug.Log("[CHATR] distortion filter values loaded from distortion clipboard"); } } GUILayout.EndHorizontal(); } else if (sel_filter == 2) { //Echo _content.text = "Enable"; _content.tooltip = "Turn echo filter on/off"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); aef.enabled = GUILayout.Toggle(aef.enabled, _content, GUILayout.ExpandWidth(true)); _content.text = "Default"; _content.tooltip = "Reset echo filter to default"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) reset_echo_filter(aef); GUILayout.EndHorizontal(); _content.text = "Delay: " + aef.delay.ToString("F0") + " ms"; _content.tooltip = "Echo delay in ms"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); aef.delay = GUILayout.HorizontalSlider(aef.delay, 10f, 5000f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Decay ratio: " + aef.decayRatio.ToString("F2"); _content.tooltip = "Echo decay per delay"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); aef.decayRatio = GUILayout.HorizontalSlider(aef.decayRatio, 0, 1f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Dry mix: " + (aef.dryMix * 100).ToString("F0") + "%"; _content.tooltip = "Volume of original signal to pass to output"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); aef.dryMix = GUILayout.HorizontalSlider(aef.dryMix, 0, 1f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Wet mix: " + (aef.wetMix * 100).ToString("F0") + "%"; _content.tooltip = "Volume of echo signal to pass to output"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); aef.wetMix = GUILayout.HorizontalSlider(aef.wetMix, 0, 1f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); _content.text = "Copy Echo"; _content.tooltip = "Copy echo values to clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { echo_clipboard = new ConfigNode(); echo_clipboard.AddValue("delay", aef.delay); echo_clipboard.AddValue("decay_ratio", aef.decayRatio); echo_clipboard.AddValue("dry_mix", aef.dryMix); echo_clipboard.AddValue("wet_mix", aef.wetMix); if (debugging) Debug.Log("[CHATR] echo filter values copied to echo clipboard"); } if (echo_clipboard != null) { _content.text = "Load Echo"; _content.tooltip = "Load echo values from clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { aef.delay = Single.Parse(echo_clipboard.GetValue("delay")); aef.decayRatio = Single.Parse(echo_clipboard.GetValue("decay_ratio")); aef.dryMix = Single.Parse(echo_clipboard.GetValue("dry_mix")); aef.wetMix = Single.Parse(echo_clipboard.GetValue("wet_mix")); if (debugging) Debug.Log("[CHATR] echo filter values loaded from echo clipboard"); } } GUILayout.EndHorizontal(); } else if (sel_filter == 3) { //Highpass _content.text = "Enable"; _content.tooltip = "Turn highpass filter on/off"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); ahpf.enabled = GUILayout.Toggle(ahpf.enabled, _content, GUILayout.ExpandWidth(true)); _content.text = "Default"; _content.tooltip = "Reset highpass filter to default"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) reset_highpass_filter(ahpf); GUILayout.EndHorizontal(); _content.text = "Cutoff freq: " + ahpf.cutoffFrequency.ToString("F2") + " Hz"; _content.tooltip = "Highpass cutoff frequency in Hz"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); ahpf.cutoffFrequency = GUILayout.HorizontalSlider(ahpf.cutoffFrequency, 10f, 22000f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Resonance Q: " + ahpf.highpassResonanceQ.ToString("F2"); _content.tooltip = "Highpass self-resonance dampening"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); ahpf.highpassResonanceQ = GUILayout.HorizontalSlider(ahpf.highpassResonanceQ, 1f, 10f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); _content.text = "Copy HiPass"; _content.tooltip = "Copy highpass values to clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { hipass_clipboard = new ConfigNode(); hipass_clipboard.AddValue("cutoff_freq", ahpf.cutoffFrequency); hipass_clipboard.AddValue("resonance_q", ahpf.highpassResonanceQ); if (debugging) Debug.Log("[CHATR] highpass filter values copied to highpass clipboard"); } if (hipass_clipboard != null) { _content.text = "Load HiPass"; _content.tooltip = "Load highpass values from clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { ahpf.cutoffFrequency = Single.Parse(hipass_clipboard.GetValue("cutoff_freq")); ahpf.highpassResonanceQ = Single.Parse(hipass_clipboard.GetValue("resonance_q")); if (debugging) Debug.Log("[CHATR] highpass filter values loaded from highpass clipboard"); } } GUILayout.EndHorizontal(); } else if (sel_filter == 4) { //Lowpass _content.text = "Enable"; _content.tooltip = "Turn lowpass filter on/off"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); alpf.enabled = GUILayout.Toggle(alpf.enabled, _content, GUILayout.ExpandWidth(true)); _content.text = "Default"; _content.tooltip = "Reset lowpass filter to default"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) reset_lowpass_filter(alpf); GUILayout.EndHorizontal(); _content.text = "Cutoff freq: " + alpf.cutoffFrequency.ToString("F2") + " Hz"; _content.tooltip = "Lowpass cutoff frequency in Hz"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); alpf.cutoffFrequency = GUILayout.HorizontalSlider(alpf.cutoffFrequency, 10f, 22000f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Resonance Q: " + alpf.lowpassResonanceQ.ToString("F2"); _content.tooltip = "Lowpass self-resonance dampening"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); alpf.lowpassResonanceQ = GUILayout.HorizontalSlider(alpf.lowpassResonanceQ, 1f, 10f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); _content.text = "Copy LoPass"; _content.tooltip = "Copy lowpass values to clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { lopass_clipboard = new ConfigNode(); lopass_clipboard.AddValue("cutoff_freq", alpf.cutoffFrequency); lopass_clipboard.AddValue("resonance_q", alpf.lowpassResonanceQ); if (debugging) Debug.Log("[CHATR] lowpass filter values copied to lowpass clipboard"); } if (lopass_clipboard != null) { _content.text = "Load LoPass"; _content.tooltip = "Load lowpass values from clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { alpf.cutoffFrequency = Single.Parse(lopass_clipboard.GetValue("cutoff_freq")); alpf.lowpassResonanceQ = Single.Parse(lopass_clipboard.GetValue("resonance_q")); if (debugging) Debug.Log("[CHATR] lowpass filter values loaded from lowpass clipboard"); } } GUILayout.EndHorizontal(); } else if (sel_filter == 5) { //Reverb _content.text = "Enable"; _content.tooltip = "Turn reverb filter on/off"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); arf.enabled = GUILayout.Toggle(arf.enabled, _content, GUILayout.ExpandWidth(true)); _content.text = "Default"; _content.tooltip = "Reset reverb filter to default"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) reset_reverb_filter(arf); GUILayout.EndHorizontal(); //Presets AudioReverbPreset[] preset_array = Enum.GetValues(typeof(AudioReverbPreset)) as AudioReverbPreset[]; List<AudioReverbPreset> preset_list = new List<AudioReverbPreset>(); foreach (var val in preset_array) { if (val.ToString() != "Off" && val.ToString() != "User") preset_list.Add(val); //Off and User have separate buttons } GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label("Current preset: " + arf.reverbPreset.ToString(), GUILayout.ExpandWidth(true)); //off button //_content.text = "Off"; //_content.tooltip = "Turn reverb off"; //if (GUILayout.Button(_content, GUILayout.ExpandWidth(true))) //{ // arf.reverbPreset = AudioReverbPreset.Off; // if (debugging) Debug.Log("[CHATR] reverb turned off"); //} //user button _content.text = "User"; _content.tooltip = "User reverb settings"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { arf.reverbPreset = AudioReverbPreset.User; if (debugging) Debug.Log("[CHATR] reverb set to User"); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); if (GUILayout.Button("◄", GUILayout.ExpandWidth(true))) { //need separate preset indices for chatter and each beep reverb_preset_index--; if (reverb_preset_index < 0) reverb_preset_index = preset_list.Count - 1; if (debugging) Debug.Log("[CHATR] reverb_preset_index = " + reverb_preset_index); } _content.text = preset_list[reverb_preset_index].ToString(); _content.tooltip = "Click to apply"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(true))) { arf.reverbPreset = preset_list[reverb_preset_index]; if (debugging) Debug.Log("[CHATR] reverb preset set to " + arf.reverbPreset.ToString()); } if (GUILayout.Button("►", GUILayout.ExpandWidth(true))) { reverb_preset_index++; if (reverb_preset_index >= preset_list.Count) reverb_preset_index = 0; if (debugging) Debug.Log("[CHATR] reverb_preset_index = " + reverb_preset_index); } GUILayout.EndHorizontal(); //GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); //GUILayout.Label("source.reverbPreset = " + arf.reverbPreset.ToString()); //GUILayout.EndHorizontal(); _content.text = "Dry level: " + arf.dryLevel.ToString("F0") + " mB"; _content.tooltip = "Mix level of dry signal in output in mB"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.dryLevel = GUILayout.HorizontalSlider(arf.dryLevel, -10000f, 0, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Room: " + arf.room.ToString("F0") + " mB"; _content.tooltip = "Room effect level at low frequencies in mB"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.room = GUILayout.HorizontalSlider(arf.room, -10000f, 0, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Room HF: " + arf.roomHF.ToString("F0") + " mB"; _content.tooltip = "Room effect high-frequency level in mB"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.roomHF = GUILayout.HorizontalSlider(arf.roomHF, -10000f, 0, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Room LF: " + arf.roomLF.ToString("F0") + " mB"; _content.tooltip = "Room effect low-frequency level in mB"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.roomLF = GUILayout.HorizontalSlider(arf.roomLF, -10000f, 0, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Room roll-off: " + arf.roomRolloff.ToString("F2"); _content.tooltip = "Rolloff factor for room effect"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.roomRolloff = GUILayout.HorizontalSlider(arf.roomRolloff, 0, 10f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Decay time: " + (arf.decayTime * 100).ToString("F0") + " s"; _content.tooltip = "Reverb decay time at low-frequencies"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.decayTime = GUILayout.HorizontalSlider(arf.decayTime, 0.1f, 20f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Decay HF ratio: " + arf.decayHFRatio.ToString("F0"); _content.tooltip = "HF to LF decay time ratio"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.decayHFRatio = GUILayout.HorizontalSlider(arf.decayHFRatio, 0.1f, 2f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Reflections level: " + arf.reflectionsLevel.ToString("F0") + " mB"; _content.tooltip = "Early reflections level relative to room effect"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.reflectionsLevel = GUILayout.HorizontalSlider(arf.reflectionsLevel, -10000f, 1000f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Reflections delay: " + arf.reflectionsDelay.ToString("F0") + " mB"; _content.tooltip = "Late reverberation level relative to room effect"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.reflectionsDelay = GUILayout.HorizontalSlider(arf.reflectionsDelay, -10000f, 2000f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Reverb level: " + arf.reverbLevel.ToString("F0") + " mB"; _content.tooltip = "Late reverberation level relative to room effect"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.reverbLevel = GUILayout.HorizontalSlider(arf.reverbLevel, -10000f, 2000f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Reverb delay: " + (arf.reverbDelay * 100).ToString("F0") + " s"; _content.tooltip = "Late reverb delay time rel. to first reflection"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.reverbDelay = GUILayout.HorizontalSlider(arf.reverbDelay, 0, 0.1f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Diffusion: " + arf.diffusion.ToString("F0") + "%"; _content.tooltip = "Reverb diffusion (echo density)"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.diffusion = GUILayout.HorizontalSlider(arf.diffusion, 0, 100f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "Density: " + arf.density.ToString("F0") + "%"; _content.tooltip = "Reverb density (modal density)"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.density = GUILayout.HorizontalSlider(arf.density, 0, 100f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "HF reference: " + arf.hfReference.ToString("F0") + " Hz"; _content.tooltip = "Reference high frequency in Hz"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.hfReference = GUILayout.HorizontalSlider(arf.hfReference, 20f, 20000f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); _content.text = "LF reference: " + arf.lfReference.ToString("F0") + " Hz"; _content.tooltip = "Reference low-frequency in Hz"; GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); GUILayout.Label(_content, GUILayout.ExpandWidth(true)); arf.lfReference = GUILayout.HorizontalSlider(arf.lfReference, 20f, 1000f, GUILayout.Width(90f)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); _content.text = "Copy Reverb"; _content.tooltip = "Copy reverb values to clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { reverb_clipboard = new ConfigNode(); reverb_clipboard.AddValue("reverb_preset", arf.reverbPreset); reverb_clipboard.AddValue("dry_level", arf.dryLevel); reverb_clipboard.AddValue("room", arf.room); reverb_clipboard.AddValue("room_hf", arf.roomHF); reverb_clipboard.AddValue("room_lf", arf.roomLF); reverb_clipboard.AddValue("room_rolloff", arf.roomRolloff); reverb_clipboard.AddValue("decay_time", arf.decayTime); reverb_clipboard.AddValue("decay_hf_ratio", arf.decayHFRatio); reverb_clipboard.AddValue("reflections_level", arf.reflectionsLevel); reverb_clipboard.AddValue("reflections_delay", arf.reflectionsDelay); reverb_clipboard.AddValue("reverb_level", arf.reverbLevel); reverb_clipboard.AddValue("reverb_delay", arf.reverbDelay); reverb_clipboard.AddValue("diffusion", arf.diffusion); reverb_clipboard.AddValue("density", arf.density); reverb_clipboard.AddValue("hf_reference", arf.hfReference); reverb_clipboard.AddValue("lf_reference", arf.lfReference); if (debugging) Debug.Log("[CHATR] reverb filter values copied to reverb clipboard"); } if (reverb_clipboard != null) { _content.text = "Load Reverb"; _content.tooltip = "Load reverb values from clipboard"; if (GUILayout.Button(_content, GUILayout.ExpandWidth(false))) { arf.reverbPreset = (AudioReverbPreset)Enum.Parse(typeof(AudioReverbPreset), reverb_clipboard.GetValue("reverb_preset")); arf.dryLevel = Single.Parse(reverb_clipboard.GetValue("dry_level")); arf.room = Single.Parse(reverb_clipboard.GetValue("room")); arf.roomHF = Single.Parse(reverb_clipboard.GetValue("room_hf")); arf.roomLF = Single.Parse(reverb_clipboard.GetValue("room_lf")); arf.roomRolloff = Single.Parse(reverb_clipboard.GetValue("room_rolloff")); arf.decayTime = Single.Parse(reverb_clipboard.GetValue("decay_time")); arf.decayHFRatio = Single.Parse(reverb_clipboard.GetValue("decay_hf_ratio")); arf.reflectionsLevel = Single.Parse(reverb_clipboard.GetValue("reflections_level")); arf.reflectionsDelay = Single.Parse(reverb_clipboard.GetValue("reflections_delay")); arf.reverbLevel = Single.Parse(reverb_clipboard.GetValue("reverb_level")); arf.reverbDelay = Single.Parse(reverb_clipboard.GetValue("reverb_delay")); arf.diffusion = Single.Parse(reverb_clipboard.GetValue("diffusion")); arf.density = Single.Parse(reverb_clipboard.GetValue("density")); arf.hfReference = Single.Parse(reverb_clipboard.GetValue("hf_reference")); arf.lfReference = Single.Parse(reverb_clipboard.GetValue("lf_reference")); if (debugging) Debug.Log("[CHATR] reverb filter values loaded from reverb clipboard"); } } GUILayout.EndHorizontal(); } return reverb_preset_index; }
void reverbChanged() { //Reverb if (reverbToggle.isOn) { if(!reverbFilter) { if (groupName == "") { reverbFilter = soundReference.AddComponent<AudioReverbFilter> (); } else{ foreach (AudioSource a in includedGroup) { a.gameObject.AddComponent<AudioReverbFilter> (); } //use first one as reference reverbFilter = includedGroup[0].gameObject.GetComponent<AudioReverbFilter>(); } reverbOptions.GetComponent<reverbScript>().filterReference = reverbFilter; } reverbOptions.SetActive (true); } else { if(reverbFilter) { if(groupName == ""){ Component.Destroy(soundReference.GetComponent<AudioReverbFilter>()); } else{ foreach (AudioSource a in includedGroup) { Component.Destroy (a.gameObject.GetComponent<AudioReverbFilter> ()); } } reverbFilter = null; reverbOptions.GetComponent<reverbScript> ().filterReference = null; } reverbOptions.SetActive (false); } }
//Pull information fro gameobject void pullInformation() { //Filters //Echo echoFilter = soundReference.GetComponent<AudioEchoFilter> (); if (echoFilter) { echoToggle.isOn = true; echoOptions.GetComponent<echoScript> ().filterReference = echoFilter; } else echoToggle.isOn = false; //Chorus chorusFilter = soundReference.GetComponent<AudioChorusFilter> (); if (chorusFilter) { chorusToggle.isOn = true; chorusOptions.GetComponent<chorusScript> ().filterReference = chorusFilter; } else chorusToggle.isOn = false; //Reverb reverbFilter = soundReference.GetComponent<AudioReverbFilter> (); if (reverbFilter) { reverbToggle.isOn = true; reverbOptions.GetComponent<reverbScript> ().filterReference = reverbFilter; } else reverbToggle.isOn = false; //Distortion distortionFilter = soundReference.GetComponent<AudioDistortionFilter> (); if (distortionFilter) { distortionToggle.isOn = true; distortionOptions.GetComponent<distortionScript> ().filterReference = distortionFilter; } else distortionToggle.isOn = false; //Volume volumeSlider.value = sourceSound.volume; volumeText.text = volumeSlider.value.ToString(); //Pitch pitchSlider.value = sourceSound.pitch; pitchText.text = pitchSlider.value.ToString(); //Start & end startTime.text = soundReference.GetComponent<soundScript> ().startTime.ToString (); endTime.text = soundReference.GetComponent<soundScript> ().endTime.ToString (); }