home *** CD-ROM | disk | FTP | other *** search
/ PC Musician 2000 / PC_Musician_2000.iso / PCMUSIC / MISC / PAREQ12A / MTM.H < prev    next >
Encoding:
Text File  |  1996-01-09  |  1.7 KB  |  93 lines

  1. /*
  2.  * Structure to hold the midi notes as we read
  3.  * them in.
  4.  */
  5. struct {
  6.     short note[5000];
  7.     long start[5000];
  8.     long end[5000];
  9.     short swhre;
  10.     short ewhre;
  11. } track[16];
  12. /*
  13.  * Structure to hold time sigs as we read them
  14.  * in.
  15.  */
  16. struct {
  17.     long when;
  18.     short num;
  19.     short dnom;
  20. } tsig[100];
  21. /*
  22.  * Keep track of how many new time sigs we have.
  23.  */
  24. short twhre;
  25. /* measure number */
  26. short measure;
  27. /*
  28.  * Some stuff we use for getting the notes out.
  29.  */
  30. short tr[16];
  31. long ticks, endticks, h_ticks, lasttick;
  32. /*
  33.  * Highest track number we've encountered.  Notice
  34.  * that if this contains int 16, that we have 16
  35.  * tracks, just that we seen track 16.  That may be
  36.  * the *only* track we've seen.  We go through some
  37.  * other convolutions to make sure we don't try to
  38.  * print tracks that don't exist.
  39.  */
  40. short numtracks;
  41. /*
  42.  * beamstyles from .midtomup file
  43.  */
  44. struct {
  45.     int bnum;
  46.     int bdnom;
  47.     char style[40];
  48. } bstyles[50];
  49. int bwhre;
  50. /*
  51.  * translations from .midtomup file
  52.  */
  53. struct {
  54.     int in;
  55.     int out;
  56. } tlate[16];
  57. int tlwhre;
  58. int tied[16];
  59. /*
  60.  * Keeps current measure of notes.  We'll user
  61.  * this to avoid doing two accidentals on the
  62.  * same note in the same measure.
  63.  */
  64. int accnotes[32];
  65. int accwhre;
  66. /*
  67.  * Similar to accnotes, but kept in seven note
  68.  * format.  Instead of midi number, we keep note
  69.  * name (as 1-7), octave, and accidental.
  70.  */
  71. int sccnotes[32][2];
  72. int sccwhre;
  73. /*
  74.  * Hold key signatures offsets.
  75.  */
  76. int key[16];
  77. int hkey[16];
  78. /*
  79.  * tick and new key info
  80.  */
  81. struct {
  82.     long when;
  83.     short nkey;
  84. } midikey[100];
  85. /*
  86.  * What is the current key?
  87.  */
  88. int mwhre;
  89. /*
  90.  * Are we in a triplet?
  91.  */
  92. int triplet;
  93.