エンベロープ生成用のパラメータ。
Beispiel #1
0
		/// <summary>
		/// パラメータの正当性をチェック。
		/// </summary>
		/// <param name="parameter">パラメータ</param>
		/// <param name="length">音の長さ</param>
		static void CheckParameter(EnvelopeParameter parameter, int length)
		{
			if(parameter.attackTime < 0)
				throw new ArgumentException("アタックタイムが負");
			if(parameter.decayTime < 0)
				throw new ArgumentException("ディケイタイムが負");
			if(parameter.releaseTime < 0)
				throw new ArgumentException("リリースタイムが負");
			if(parameter.attackTime + parameter.decayTime + parameter.releaseTime > length)
				throw new ArgumentException("音が短すぎ");
		}
Beispiel #2
0
 /// <summary>
 /// パラメータの正当性をチェック。
 /// </summary>
 /// <param name="parameter">パラメータ</param>
 /// <param name="length">音の長さ</param>
 static void CheckParameter(EnvelopeParameter parameter, int length)
 {
     if (parameter.attackTime < 0)
     {
         throw new ArgumentException("アタックタイムが負");
     }
     if (parameter.decayTime < 0)
     {
         throw new ArgumentException("ディケイタイムが負");
     }
     if (parameter.releaseTime < 0)
     {
         throw new ArgumentException("リリースタイムが負");
     }
     if (parameter.attackTime + parameter.decayTime + parameter.releaseTime > length)
     {
         throw new ArgumentException("音が短すぎ");
     }
 }
Beispiel #3
0
		/// <summary>
		/// エンベロープパラメータと元となる Sound を指定して生成。
		/// </summary>
		/// <param name="sound">元となる音</param>
		public Envelope(EnvelopeParameter parameter, Sound sound)
		{
			CheckParameter(parameter, sound.Length);
			this.parameter = parameter;
			this.sound = sound;
		}
Beispiel #4
0
 /// <summary>
 /// エンベロープパラメータと元となる Sound を指定して生成。
 /// </summary>
 /// <param name="sound">元となる音</param>
 public Envelope(EnvelopeParameter parameter, Sound sound)
 {
     CheckParameter(parameter, sound.Length);
     this.parameter = parameter;
     this.sound     = sound;
 }