home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / os2sdk / os2sdk11 / petzold / chap08 / organ.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-02-20  |  3.1 KB  |  77 lines

  1. /*---------------------
  2.    ORGAN.H header file
  3.   ---------------------*/
  4.  
  5. #define NUMSCANS    (sizeof key / sizeof key[0])
  6.  
  7. struct
  8.      {
  9.      SHORT sOctave ;
  10.      SHORT sNote ;
  11.      SHORT yPos ;
  12.      SHORT xPos ;
  13.      CHAR  *szKey ;
  14.      }
  15.      key [] =
  16.      {
  17.                               // Scan  Char  Oct  Note
  18.                               // ----  ----  ---  ----
  19.      -1, -1, -1, -1, NULL,    //   0   None
  20.      -1, -1, -1, -1, NULL,    //   1   Esc
  21.      -1, -1,  3,  0, "",      //   2     1
  22.       4,  1,  3,  2, "C#",    //   3     2    4    C#
  23.       4,  3,  3,  4, "D#",    //   4     3    4    D#
  24.      -1, -1,  3,  6, "",      //   5     4
  25.       4,  6,  3,  8, "F#",    //   6     5    4    F#
  26.       4,  8,  3, 10, "G#",    //   7     6    4    G#
  27.       4, 10,  3, 12, "A#",    //   8     7    4    A#
  28.      -1, -1,  3, 14, "",      //   9     8
  29.       5,  1,  3, 16, "C#",    //  10     9    5    C#
  30.       5,  3,  3, 18, "D#",    //  11     0    5    D#
  31.      -1, -1,  3, 20, "",      //  12     -
  32.       5,  6,  3, 22, "F#",    //  13     =    5    F#
  33.      -1, -1, -1, -1, NULL,    //  14    Back
  34.  
  35.      -1, -1, -1, -1, NULL,    //  15    Tab
  36.       4,  0,  2,  1, "C",     //  16     q    4    C
  37.       4,  2,  2,  3, "D",     //  17     w    4    D
  38.       4,  4,  2,  5, "E",     //  18     e    4    E
  39.       4,  5,  2,  7, "F",     //  19     r    4    F
  40.       4,  7,  2,  9, "G",     //  20     t    4    G
  41.       4,  9,  2, 11, "A",     //  21     y    4    A
  42.       4, 11,  2, 13, "B",     //  22     u    4    B
  43.       5,  0,  2, 15, "C",     //  23     i    5    C
  44.       5,  2,  2, 17, "D",     //  24     o    5    D
  45.       5,  4,  2, 19, "E",     //  25     p    5    E
  46.       5,  5,  2, 21, "F",     //  26     [    5    F
  47.       5,  7,  2, 23, "G",     //  27     ]    5    G
  48.      -1, -1, -1, -1, NULL,    //  28    Ent
  49.  
  50.      -1, -1, -1, -1, NULL,    //  29    Ctrl
  51.       2,  8,  1,  2, "G#",    //  30     a    2    G#
  52.       2, 10,  1,  4, "A#",    //  31     s    2    A#
  53.      -1, -1,  1,  6, "",      //  32     d
  54.       3,  1,  1,  8, "C#",    //  33     f    3    C#
  55.       3,  3,  1, 10, "D#",    //  34     g    3    D#
  56.      -1, -1,  1, 12, "",      //  35     h
  57.       3,  6,  1, 14, "F#",    //  36     j    3    F#
  58.       3,  8,  1, 16, "G#",    //  37     k    3    G#
  59.       3, 10,  1, 18, "A#",    //  38     l    3    A#
  60.      -1, -1,  1, 20, "",      //  39     ;
  61.       4,  1,  1, 22, "C#",    //  40     '    4    C#
  62.      -1, -1, -1, -1, NULL,    //  41     `
  63.  
  64.      -1, -1, -1, -1, NULL,    //  42    Shift
  65.      -1, -1, -1, -1, NULL,    //  43     \
  66.       2,  9,  0,  3, "A",     //  44     z    2    A
  67.       2, 11,  0,  5, "B",     //  45     x    2    B
  68.       3,  0,  0,  7, "C",     //  46     c    3    C
  69.       3,  2,  0,  9, "D",     //  47     v    3    D
  70.       3,  4,  0, 11, "E",     //  48     b    3    E
  71.       3,  5,  0, 13, "F",     //  49     n    3    F
  72.       3,  7,  0, 15, "G",     //  50     m    3    G
  73.       3,  9,  0, 17, "A",     //  51     ,    3    A
  74.       3, 11,  0, 19, "B",     //  52     .    3    B
  75.       4,  0,  0, 21, "C"      //  53     /    4    C
  76.      } ;
  77.