1
C / C++ / PseudoScript Reproductor (?) C++
« en: Julio 27, 2011, 11:09:10 pm »
Gente, les dejo un programita petardo que hice... en realidad no hace mucho, la onda es la siguiente:
El programa es un "reproductor de musica" (en realidad no... sigan leyendo), y anda en algun sistema operativo con kernel linux, y tenes que tener el mplayer instalado; para instalarlo:
Ejemplo
Algunos temitas del programa:
*No funciona con una carpeta particular que en cuyo nombre contenga espacios
*No funciona con archivos que no sean mp3
(Si hago un script en bash, por ejemplo, estos problemas se solucionan. Pero la onda fue hacer este programa para ayudar a un amigo que esta cursando "Fundamentos de programacion, c++" para mostrarle lo basico de los #include, las llamadas a sistema, manejo de cstrings.)
Se los dejo porque capaz a mas de alguno le pueda venir comodo, ami la verdad que me vino genial
debido a que suelo usar mucho la consola y el programa me salva de tipiar par de comandos
Aclaro que se que no es un script (por el titulo), pero no se me ocurrio mejor titulo que ese (aparte es llamativo).
Un saludo!
El programa es un "reproductor de musica" (en realidad no... sigan leyendo), y anda en algun sistema operativo con kernel linux, y tenes que tener el mplayer instalado; para instalarlo:
Citar
sudo apt-get install mplayerLo que hace el programa es, pedirte que ingreses la ruta a una carpeta en especial, donde tenes la musica a reproducir.
Ejemplo
Citar
/home/<usuario>/MusicaLo que hace el programita es hacer una lista de reproduccion con todos los mp3 que hay en la carpeta seleccionada y ejecuta el mplayer con la playlist generada.
Código: [Seleccionar]
/**#################################
Distribuido bajo licencia GPL;
se puede realizar cualquier cambio deseado,
solo señalando con un comentario la fuente: "ramafla"
#################################**/
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
void Menu_Show(){
system("clear");
cout<<"Tinamp\n\t Tinamp is not another Playlist\n";
cout<<"Menu:\n";
cout<<"\t1)Generar y reproducir una nueva lista"<<endl;
cout<<"\t2)Reproducir ultima lista"<<endl;
cout<<"\t3)Salir"<<endl;
cout<<endl;
cout<<"\t\t##By Ramaflap.##"<<endl;
cout<<endl;
}
int main(){
//necesito cadenas predefinidas con "ls "; " | grep .mp3"; "mplayer -playlist "
char com_ls[256] = "ls -R ", com_grp[256] = " | grep .mp3 > ", com_mplayer[256] = "mplayer -playlist ";
char Comando1[512]; char Comando2[512];
//ya tengo las cadenas predefinidas, ahora pido directorio:
char directorio[1024]; int Op = 0;
directorio[0] = NULL;
do{
Menu_Show();
cout<<"Ingresar Opcion: ";cin>>Op;
switch(Op){
case 1:{
directorio[0] = NULL;
if(directorio[0] != NULL){
char Comandoexit[256]; Comandoexit[0] = NULL;
strcpy(Comandoexit, "rm ");
strcat(Comandoexit, directorio);
strcat(Comandoexit, "/canciones.list");
system(Comandoexit);
}
cout<<"Ingrese directorio: ";
cin>>directorio;
//tengo el directorio.
//ahora lsdeo el directorio buscando archivos mp3
strcpy(Comando1, com_ls);
strcat(Comando1, directorio);
strcat(Comando1, com_grp);
strcat(Comando1, directorio);
strcat(Comando1, "/canciones.list");
system(Comando1);
//se genero <directorio>/canciones.list
//ahora ejecuto la lista
strcpy(Comando2, com_mplayer);
strcat(Comando2, directorio);
strcat(Comando2, "/canciones.list");
system(Comando2);
//se termina ejecucion de la lista.
break;
}
case 2:{
if(directorio[0] != NULL){
system(Comando2);
}
else
cout<<"No se ha reproducido ninguna lista anteriormente"<<endl;
break;
}
case 3:{
cout<<"Adios"<<endl;
char Comandoexit[256]; Comandoexit[0] = NULL;
if(directorio[0] != NULL){
strcpy(Comandoexit, "rm ");
strcat(Comandoexit, directorio);
strcat(Comandoexit, "/canciones.list");
system(Comandoexit);
}
exit(0);
}
default:{
break;
}
}
}while(Op!=3);
return 0;
}
Algunos temitas del programa:
*No funciona con una carpeta particular que en cuyo nombre contenga espacios
*No funciona con archivos que no sean mp3
(Si hago un script en bash, por ejemplo, estos problemas se solucionan. Pero la onda fue hacer este programa para ayudar a un amigo que esta cursando "Fundamentos de programacion, c++" para mostrarle lo basico de los #include, las llamadas a sistema, manejo de cstrings.)
Se los dejo porque capaz a mas de alguno le pueda venir comodo, ami la verdad que me vino genial
debido a que suelo usar mucho la consola y el programa me salva de tipiar par de comandos
Aclaro que se que no es un script (por el titulo), pero no se me ocurrio mejor titulo que ese (aparte es llamativo).
Un saludo!