[fpc-pascal] MIDI & Kylix
Peter H.M. Brooks
peter at new.co.za
Fri Jan 14 04:49:19 CET 2005
Pedro Lopez-Cabanillas wrote:
>On Thursday 13 January 2005 20:38, Peter H.M. Brooks wrote:
>>I've been enjoying looking through these. Your smf.pas unit looks
>>perfect for my requirements - it's nicely put together.
>>I'm using fpc, not kylix, and I it chokes over the variable length array
>>"fred : array of byte" is illegal in fpc, but presumably fine in Kylix.
>>Have you got a version that has compiled in fpc? I've tried setting the
>>Delphi compatability switches but it doesn't help. I could set it up as
>>a fixed length array and modify the code where necessary, but, if you do
>>have a version that works with fpc then I'd rather use that!
>>While I'm asking, I don't suppose that you have a sample program that
>>uses the unit, do you? It isn't, of course, necessary, but it would be
>>nice to see, if you have one.
>I've uploaded the latests sources (one year old) here:
>You need to use FPC 1.9.4 or later; 1.9.6 should work, as Jonas pointed,
>because I'm using some features not available in older releases.
>There is an example program "spysmf.pas", that shows how to read and dump a
>MIDI file contents to stdout. To create a MIDI file from scratch is very
>similar: First create an instance of the component, assign some properties as
>Division, Number of Tracks, and FileFormat (0 or 1). You should also assign
>event handlers for the OnWriteTrack (and optionally OnWriteTempoTrack)
>events. Inside these handlers you should issue calls to the methods
>WriteMidiEvent, WriteMetaEvent etc.; to start the output, invoke WriteToFile
>or WriteToStream and the engine shall perform the calls to your supplied
>handlers. That's all (more or less) ;-)
Brilliant! Thank you very much....!
More information about the fpc-pascal