// attack: from 0 to 1, in time a for a full length
// decay: from 1 to s, in time d
// sustain: s
// attack: from 0 to 1, in time a for a full length
// decay: from 1 to s, in time d
// sustain: s
// if amp > s, we may be in the attack or in the prolonged decay curve
releasetime = (1 - amp / s) * r;
// if amp > s, we may be in the attack or in the prolonged decay curve
releasetime = (1 - amp / s) * r;
- print("ERROR: bgmscript does not define ", e.bgmscript, "\n");
- e.bgmscript = "";
+ printf("ERROR: bgmscript does not define %s\n", e.bgmscript);
+ strunzone(e.bgmscript);
+ e.bgmscript = string_null;
amp = GetCurrentAmplitude(e, e.bgmscripttime - e.bgmscriptstatetime + drawframetime);
e.bgmscriptline = e.bgmscriptline0;
e.bgmscripttime = bgmtime;
// treat this as a stop event for all notes, to prevent sticking keys
amp = GetCurrentAmplitude(e, e.bgmscripttime - e.bgmscriptstatetime + drawframetime);
e.bgmscriptline = e.bgmscriptline0;
e.bgmscripttime = bgmtime;
// treat this as a stop event for all notes, to prevent sticking keys
{
tokenize_console(bufstr_get(bgmscriptbuf, e.bgmscriptline));
if(stof(argv(1)) >= bgmtime || argv(0) != e.bgmscript)
{
tokenize_console(bufstr_get(bgmscriptbuf, e.bgmscriptline));
if(stof(argv(1)) >= bgmtime || argv(0) != e.bgmscript)