(
SynthDef(\testEvt,{
arg out, gate = 1;
var sint = Blip.ar(440) * Linen.kr(gate,doneAction:2,releaseTime:0.8);
Out.ar(out, Pan2.ar(sint, 0));
}).add();
Synth(\testEvt)
(instrument: \testEvt, freq:220, sustain: inf).play;
(instrument: \testEvt,freq:220).play;
)
SynthDef の後に 1 行目と 2 行目を実行すると、永久に再生されるシンセが作成されますが、3 行目のシンセは生成されたイベントのデフォルト値に従って 0.8 秒間再生されます。
問題は、SynthDef のどこにも「sustain」を使用せず、リネンがあるという理由だけで自動的に使用することです。
同じことが freq では起こりません。イベントは 440 で再生され、220 では再生されません。これは、SynthDef が引数として「freq」を使用しないためです。では、なぜサステインは同じルールに従わないのでしょうか?
また、イベントによって作成されたシンセを参照する方法はありますか? そうすれば、彼らがsustain: inf
議論したときに、後で解放することができます。