-   
- //Devuelve las potencias de un número entero (usada por play) 
- //Nota: la función pow() en "math.h" realiza también esta tarea pero 
- //esta diseñada para números del tipo double... 
-   
- int pot(int x, int p)//funcion usada por play... 
- {int x1;if(p)x1=x;else x1=1; 
- for(int a=1;a<p;a++)x1=x1*x; 
- return x1;} 
-   
- /*Reproduce notas musicales por el altavoz del sistema 
- (solo letras en mayusculas) 
-   
- Comandos de octava y tono: 
- O-Octava    Establece la octava actual (0 - 6). 
- A - G      Toca la nota especificada en la octava actual. 
-   
- Comandos de duración y tempo: 
- L-duración  Define la duración de cada nota (1 - 64). 
-              L1 es redonda, L2 es blanca, etc.. 
- P-pausa     Hace una pausa (1 - 64). P1 es una pausa de redonda, 
-            P2 es una pausa de blanca. 
- */ 
-   
- void play(char *mu)//#include stdlib.h & string .h 
- { 
- int t,tn,o,nota,a,va,xt,x[2]; 
- tn=1536;o=4;//Parametros por defecto  
- int ox[]={6,7,1,2,3,4,5}; 
-   
- for(int s=0;s<strlen(mu);s++){a=int(mu[s]); 
- if(a==76||a==80){xt=0;va=0;//P y L  
- for(int av=0;av<2;av++){x[av]=int(mu[s+(2-av)])-48; 
- if(x[av]<=9)xt+=x[av]*pot(10,va++);} 
- if(a==80)_sleep(tn/xt);else t=tn/xt;} //P  
- if(a==79)o=(int(mu[++s])-48)%8;//O  
- if(a>64&&a<72)//A,B,C,D,E,F,G  
- {nota=pot(2,o+3)*(ox[a-65]+7)+16;_beep(nota,t);}}} 
-   
- /* 
- Ejemplo: 
- play("L12FP32L4DCD"); 
- ... 
- play("O0L5C"); 
- */ 
-   
-