#include #include #include #define E6 82 // actually 82.407 #define A5 110 // exactly #define D4 147 // actually 146.83 #define G3 196 // exactly #define B2 247 // actually 246.94 #define E1 330 // actually 329.63 #define Eh 659 // actually 659.26 void aboutguitartuner() ; /* Beeptones provides basic tones for open-string tuning of guitar; also provides 50 random tone sequence M. Gallant 03/10/2006*/ BOOLEAN result; unsigned long interval; const unsigned long interval00 = 400; const int MAXTONES = 50; void main() { int i; char tone='e'; unsigned long randomtone; interval= interval00; //initialize with default result aboutguitartuner() ; //startup information // ---------- Main loop ----------------- while (scanf_s("%c", &tone, 1) ==1) { //get tone or pattern to play if(tone=='q') //exit condition return ; if(tone=='c') { //scroll up system("cls") ; continue ; } if(tone=='i') { //display information aboutguitartuner() ; continue ; } if(tone=='e') Beep(E6, interval) ; else if(tone=='a') Beep(A5, interval); else if(tone=='d') Beep(D4, interval); else if(tone=='g') Beep(G3, interval); else if(tone=='b') Beep(B2, interval); else if(tone=='E') Beep(E1, interval); else if(tone=='o') Beep(Eh, interval); else if(tone=='A') Beep(440, interval); else if(tone=='k') Beep(1000, interval); else if(tone=='s') { // "s"trum Beep(E6,interval); Beep(A5,interval); Beep(D4,interval); Beep(G3,interval); Beep(B2,interval); Beep(E1,interval); } else if(tone=='r') // reset default tone interval interval=interval00; else if(tone=='R') { //random tone pattern srand( (unsigned)time( NULL ) ); //set randon num seed for (i=0; i