I don't understand this procedure at lines 86-88:
procedure audio_extension
.extension$ = if (macintosh or unix) then ".WAV" else ".wav" endif
endproc
Since Mac and Unix are case sensitive, shouldn't the procedure be one that checks to see which case the extension has and then use it instead?