... | ... |
@@ -108,7 +108,7 @@ env_off(Envelope *env) { |
108 | 108 |
void |
109 | 109 |
note_on(AudioChannel *channel, Uint16 duration, Uint8 *data, Uint16 len, Uint8 vol, |
110 | 110 |
Uint8 attack, Uint8 decay, Uint8 sustain, Uint8 release, Uint8 pitch, bool loop) { |
111 |
- channel->duration = duration; |
|
111 |
+ channel->duration = duration > 0 ? duration : len / 44.1f; |
|
112 | 112 |
channel->vol_l = (vol >> 4) / 15.0f; |
113 | 113 |
channel->vol_r = (vol & 0xf) / 15.0f; |
114 | 114 |
|