Motti_O

C++ Music Notes

Dec 5th, 2012
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.77 KB | None | 0 0
  1. /*
  2. * Created by Motti Oklander - © 2012
  3. * Use this code at your own risk. The author does not warrant or assume any
  4. * legal liability or responsibility for the accuracy, completeness or usefulness of
  5. * this program code.
  6. */
  7.  
  8. #ifndef _MUSIC_NOTES_H_
  9. #define _MUSIC_NOTES_H_
  10.  
  11. #include <Windows.h>
  12.  
  13. enum NOTES
  14. {
  15.     // OCTAVE 0 Notes
  16.     C0 = 16,
  17.     CSHARP0 = 17,
  18.     D0 = 18,
  19.     DSHARP0 = 19,
  20.     E0 = 21,
  21.     F0 = 22,
  22.     FSHARP0 = 23,
  23.     G0 = 24,
  24.     GSHARP0 = 26,
  25.     A0 = 27,
  26.     ASHARP0 = 29,
  27.     B0 = 31,
  28.  
  29.     // OCTAVE 1 Notes
  30.     C1 = 33,
  31.     CSHARP1 = 35,
  32.     D1 = 37,
  33.     DSHARP1 = 39,
  34.     E1 = 41,
  35.     F1 = 44,
  36.     FSHARP1 = 46,
  37.     G1 = 49,
  38.     GSHARP1 = 52,
  39.     A1 = 55,
  40.     ASHARP1 = 58,
  41.     B1 = 62,
  42.  
  43.     // OCTAVE 2 Notes
  44.     C2 = 65,
  45.     CSHARP2 = 69,
  46.     D2 = 73,
  47.     DSHARP2 = 78,
  48.     E2 = 82,
  49.     F2 = 87,
  50.     FSHARP2 = 92,
  51.     G2 = 98,
  52.     GSHARP2 = 104,
  53.     A2 = 110,
  54.     ASHARP2 = 116,
  55.     B2 = 123,
  56.  
  57.     // OCTAVE 3 Notes
  58.     C3 = 131,
  59.     CSHARP3 = 139,
  60.     D3 = 147,
  61.     DSHARP3 = 155,
  62.     E3 = 165,
  63.     F3 = 175,
  64.     FSHARP3 = 185,
  65.     G3 = 196,
  66.     GSHARP3 = 208,
  67.     A3 = 220,
  68.     ASHARP3 = 233,
  69.     B3 = 245,
  70.  
  71.     // OCTAVE 4 Notes
  72.     C4 = 262,
  73.     CSHARP4 = 277,
  74.     D4 = 294,
  75.     DSHARP4 = 311,
  76.     E4 = 330,
  77.     F4 = 349,
  78.     FSHARP4 = 370,
  79.     G4 = 392,
  80.     GSHARP4 = 415,
  81.     A4 = 440,
  82.     ASHARP4 = 466,
  83.     B4 = 494,
  84.  
  85.     // OCTAVE 5 Notes
  86.     C5 = 523,
  87.     CSHARP5 = 554,
  88.     D5 = 587,
  89.     DSHARP5 = 622,
  90.     E5 = 659,
  91.     F5 = 698,
  92.     FSHARP5 = 740,
  93.     G5 = 784,
  94.     GSHARP5 = 831,
  95.     A5 = 880,
  96.     ASHARP5 = 932,
  97.     B5 = 988,
  98.  
  99.     // OCTAVE 6 Notes
  100.     C6 = 1046,
  101.     CSHARP6 = 1109,
  102.     D6 = 1175,
  103.     DSHARP6 = 1244,
  104.     E6 = 1328,
  105.     F6 = 1397,
  106.     FSHARP6 = 1480,
  107.     G6 = 1568,
  108.     GSHARP6 = 1661,
  109.     A6 = 1760,
  110.     ASHARP6 = 1865,
  111.     B6 = 1975,
  112.  
  113.     // OCTAVE 7 Notes
  114.     C7 = 2093,
  115.     CSHARP7 = 2217,
  116.     D7 = 2349,
  117.     DSHARP7 = 2489,
  118.     E7 = 2637,
  119.     F7 = 2794,
  120.     FSHARP7 = 2960,
  121.     G7 = 3136,
  122.     GSHARP7 = 3322,
  123.     A7 = 3520,
  124.     ASHARP7 = 3729,
  125.     B7 = 3951
  126. };
  127.  
  128. enum TIME
  129. {
  130.     QUARTER_OF_A_SECOND = 250,
  131.     HALF_A_SECOND = 500,
  132.     SECOND = 1000,
  133.     TWO_SECONDS = 2000,
  134.     THREE_SECONDS = 3000
  135. };
  136.  
  137. class MusicNotes
  138. {
  139. public:
  140.  
  141.     static void Play(NOTES note, int duration)
  142.     {
  143.         Beep(note, duration);
  144.     }
  145.  
  146.     static void Play(NOTES note, TIME duration = QUARTER_OF_A_SECOND)
  147.     {
  148.         Beep(note, duration);
  149.     }
  150.  
  151.     // Happy Birthday Demo
  152.     static void PlayDemo()
  153.     {
  154.         Play(C4,HALF_A_SECOND);
  155.         Play(C4,HALF_A_SECOND);
  156.         Play(D4,SECOND);
  157.         Play(C4,SECOND);
  158.         Play(F4,SECOND);
  159.         Play(E4,TWO_SECONDS);
  160.         Play(C4,HALF_A_SECOND);
  161.         Play(C4,HALF_A_SECOND);
  162.         Play(D4,SECOND);
  163.         Play(C4,SECOND);
  164.         Play(G4,SECOND);
  165.         Play(F4,TWO_SECONDS);
  166.         Play(C4,HALF_A_SECOND);
  167.         Play(C4,HALF_A_SECOND);
  168.         Play(C5,SECOND);
  169.         Play(A4,SECOND);
  170.         Play(F4,SECOND);
  171.         Play(E4,SECOND);
  172.         Play(D4,THREE_SECONDS);
  173.         Play(ASHARP4,SECOND);
  174.         Play(ASHARP4,SECOND);
  175.         Play(A4,SECOND);
  176.         Play(F4,SECOND);
  177.         Play(G4,SECOND);
  178.         Play(F4,TWO_SECONDS);
  179.     }
  180. };
  181.  
  182. #endif
Advertisement
Add Comment
Please, Sign In to add comment