.TH "MIDI HEADER" 5 MIDI
.SH NAME
MIDI file headers
.SH SYNOPSIS
.B #include <libmidi.h>
.SH DESCRIPTION
Headers and other information may be included in MIDI or MPU format files
by way of a reserved system exclusive manufacturer's ID number.
Of course, no such ID number has been reserved,
so we are using a subid 0x7F under the generic 0x00
(used for miscellaneous manufacturers who didn't buy in when
the manufacturer's ids were being defined).
These two are defined as SUBID_HEADER and ID_MISC, respectively, in libmidi.h.
The format for system exclusive headers is:
.Cs
.ta 0.6i 2i
DATA	SYMBOLIC	DESCRIPTION
F0	SX_CMD	start of system exclusive
00	ID_MISC	generic manufacturer ID
7F	SUBID_HEADER	fake manufacturer sub\-ID for header information
\&.\0.\0.		ASCII characters in the range 0x00 \- 0x7F
F7	SX_EOB	end of system exclusive
.Ce
Programs like da(1) interpret the data bytes as ASCII information.
System exclusive headers can be set up to work with programs like
strings(1), SCCS's what(1), RCS's ident(1), etc.
For example:
.Cs
% da pwgp | head \-11
   ff       ;    0.000      0 reset       system reset
   f0       ;    0.000      1 system exclusive header
    0 7f    ; header id & subid
            ;	$Log: Pecusa Waltz, guitar part$
 4c 6f 67 3a 20 50 65 63
 75 73 61 20 57 61 6c 74
 7a 2c 20 67 75 69 74 61
 72 20 70 61 72 74 24  a
   f7       ;    0.000      2 eob   [  0]     system end of block
 0 c7  1    ;    0.000      3 progc [  1]     program
 0 c8  4    ;    0.000      4 progc [  4]     program
% strings pwgp
$Log: Pecusa Waltz, guitar part$
% ident pwgp
pwgp:
     $Log: Pecusa Waltz, guitar part$
.Ce
.SH SEE ALSO
\fIMIDI 1.0 Detailed Specification\fP
.SH PROPOSER
Peter Langston, Bell Communications Research
(bellcore!psl)
