InicioLinuximpp - MP3 en tu terminal

impp - MP3 en tu terminal

Linux2/9/2011
impp

142fc496eac1104b24ae30fdcb1cffa1

Buenas! Aca les traigo mi último proyecto, un reproductor de mp3 con interfaz por linea de comandos. Alguno por ahí pasó hace un tiempo por un , en el que presentaba un reproductor del mismo estilo. Como el anterior tenía unas fallas, más que nada por usar mal las librerias(más que nada PortAudio, para hacer output del sonido) y por tener una interfaz poco amigable, lo usé poco y nada. Pero hace unos días me agarraron ganas de hacer un reproductor que de verdad me sirva y pueda usar como mi reproductor por defecto. Por eso empecé un nuevo proyecto desde 0, y la verdad es que estoy muy conforme. Paso a mostrarles la forma en la que funciona:


Interfaz



La interfaz es toda por comandos. Usa la librería readline, que es la misma que usa el intérprete bash para hacer autocompletación de comandos/paths/etc. Es decir, si apretan TAB igual que en bash, se van a autocompletar los nombres de los temas que quieren reproducir. Lo mismo pasa con los *, les autocompleta el nombre del archivo.

Nota: No hace falta poner blabla/*.mp3, con poner blabla/*, solo se abren los archivos .mp3.




Ahí pueden ver una muestra de todos los comandos que soporta por ahora. La idea es usar esos comandos para manejarse por el sistema de archivos, agregar temas a la playlist, borrar, pausar, reproducir, etc.



Comandos importantes



- cd DIRECTORIO: funciona igual que la utilidad que viene en todas las distros.

- ls: esto forkea y llama a "ls", por lo que pueden hacer "ls -l", "ls -r", o cualquier parámetro que reciba el comando en su terminal.

- add TEMA [TEMA...]: agrega el/los temas al final de la playlist.

- plist [prev | full | next]: plist lista la playlist actual. Sin parámetros, solo muestra los temas que estan en un rango de 5+ o 5- del tema actual. Esto lo hice, porque al tener 500 temas, no tiene sentido que la liste entera, si sólo querés ver el siguiente tema. Si se le pasa el parámetro "full", la muestra entera. Si se pasa "prev" como argumento, lista todos los temas que estén antes del actual. "next" muestra los siguientes.


Comandos útiles:





Alias

Mientras probaba la aplicación me di cuenta de que a veces estaba bueno tener atajos, como en toda aplicación. Por eso cree la posibilidad de definir alias:

- alias p play: con este comando se define un alias del comando play. Cada vez que usemos "p" como comando, en realidad se llamará a play. Se pueden
definir tantos alias como se quiera, pero todo alias debe asociarse a un comando específico(no se puede asociar "ab" a "cd /tmp/x".

- alias del p: con este comando se elmina "p" de los alias.

- alias: lista los alias definidos.

Path

Por otro lado, siguiendo con los atajos, me encontré con que siempre me movía a /media/.../.../.../ con lo que perdía mucho tiempo tecleando cuando sólo quería reproducir un tema. Para solucionar eso, definí el comando "path":

- path musica /media/Disco/Datos/Carpeta/Musica: define "musica" que apunta a ese path. Ahora, cuando queramos ir a ese directorio, sólo hay que hacer:
"cd $musica", y nos llevará a ese directorio.

- path del musica: lo mismo que con alias.

- path: lista los path definidos.


Los path definidos tienen autocompletación al apretar TAB.


Autocompletación



Esto es lo más útil, sin duda. Poder apretar TAB y que se autocompleten los paths es muy bueno(también hay autocompletación de comandos).

Nota: para usar paths que tengan espacios, se tiene que encerrar la ruta entre comillas dobles(". La última comilla doble puede omitirse, pero la del comienzo tiene que estar. Al apretar TAB, automáticamente van a aparecer las comillas al principio de la ruta, salvo casos en que hayan dos archivos que se llamen igual(como pasa con bash que hay que escapear los nombres a mano).




Historial



impp soporta historial de comandos, que permite reutilizar los comandos que se ejecutaron hace poco. Si bien(por ahora) no se guarda en disco, aunque es muy facil de implementarlo y podría hacerse si se ve que es necesario, por ahora no creo que tenga mucha importancia.


Si quieren usar un comando que no sepan como se usa, corran "usage COMANDO", y les imprime la forma de usarlo. Pueden ver todos los comandos con el comando "help".

Como siempre, está hecho en C++ . Cualquier consulta, o sugerencia será más que bienvenida!
Porque ya un par se quejaron de que no podían compilar las cosas que subía, esta vez cree un configure, que genera un Makefile.
Para crearlo, como con cualquier aplicación:


./configure
make
# make install


Notar que el make install es OPCIONAL, y solo si quieren instalarlo en /usr/bin. Si lo corren, recuerden correrlo como root.





Requsitos(nombre de los paquetes en ubuntu):
- readline(libreadline6-dev).
- libmad(libmad0-dev).
- portaudio(libportaudio19-dev).


Para descargar impp:

- Binario por si no quieren tener que compilarlo.
- Sources en sourceforge



No pido puntos, pero al menos comenten .
Datos archivados del Taringa! original
0puntos
677visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

a
adadon🇦🇷
Usuario
Puntos0
Posts5
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.