I am now suspecting a Visual C++ bug for this problem. I have been
running the 'mftext' program in the Thompson-Czeiszperger suite, and
checking each step against the elpelele.mid file. That program also
exits with an 'unexpected EOF message.
There is a clear anomaly, as seen in the following output:
Time=90428 Note off, chan=1 pitch=63 vol=0 filepos = 15811
Time=90472 Note on, chan=1 pitch=69 vol=62 filepos = 15815
Time=90476 Note on, chan=1 pitch=65 vol=128 filepos = 16385
Time=90550 Note on, chan=1 pitch=0 vol=4 filepos = 16388
Time=90625 Note on, chan=1 pitch=0 vol=24 filepos = 16392
as can be seen in the 578-byte jump (which crosses a sector boundary,
which may or may not be significant), and the bad values for pitch and
volume.
Inspection shows that these are not errors in elpelele.mid. This
therefore looks like a bug in fgetc(), or something. I am going to do a
run under linux and see what happens.
Either way, there may be a case for reading the whole MIDI file into a
memory buffer and scanning from there, rather than fetching a byte at a
time from disk.
Richard Dobson
Michel Jullian wrote:
>
> Now you say this, saolc/Win (the build on Eric's site) didn't manage to
> generate elpelele.aif completely for me either : it crashed about half way and
> left me with a 17M file instead of the 39M I expected from the size of
> elpelele.aif in Eric's examples folder.
>
> So the problem may be Win32-specific and may concern both saolc and sfront.
>
.....
-- Test your DAW with my Soundcard Attrition Page! http://wkweb5.cableinet.co.uk/rwd (LU: 23rd August 1999) CDP: http://www.bath.ac.uk/~masjpf/CDP/CDP.htm (LU: 14th June 1999)
This archive was generated by hypermail 2b29 : Wed May 10 2000 - 12:15:28 EDT