Kelb Audio Player

I always preferred to play my audio files in shuffle order. But the problem with it is that there are always some songs which don't suit but shuffled together, say, for example, Led Zeppelin's "Whole Lotta Love" and Gustav Mahler's "Ich bin der Welt abhandengekommen". So I invented the "semi-shuffle" listmaker mode. The program suggests randomly a song from the database and it is up to the user to add it to the list or to skip to the next suggestion with just two keys: SPACE to skip and ENTER to add it. The program can scan large directories for audio files and save the file informations in a database. Another handy feature is that you can copy all the files in the playlist to a given directory. So you can for example search for specific songs in the database and copy them to an external device easily.

Admittedly, there is also a discernible weirdness with the program code. This is partly because I started this project too early as almost beginner and didn't finish it until now. So there are many things I wouldn't do the same way again. And on the second hand, this is partly because I often wanted to do it deliberately the hard way. I wanted to make experiences in programming practices, so I mostly tried to do manually what could be done manually although it could be done more easily with an API. For example I knew from the beginning that I could use ncurses and do many things much more easily. But I just wanted to see haw far I can go doing it without.

To compile the program you need to have the develepmont libraries libid3tag0-dev, libao.dev and libmad0-dev. Once you have all the files you can compile the program with the following commands:

gcc -c kelb.c
gcc -c player.c
gcc -c mad.c
gcc -c ao.c
gcc -o kelb kelb.o player.o mad.o ao.o -lmad -lao -lid3tag

Download source code:

kelb_audio_player.tar.gz





Make a free website with Yola