File:  [OS/2 SDKs] / pmsdk / samples / petzold / chap08 / organ.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 12:28:22 2018 UTC (7 years, 9 months ago) by root
Branches: msft, MAIN
CVS tags: pmsdk-1989, HEAD
Microsoft OS/2 SDK PM 02-24-1989

/*---------------------
   ORGAN.H header file
  ---------------------*/

#define NUMSCANS    (sizeof key / sizeof key[0])

struct
     {
     SHORT sOctave ;
     SHORT sNote ;
     SHORT yPos ;
     SHORT xPos ;
     CHAR  *szKey ;
     }
     key [] =
     {
                              // Scan  Char  Oct  Note
                              // ----  ----  ---  ----
     -1, -1, -1, -1, NULL,    //   0   None
     -1, -1, -1, -1, NULL,    //   1   Esc
     -1, -1,  3,  0, "",      //   2     1
      4,  1,  3,  2, "C#",    //   3     2    4    C#
      4,  3,  3,  4, "D#",    //   4     3    4    D#
     -1, -1,  3,  6, "",      //   5     4
      4,  6,  3,  8, "F#",    //   6     5    4    F#
      4,  8,  3, 10, "G#",    //   7     6    4    G#
      4, 10,  3, 12, "A#",    //   8     7    4    A#
     -1, -1,  3, 14, "",      //   9     8
      5,  1,  3, 16, "C#",    //  10     9    5    C#
      5,  3,  3, 18, "D#",    //  11     0    5    D#
     -1, -1,  3, 20, "",      //  12     -
      5,  6,  3, 22, "F#",    //  13     =    5    F#
     -1, -1, -1, -1, NULL,    //  14    Back

     -1, -1, -1, -1, NULL,    //  15    Tab
      4,  0,  2,  1, "C",     //  16     q    4    C
      4,  2,  2,  3, "D",     //  17     w    4    D
      4,  4,  2,  5, "E",     //  18     e    4    E
      4,  5,  2,  7, "F",     //  19     r    4    F
      4,  7,  2,  9, "G",     //  20     t    4    G
      4,  9,  2, 11, "A",     //  21     y    4    A
      4, 11,  2, 13, "B",     //  22     u    4    B
      5,  0,  2, 15, "C",     //  23     i    5    C
      5,  2,  2, 17, "D",     //  24     o    5    D
      5,  4,  2, 19, "E",     //  25     p    5    E
      5,  5,  2, 21, "F",     //  26     [    5    F
      5,  7,  2, 23, "G",     //  27     ]    5    G
     -1, -1, -1, -1, NULL,    //  28    Ent

     -1, -1, -1, -1, NULL,    //  29    Ctrl
      2,  8,  1,  2, "G#",    //  30     a    2    G#
      2, 10,  1,  4, "A#",    //  31     s    2    A#
     -1, -1,  1,  6, "",      //  32     d
      3,  1,  1,  8, "C#",    //  33     f    3    C#
      3,  3,  1, 10, "D#",    //  34     g    3    D#
     -1, -1,  1, 12, "",      //  35     h
      3,  6,  1, 14, "F#",    //  36     j    3    F#
      3,  8,  1, 16, "G#",    //  37     k    3    G#
      3, 10,  1, 18, "A#",    //  38     l    3    A#
     -1, -1,  1, 20, "",      //  39     ;
      4,  1,  1, 22, "C#",    //  40     '    4    C#
     -1, -1, -1, -1, NULL,    //  41     `

     -1, -1, -1, -1, NULL,    //  42    Shift
     -1, -1, -1, -1, NULL,    //  43     \
      2,  9,  0,  3, "A",     //  44     z    2    A
      2, 11,  0,  5, "B",     //  45     x    2    B
      3,  0,  0,  7, "C",     //  46     c    3    C
      3,  2,  0,  9, "D",     //  47     v    3    D
      3,  4,  0, 11, "E",     //  48     b    3    E
      3,  5,  0, 13, "F",     //  49     n    3    F
      3,  7,  0, 15, "G",     //  50     m    3    G
      3,  9,  0, 17, "A",     //  51     ,    3    A
      3, 11,  0, 19, "B",     //  52     .    3    B
      4,  0,  0, 21, "C"      //  53     /    4    C
     } ;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.