コード例 #1
0
 static public int set_lowpassResonanceQ(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.AudioLowPassFilter self = (UnityEngine.AudioLowPassFilter)checkSelf(l);
         float v;
         checkType(l, 2, out v);
         self.lowpassResonanceQ = 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
 }
コード例 #2
0
 static public int constructor(IntPtr l)
 {
     UnityEngine.AudioLowPassFilter o;
     o = new UnityEngine.AudioLowPassFilter();
     pushObject(l, o);
     return(1);
 }
コード例 #3
0
 static public int get_customCutoffCurve(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.AudioLowPassFilter self = (UnityEngine.AudioLowPassFilter)checkSelf(l);
         pushValue(l, true);
         pushValue(l, self.customCutoffCurve);
         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
 }
コード例 #4
0
ファイル: AudioTriggers.cs プロジェクト: aaronsky/routine
	// Use this for initialization
	void Awake () {
		source = this.gameObject.GetComponent<AudioSource>();
		lpf = this.gameObject.GetComponent<AudioLowPassFilter>();

		if(currentScene == AudioScene.Music1)
		{
			source.clip = ac[0];
		}
		else if(currentScene == AudioScene.Music2)
		{
			source.clip = ac[1];
		}
		else if(currentScene == AudioScene.Bedroom)
		{
			source.clip = ac[2];
		}
		else if(currentScene == AudioScene.Subway)
		{
			source.clip = ac[3];
		}
		else if(currentScene == AudioScene.Office)
		{
			source.clip = ac[4];
		}
				

	
	}
コード例 #5
0
    static public int set_lowpassResonaceQ(IntPtr l)
    {
        UnityEngine.AudioLowPassFilter o = (UnityEngine.AudioLowPassFilter)checkSelf(l);
        float v;

        checkType(l, 2, out v);
        o.lowpassResonaceQ = v;
        return(0);
    }
コード例 #6
0
    static public int set_cutoffFrequency(IntPtr l)
    {
        UnityEngine.AudioLowPassFilter o = (UnityEngine.AudioLowPassFilter)checkSelf(l);
        float v;

        checkType(l, 2, out v);
        o.cutoffFrequency = v;
        return(0);
    }
コード例 #7
0
ファイル: CharacterDamage.cs プロジェクト: schonstal/madness
 void OnCollisionEnter(Collision other)
 {
     if (other.gameObject.tag == "HurtsPlayer") {
       noise = Camera.main.GetComponent<NoiseAndGrain>() as NoiseAndGrain;
       vignetting = Camera.main.GetComponent<Vignetting>() as Vignetting;
       lowPass = Camera.main.GetComponent<AudioLowPassFilter>() as AudioLowPassFilter;
       motionBlur = Camera.main.GetComponent<MotionBlur>() as MotionBlur;
       timer = effectDuration;
     }
 }
コード例 #8
0
 /// <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.AudioLowPassFilter audioLowPassFilter = (UnityEngine.AudioLowPassFilter)value;
     writer.WriteProperty("cutoffFrequency", audioLowPassFilter.cutoffFrequency);
     writer.WriteProperty("customCutoffCurve", audioLowPassFilter.customCutoffCurve);
     writer.WriteProperty("lowpassResonanceQ", audioLowPassFilter.lowpassResonanceQ);
     writer.WriteProperty("enabled", audioLowPassFilter.enabled);
     writer.WriteProperty("tag", audioLowPassFilter.tag);
     writer.WriteProperty("name", audioLowPassFilter.name);
     writer.WriteProperty("hideFlags", audioLowPassFilter.hideFlags);
 }
	static public int constructor(IntPtr l) {
		try {
			UnityEngine.AudioLowPassFilter o;
			o=new UnityEngine.AudioLowPassFilter();
			pushValue(l,true);
			pushValue(l,o);
			return 2;
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
コード例 #10
0
 static public int get_lowpassResonanceQ(IntPtr l)
 {
     try {
         UnityEngine.AudioLowPassFilter self = (UnityEngine.AudioLowPassFilter)checkSelf(l);
         pushValue(l, true);
         pushValue(l, self.lowpassResonanceQ);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
コード例 #11
0
 static public int get_cutoffFrequency(IntPtr l)
 {
     try {
         UnityEngine.AudioLowPassFilter self = (UnityEngine.AudioLowPassFilter)checkSelf(l);
         pushValue(l, true);
         pushValue(l, self.cutoffFrequency);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
コード例 #12
0
 static public int get_cutoffFrequency(IntPtr l)
 {
     try {
         UnityEngine.AudioLowPassFilter self = (UnityEngine.AudioLowPassFilter)checkSelf(l);
         pushValue(l, self.cutoffFrequency);
         return(1);
     }
     catch (Exception e) {
         LuaDLL.luaL_error(l, e.ToString());
         return(0);
     }
 }
コード例 #13
0
 static public int get_lowpassResonanceQ(IntPtr l)
 {
     try {
         UnityEngine.AudioLowPassFilter self = (UnityEngine.AudioLowPassFilter)checkSelf(l);
         pushValue(l, self.lowpassResonanceQ);
         return(1);
     }
     catch (Exception e) {
         LuaDLL.luaL_error(l, e.ToString());
         return(0);
     }
 }
 static public int constructor(IntPtr l)
 {
     try {
         UnityEngine.AudioLowPassFilter o;
         o = new UnityEngine.AudioLowPassFilter();
         pushValue(l, true);
         pushValue(l, o);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
コード例 #15
0
 public static int constructor(IntPtr l)
 {
     try {
         UnityEngine.AudioLowPassFilter o;
         o=new UnityEngine.AudioLowPassFilter();
         pushValue(l,o);
         return 1;
     }
     catch(Exception e) {
         LuaDLL.luaL_error(l, e.ToString());
         return 0;
     }
 }
コード例 #16
0
 static public int constructor(IntPtr l)
 {
     LuaDLL.lua_remove(l, 1);
     UnityEngine.AudioLowPassFilter o;
     if (matchType(l, 1))
     {
         o = new UnityEngine.AudioLowPassFilter();
         pushObject(l, o);
         return(1);
     }
     LuaDLL.luaL_error(l, "New object failed.");
     return(0);
 }
コード例 #17
0
 static public int constructor(IntPtr l)
 {
     try {
         UnityEngine.AudioLowPassFilter o;
         o = new UnityEngine.AudioLowPassFilter();
         pushValue(l, o);
         return(1);
     }
     catch (Exception e) {
         LuaDLL.luaL_error(l, e.ToString());
         return(0);
     }
 }
コード例 #18
0
 static public int set_lowpassResonanceQ(IntPtr l)
 {
     try {
         UnityEngine.AudioLowPassFilter self = (UnityEngine.AudioLowPassFilter)checkSelf(l);
         float v;
         checkType(l, 2, out v);
         self.lowpassResonanceQ = v;
         return(0);
     }
     catch (Exception e) {
         LuaDLL.luaL_error(l, e.ToString());
         return(0);
     }
 }
コード例 #19
0
 static public int set_cutoffFrequency(IntPtr l)
 {
     try {
         UnityEngine.AudioLowPassFilter self = (UnityEngine.AudioLowPassFilter)checkSelf(l);
         float v;
         checkType(l, 2, out v);
         self.cutoffFrequency = v;
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
コード例 #20
0
 static public int set_customCutoffCurve(IntPtr l)
 {
     try {
         UnityEngine.AudioLowPassFilter self = (UnityEngine.AudioLowPassFilter)checkSelf(l);
         UnityEngine.AnimationCurve     v;
         checkType(l, 2, out v);
         self.customCutoffCurve = v;
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
コード例 #21
0
 static public int set_lowpassResonanceQ(IntPtr l)
 {
     try {
         UnityEngine.AudioLowPassFilter self = (UnityEngine.AudioLowPassFilter)checkSelf(l);
         float v;
         checkType(l, 2, out v);
         self.lowpassResonanceQ = v;
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
コード例 #22
0
 static void AudioLowPassFilter_customCutoffCurve(JSVCall vc)
 {
     if (vc.bGet)
     {
         UnityEngine.AudioLowPassFilter _this = (UnityEngine.AudioLowPassFilter)vc.csObj;
         var result = _this.customCutoffCurve;
         JSMgr.datax.setObject((int)JSApi.SetType.Rval, result);
     }
     else
     {
         UnityEngine.AnimationCurve     arg0  = (UnityEngine.AnimationCurve)JSMgr.datax.getObject((int)JSApi.GetType.Arg);
         UnityEngine.AudioLowPassFilter _this = (UnityEngine.AudioLowPassFilter)vc.csObj;
         _this.customCutoffCurve = arg0;
     }
 }
コード例 #23
0
 static void AudioLowPassFilter_lowpassResonaceQ(JSVCall vc)
 {
     if (vc.bGet)
     {
         UnityEngine.AudioLowPassFilter _this = (UnityEngine.AudioLowPassFilter)vc.csObj;
         var result = _this.lowpassResonaceQ;
         JSApi.setSingle((int)JSApi.SetType.Rval, (System.Single)(result));
     }
     else
     {
         System.Single arg0 = (System.Single)JSApi.getSingle((int)JSApi.GetType.Arg);
         UnityEngine.AudioLowPassFilter _this = (UnityEngine.AudioLowPassFilter)vc.csObj;
         _this.lowpassResonaceQ = arg0;
     }
 }
コード例 #24
0
// fields

// properties
    static void AudioLowPassFilter_cutoffFrequency(JSVCall vc)
    {
        if (vc.bGet)
        {
            UnityEngine.AudioLowPassFilter _this = (UnityEngine.AudioLowPassFilter)vc.csObj;
            var result = _this.cutoffFrequency;
            JSApi.setSingle((int)JSApi.SetType.Rval, (System.Single)(result));
        }
        else
        {
            System.Single arg0 = (System.Single)JSApi.getSingle((int)JSApi.GetType.Arg);
            UnityEngine.AudioLowPassFilter _this = (UnityEngine.AudioLowPassFilter)vc.csObj;
            _this.cutoffFrequency = arg0;
        }
    }
コード例 #25
0
 //Checks for other instance
 //Methods
 void Awake()
 {
     lowPass = this.gameObject.GetComponent<AudioLowPassFilter>();
     source = this.gameObject.GetComponent<AudioSource>();
     source.Stop();
     if (instance != null && instance != this)
     {
         Destroy(this.gameObject);
         return;
     }
     else
     {
         instance = this;
     }
     DontDestroyOnLoad(this.gameObject);
 }
コード例 #26
0
        /// <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.AudioLowPassFilter audioLowPassFilter = (UnityEngine.AudioLowPassFilter)value;
            foreach (string property in reader.Properties)
            {
                switch (property)
                {
                case "cutoffFrequency":
                    audioLowPassFilter.cutoffFrequency = reader.ReadProperty <System.Single> ();
                    break;

                case "customCutoffCurve":
                    audioLowPassFilter.customCutoffCurve = reader.ReadProperty <UnityEngine.AnimationCurve> ();
                    break;

                case "lowpassResonanceQ":
                    audioLowPassFilter.lowpassResonanceQ = reader.ReadProperty <System.Single> ();
                    break;

                case "enabled":
                    audioLowPassFilter.enabled = reader.ReadProperty <System.Boolean> ();
                    break;

                case "tag":
                    audioLowPassFilter.tag = reader.ReadProperty <System.String> ();
                    break;

                case "name":
                    audioLowPassFilter.name = reader.ReadProperty <System.String> ();
                    break;

                case "hideFlags":
                    audioLowPassFilter.hideFlags = reader.ReadProperty <UnityEngine.HideFlags> ();
                    break;
                }
            }
        }
コード例 #27
0
 private void HandleLowPassFilter()
 {
     AudioCurveWrapper wrapper = this.m_AudioCurves[3];
     AudioLowPassFilter[] objs = new AudioLowPassFilter[base.targets.Length];
     for (int i = 0; i < base.targets.Length; i++)
     {
         objs[i] = ((AudioSource) base.targets[i]).GetComponent<AudioLowPassFilter>();
         if (objs[i] == null)
         {
             this.m_LowpassObject = null;
             wrapper.curveProp = null;
             return;
         }
     }
     if (wrapper.curveProp == null)
     {
         this.m_LowpassObject = new SerializedObject(objs);
         wrapper.curveProp = this.m_LowpassObject.FindProperty("lowpassLevelCustomCurve");
     }
 }
コード例 #28
0
 /// <summary>
 /// Read the data using the reader.
 /// </summary>
 /// <param name="reader">Reader.</param>
 public override object Read(ISaveGameReader reader)
 {
     UnityEngine.AudioLowPassFilter audioLowPassFilter = SaveGameType.CreateComponent <UnityEngine.AudioLowPassFilter> ();
     ReadInto(audioLowPassFilter, reader);
     return(audioLowPassFilter);
 }
コード例 #29
0
ファイル: AudioUtil.cs プロジェクト: randomize/VimConfig
 public static extern AnimationCurve GetLowpassCurve(AudioLowPassFilter lowPassFilter);
コード例 #30
0
ファイル: ModuleWeapon.cs プロジェクト: Yskinator/BDArmory
        void SetupAudio()
        {
            fireSound = GameDatabase.Instance.GetAudioClip(fireSoundPath);
            overheatSound = GameDatabase.Instance.GetAudioClip(overheatSoundPath);
            if(!audioSource)
            {
                audioSource = gameObject.AddComponent<AudioSource>();
                audioSource.bypassListenerEffects = true;
                audioSource.minDistance = .3f;
                audioSource.maxDistance = 1000;
                audioSource.priority = 10;
                audioSource.dopplerLevel = 0;
            }

            if(!audioSource2)
            {
                audioSource2 = gameObject.AddComponent<AudioSource>();
                audioSource2.bypassListenerEffects = true;
                audioSource2.minDistance = .3f;
                audioSource2.maxDistance = 1000;
                audioSource2.dopplerLevel = 0;
                audioSource2.priority = 10;
            }

            if(reloadAudioPath != string.Empty)
            {
                reloadAudioClip = (AudioClip) GameDatabase.Instance.GetAudioClip(reloadAudioPath);
            }
            if(reloadCompletePath != string.Empty)
            {
                reloadCompleteAudioClip = (AudioClip) GameDatabase.Instance.GetAudioClip(reloadCompletePath);
            }

            if(!lowpassFilter)
            {
                lowpassFilter = gameObject.AddComponent<AudioLowPassFilter>();
                lowpassFilter.cutoffFrequency = BDArmorySettings.IVA_LOWPASS_FREQ;
                lowpassFilter.lowpassResonaceQ = 1f;
            }

            UpdateVolume();
        }
コード例 #31
0
    // Use this for initialization
    void Start()
    {
        //Start music
        for(int i = 0; i < maxTrackCount ; i++)
            audioSourceArray[i].Play();

        // Initialize array to 1 if not set in editor
        for(int i = 0; i < scalingPerDecadeArray.Length; i++)
            if(scalingPerDecadeArray[i] == 0)
                scalingPerDecadeArray[i] = 1.0f;

        if(audioSourceArray[0].clip != null)
            currentlyPlayingFileName = audioSourceArray[0].clip.name;

        lowPassFilter = (AudioLowPassFilter)GetComponent("AudioLowPassFilter");
        mainCamera = (Camera)GameObject.FindWithTag("MainCamera").GetComponent("Camera"); // read only, don't need to account for L+R cameras
        initialFOV = ( (PlayerScript)GameObject.FindGameObjectWithTag("Player").GetComponent("PlayerScript") ).originalFieldOfView;

        if(isLiveAudio)
        {
            Debug.Log(Microphone.devices[0]);
            liveAudioSource = gameObject.AddComponent<AudioSource>();
            liveAudioSource.loop = true;
            liveAudioSource.volume = 1.0f;
            liveAudioSource.mute = false;
            liveAudioSource.playOnAwake = true;

            liveAudioSource.clip = Microphone.Start(Microphone.devices[0], true, 1, 44100);
            liveAudioSource.Play();
        }
    }
コード例 #32
0
 private static extern void SetCustomLowpassLevelCurveHelper([NotNull("NullExceptionObject")] AudioLowPassFilter source, AnimationCurve curve);
コード例 #33
0
		private void HandleLowPassFilter()
		{
			AudioSourceInspector.AudioCurveWrapper audioCurveWrapper = this.m_AudioCurves[3];
			AudioLowPassFilter[] array = new AudioLowPassFilter[base.targets.Length];
			for (int i = 0; i < base.targets.Length; i++)
			{
				array[i] = ((AudioSource)base.targets[i]).GetComponent<AudioLowPassFilter>();
				if (array[i] == null)
				{
					this.m_LowpassObject = null;
					audioCurveWrapper.curveProp = null;
					this.m_CutoffFrequency = null;
					return;
				}
			}
			if (audioCurveWrapper.curveProp == null)
			{
				this.m_LowpassObject = new SerializedObject(array);
				this.m_CutoffFrequency = this.m_LowpassObject.FindProperty("m_CutoffFrequency");
				audioCurveWrapper.curveProp = this.m_LowpassObject.FindProperty("lowpassLevelCustomCurve");
			}
		}
コード例 #34
0
 private void reset_lowpass_filter(AudioLowPassFilter alpf)
 {
     //reset lowpass filter to default
     foreach (ConfigNode filter in filter_defaults.nodes)
     {
         if (filter.name == "LOWPASS")
         {
             if (filter.HasValue("cutoff_freq")) alpf.cutoffFrequency = Single.Parse(filter.GetValue("cutoff_freq"));
             if (filter.HasValue("resonance_q")) alpf.lowpassResonanceQ = Single.Parse(filter.GetValue("resonance_q"));
         }
     }
 }
コード例 #35
0
        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;
        }
コード例 #36
0
ファイル: MainLogic.cs プロジェクト: Leeingnyo/Hatchwotna
 // Use this for initialization
 void Start()
 {
     fakeDmgSum1 = 0;
     fakeDmgSum2 = 0;
     demon.transform.position = new Vector3 (0, 0.6f, 0); //악마 이미지 위치 설정
     timerSum = 0; //누적 타이머 초기화
     damageSum1 = 0; //누적 피해 초기화1
     damage1 = 0; //현재 피해 초기화1
     damageSum2 = 0; //누적 피해 초기화2
     damage2 = 0; //현재 피해 초기화2
     bossMaxHp = 1000; //보스 최대 체력 초기화
     bossHp = bossMaxHp; //보스 현재 체력 초기화
     countstate = 4;
     timer=(float)(UnityEngine.Random.Range(timerMinRange, timerMaxRange))/100f; //다음 해치웠나? 타이머 시간 설정
     hpgreen.GetComponent<SpriteRenderer>().color = new Color(0, 0.9f, 0); //체력바 초록색 설정
     filter = GetComponent<AudioLowPassFilter>();
 }
コード例 #37
0
 public override void OnEnable() => Component = gameObject.GetComponent <UnityEngine.AudioLowPassFilter>();
コード例 #38
0
ファイル: Chatterer.cs プロジェクト: pizzaoverhead/Chatterer
        //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...");
        }
コード例 #39
0
    // Use this for initialization
    void Start()
    {
        #if UNITY_EDITOR
        if (TestNewGame)
            HarmonicSerialization.Instance.IsNewGame = true;
        #endif

        if (HarmonicSerialization.Instance.IsNewGame)
        {
            blurrer = Camera.main.GetComponent<BlurOptimized>();
            blurrer.enabled = true;
            blurrer.blurSize = 5;
            topSlit.enabled = true;
            bottomSlit.enabled = true;
            ClockCanvas.enabled = false;
            Spotlight1.intensity = Spotlight2.intensity = 0;
            computerVoiceAudio = this.gameObject.AddComponent<AudioSource>();
            computerVoiceAudio.clip = WakeyWakey;
            computerVoiceAudio.playOnAwake = false;
            filter = this.gameObject.AddComponent<AudioLowPassFilter>();
            filter.cutoffFrequency = 800f;
            Radio.Instance.Primary.volume = .25f;
            StartCoroutine(MoveSlits());
        }
        else
        {
            DestroySlits();
            this.enabled = false;
            GameObject.Destroy(EmergencyLight);

            if (TestTutorial && GameObject.Find("Tutorial") == null)
            {
                HarmonicSerialization.Instance.CurrentSave = SaveGame.GetNewDefault("DEBUG");
                StartTutorialScript();
            }
        }
    }
コード例 #40
0
    // Use this for initialization
    void Start()
    {
        //Start music
        for(int i = 0; i < maxTrackCount ; i++)
            audioSourceArray[i].Play();

        // Initialize array to 1 if not set in editor
        for(int i = 0; i < scalingPerDecadeArray.Length; i++)
            if(scalingPerDecadeArray[i] == 0)
                scalingPerDecadeArray[i] = 1.0f;

        if(audioSourceArray[0].clip != null)
            currentlyPlayingFileName = audioSourceArray[0].clip.name;

        lowPassFilter = (AudioLowPassFilter)GetComponent("AudioLowPassFilter");
        mainCamera = (Camera)GameObject.FindWithTag("MainCamera").GetComponent("Camera"); // read only, don't need to account for L+R cameras
        initialFOV = ( (PlayerScript)GameObject.FindGameObjectWithTag("Player").GetComponent("PlayerScript") ).originalFieldOfView;
    }
コード例 #41
0
 extern static private void SetCustomLowpassLevelCurveHelper(AudioLowPassFilter source, AnimationCurve curve);
コード例 #42
0
 /// <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;
     }
 }
コード例 #43
0
 private void HandleLowPassFilter()
 {
   AudioSourceInspector.AudioCurveWrapper audioCurve = this.m_AudioCurves[3];
   AudioLowPassFilter[] audioLowPassFilterArray = new AudioLowPassFilter[this.targets.Length];
   for (int index = 0; index < this.targets.Length; ++index)
   {
     audioLowPassFilterArray[index] = ((Component) this.targets[index]).GetComponent<AudioLowPassFilter>();
     if ((UnityEngine.Object) audioLowPassFilterArray[index] == (UnityEngine.Object) null)
     {
       this.m_LowpassObject = (SerializedObject) null;
       audioCurve.curveProp = (SerializedProperty) null;
       return;
     }
   }
   if (audioCurve.curveProp != null)
     return;
   this.m_LowpassObject = new SerializedObject((UnityEngine.Object[]) audioLowPassFilterArray);
   audioCurve.curveProp = this.m_LowpassObject.FindProperty("lowpassLevelCustomCurve");
 }
コード例 #44
0
	// Use this for initialization
	void Start () {
		lowPass = gameObject.GetComponent<AudioLowPassFilter>();
	}
コード例 #45
0
 static public int get_cutoffFrequency(IntPtr l)
 {
     UnityEngine.AudioLowPassFilter o = (UnityEngine.AudioLowPassFilter)checkSelf(l);
     pushValue(l, o.cutoffFrequency);
     return(1);
 }
コード例 #46
0
    // Use this for initialization
    void Start()
    {
        //load the concrete footstep clips
        concreteFootsteps =  new AudioClip[]
        {
            Resources.Load("Sound/concrete1")   as AudioClip,
            Resources.Load("Sound/concrete2")   as AudioClip,
            Resources.Load("Sound/concrete4")   as AudioClip,
            Resources.Load("Sound/concrete6")   as AudioClip

        };

        // initialise walk logic
        walkSpeed = 0.4f;
        legPan = 0.3f;
        myAudio = GetComponent<AudioSource>();
        myAudio.spatialBlend = 0f; //use 2D audio (save uses of 3Dception)
        myAudio.reverbZoneMix = 1f; //use reverb zones
        myAudio.panStereo = -legPan; //left foot first (source panned 50% left)
        isLeftLeg = true;
        footFilter = GetComponent<AudioLowPassFilter>();
        filterCut = 5000;
        footFilter.cutoffFrequency = filterCut;
    }
コード例 #47
0
 static public int get_lowpassResonaceQ(IntPtr l)
 {
     UnityEngine.AudioLowPassFilter o = (UnityEngine.AudioLowPassFilter)checkSelf(l);
     pushValue(l, o.lowpassResonaceQ);
     return(1);
 }
コード例 #48
0
    private void Start()
    {
        // Load audio clips.
        _virusTurnBgm = Resources.Load<AudioClip>("Audio/" + "Droid Glitch");
        _WBCTurnBgm = Resources.Load<AudioClip>("Audio/" + "Disco Century");

        _titleScreen = Resources.Load<AudioClip>("Audio/" + "TitleScreen");
        _victory = Resources.Load<AudioClip>("Audio/" + "Victory");
        _pauseMenu = Resources.Load<AudioClip>("Audio/" + "PauseMenu");

        // Get the Audio Source and enable sound looping.
        Source = GetComponent<AudioSource>();

        Fader = gameObject.AddComponent<FadingAudioSource>();
        Source.loop = true;

        //Set the volume.
        Source.volume = 0.7f;

        // Enable filter for battle mode.
        _lowFilter = gameObject.AddComponent<AudioLowPassFilter>();
        _lowFilter.cutoffFrequency = 600;
        _lowFilter.enabled = false;

        _bgm = _virusTurnBgm;

        // Start playing audio clip.
        Source.clip = _bgm;
        //Source.Play();
    }
コード例 #49
0
ファイル: UnderwaterSound.cs プロジェクト: solsticehc/citadel
 void Start()
 {
     filter =  GetComponent<AudioLowPassFilter>();
     filter.enabled = false;
 }
コード例 #50
0
 void Start()
 {
     lp = LowPass.GetComponent<AudioLowPassFilter>();
     up = 0;
 }