public void Set(Automation.TargetParam param, float value)
		{
			if (m_ignoreParam.Contains(param))					// 무시 목록에 없을 때만 실행한다.
				return;

			var info	= s_infoDict[param];
			if (info.mixerParamName != null)					// ExposedParam을 조절하는 케이스
			{
				m_mixer.SetFloat(info.mixerParamName, info.ToMixerParamValue(value));
			}
			else
			{													// Snapshot을 조절하는 케이스
				AudioMixerSnapshot [] snapshots;
				if (!m_snapshotDict.TryGetValue(param, out snapshots))	// 해당 파라미터에 맞는 스냅샷 목록을 아직 레퍼런스로 소유하고 있지 않다면, 찾아서 등록
				{
					int namecount	= info.snapshotNames.Length;
					snapshots		= new AudioMixerSnapshot[namecount];
					for (int i = 0; i < namecount; i++)
					{
						snapshots[i]	= m_mixer.FindSnapshot(info.snapshotNames[i]);
					}
					m_snapshotDict[param]	= snapshots;
				}

				var calcvalue				= info.ToMixerParamValue(value);
				_temp_snapshot_weight[0]	= 1 - calcvalue;
				_temp_snapshot_weight[1]	= calcvalue;
				m_mixer.TransitionToSnapshots(snapshots, _temp_snapshot_weight, 0.1f);
			}
		}
Example #2
0
 void Output(Automation auto)
 {
     string output = "";
     for (int i = 0; i < 11; i++)
     {
         output += string.Format("{0}, ", auto.GetValue((float)i * 0.1f));
     }
     Debug.Log(output);
 }
Example #3
0
    // Use this for initialization
    void Start()
    {
        var intro_vol			= new Automation();
        intro_vol.targetParam	= Automation.TargetParam.Volume;
        intro_vol.AddPoint(0, 0);
        intro_vol.AddPoint(0.5f, 1);
        intro_vol.AddPoint(1.0f, 1);

        Output(intro_vol);

        var intro_lowcut		= new Automation();
        intro_lowcut.targetParam	= Automation.TargetParam.LowCut;
        intro_lowcut.AddPoint(0, 1);
        intro_lowcut.AddPoint(0.5f, 1);
        intro_lowcut.AddPoint(0.5f, 0);
        intro_lowcut.AddPoint(1, 0);

        Output(intro_lowcut);
    }
Example #4
0
        public static TransitionScenario GenTestScenario2()
        {
            var scen = new TransitionScenario();

            var intro_vol = new Automation();

            intro_vol.targetParam = Automation.TargetParam.Volume;
            intro_vol.AddPoint(0, 0);
            intro_vol.AddPoint(0.5f, 1);
            intro_vol.AddPoint(1.0f, 1);
            scen.AddIntroAutomation(intro_vol);
            var intro_lowcut = new Automation();

            intro_lowcut.targetParam = Automation.TargetParam.LowCut;
            intro_lowcut.AddPoint(0, 1);
            intro_lowcut.AddPoint(0.5f, 1);
            intro_lowcut.AddPoint(0.5f, 0);
            intro_lowcut.AddPoint(1, 0);
            scen.AddIntroAutomation(intro_lowcut);

            var outro_vol = new Automation();

            outro_vol.targetParam = Automation.TargetParam.Volume;
            outro_vol.AddPoint(0, 1);
            outro_vol.AddPoint(0.5f, 1);
            outro_vol.AddPoint(1, 0);
            scen.AddOutroAutomation(outro_vol);
            var outro_lowcut = new Automation();

            outro_lowcut.targetParam = Automation.TargetParam.LowCut;
            outro_lowcut.AddPoint(0, 0);
            outro_lowcut.AddPoint(0.5f, 0);
            outro_lowcut.AddPoint(0.5f, 1);
            outro_lowcut.AddPoint(1, 1);
            scen.AddOutroAutomation(outro_lowcut);

            return(scen);
        }
Example #5
0
        static Automation[] TestAutomation()
        {
            var tenauto1 = new Automation();

            tenauto1.targetParam = Automation.TargetParam.Volume;
            tenauto1.AddPoint(0, 0);
            tenauto1.AddPoint(0.75f, 1);

            var tenauto2 = new Automation();

            tenauto2.targetParam = Automation.TargetParam.Volume;
            tenauto2.AddPoint(0, 0);
            tenauto2.AddPoint(0.25f, 0);
            tenauto2.AddPoint(0.5f, 1);

            var tenauto3 = new Automation();

            tenauto3.targetParam = Automation.TargetParam.Volume;
            tenauto3.AddPoint(0, 0);
            tenauto3.AddPoint(0.5f, 0);
            tenauto3.AddPoint(1f, 1);

            return(new Automation[] { tenauto1, tenauto2, tenauto3 });
        }
		/// <summary>
		/// 오토메이션 적용을 무시할 파라미터 세팅
		/// </summary>
		/// <param name="param"></param>
		public void AddParamToIgnore(Automation.TargetParam param)
		{
			m_ignoreParam.Add(param);
		}
		/// <summary>
		/// 볼륨만 컨트롤한다.
		/// </summary>
		/// <param name="param"></param>
		/// <param name="value"></param>
		public void Set(Automation.TargetParam param, float value)
		{
			if(param == Automation.TargetParam.Volume)
			{
				m_source.volume	= value;
			}
		}
 public void AddOutroAutomation(Automation auto)
 {
     m_outroAutomations.Add(auto);
 }
 public void AddIntroAutomation(Automation auto)
 {
     m_introAutomations.Add(auto);
 }
 public void AddOutroAutomation(Automation auto)
 {
     m_outroAutomations.Add(auto);
 }
 public void AddIntroAutomation(Automation auto)
 {
     m_introAutomations.Add(auto);
 }
Example #12
0
 /// <summary>
 /// tension 오토메이션 클립 추가
 /// </summary>
 /// <param name="auto"></param>
 public void AddTensionAutomation(Automation auto)
 {
     m_tensionAutomations.Add(auto);
 }
Example #13
0
        public static TransitionScenario GenTestScenario2()
        {
            var scen				= new TransitionScenario();

            var intro_vol			= new Automation();
            intro_vol.targetParam	= Automation.TargetParam.Volume;
            intro_vol.AddPoint(0, 0);
            intro_vol.AddPoint(0.5f, 1);
            intro_vol.AddPoint(1.0f, 1);
            scen.AddIntroAutomation(intro_vol);
            var intro_lowcut		= new Automation();
            intro_lowcut.targetParam	= Automation.TargetParam.LowCut;
            intro_lowcut.AddPoint(0, 1);
            intro_lowcut.AddPoint(0.5f, 1);
            intro_lowcut.AddPoint(0.5f, 0);
            intro_lowcut.AddPoint(1, 0);
            scen.AddIntroAutomation(intro_lowcut);

            var outro_vol			= new Automation();
            outro_vol.targetParam	= Automation.TargetParam.Volume;
            outro_vol.AddPoint(0, 1);
            outro_vol.AddPoint(0.5f, 1);
            outro_vol.AddPoint(1, 0);
            scen.AddOutroAutomation(outro_vol);
            var outro_lowcut		= new Automation();
            outro_lowcut.targetParam	= Automation.TargetParam.LowCut;
            outro_lowcut.AddPoint(0, 0);
            outro_lowcut.AddPoint(0.5f, 0);
            outro_lowcut.AddPoint(0.5f, 1);
            outro_lowcut.AddPoint(1, 1);
            scen.AddOutroAutomation(outro_lowcut);

            return scen;
        }
Example #14
0
        static Automation[] TestAutomation()
        {
            var tenauto1			= new Automation();
            tenauto1.targetParam	= Automation.TargetParam.Volume;
            tenauto1.AddPoint(0, 0);
            tenauto1.AddPoint(0.75f, 1);

            var tenauto2			= new Automation();
            tenauto2.targetParam	= Automation.TargetParam.Volume;
            tenauto2.AddPoint(0, 0);
            tenauto2.AddPoint(0.25f, 0);
            tenauto2.AddPoint(0.5f, 1);

            var tenauto3			= new Automation();
            tenauto3.targetParam	= Automation.TargetParam.Volume;
            tenauto3.AddPoint(0, 0);
            tenauto3.AddPoint(0.5f, 0);
            tenauto3.AddPoint(1f, 1);

            return new Automation[] { tenauto1, tenauto2, tenauto3 };
        }
Example #15
0
 /// <summary>
 /// tension 오토메이션 클립 추가
 /// </summary>
 /// <param name="auto"></param>
 public void AddTensionAutomation(Automation auto)
 {
     m_tensionAutomations.Add(auto);
 }