C/Ncurses based learning music player
License
empeg/squash
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
squash is a music player. squash is the best music player. Specifically, squash will ensure you do not waste valuable time in order to listen to your music. The player accomplishes this by automatically picking good music more often than bad music. It also will not play the same song over and over again. Lastly, squash will decide what is a good and bad song simply by whether or not you skip the song it chooses for you. The result is a perfect background music player. It's like a radio station that will tune itself automatically to your listening preferences, but still provide the variety you need to stay interested. Features: Automatically decides songs to play. Picks better songs more frequently than worse songs. Decides what is better and worse automatically. Avoids picking the same song repeatedly. Cool (text) graphical analyzer. Standard meta information (Artist, etc.) stored in separate file*. Statistics meta information (for picking songs) also stored in separate file*. FIFO control file, for external control (for example, joysticks). Ported for empeg devices (a StrongARM based car stereo) as well as the regular linux PC. Future Features: Allow selection of what songs the player picks from (rather than the entire collection). * Reading can be done directly so you do not have to store this separate file. Also, the files may be stored in separate directories. Last, you may create this separate file automatically at player start up or manually with a separate script. Some technical details: squash currently only runs on Linux platforms. Other GNU/Unix platforms may require minimum porting. Libraries required are ncurses (for the display), pthreads (for threading), fftw (for the spectrum analyzer), glibc (for lots of things), libmad (for mp3 playback), id3lib (for reading id3v2/mp3 tags), libvorbisfile (for ogg playback) and libao (for sound support). Support for tremor (libivorbisfile) the integer only ogg decoder is available, but not enabled by default. Support for removal of fftw and id3lib libraries. But spectrum and id3v2/mp3 tag support, respectively, will also be removed. Support for removal of ncurses, generally in favor of using the empeg's LCD screen. To compile squash just run 'make'. There are some configuration options, though specifying them is currently clunky: EMPEG turn on and off various settings to allow squash to run on an empeg device, but please read the doc/empeg section first before trying to use squash on the empeg. EMPEG_DSP use empeg dsp directly instead of libao USE_MAGIC if filename doesn't end in a proper extension, try reading the magic bytes at the front of the file to determine file type. NO_NCURSES Turn off the ncurses display. This will make squash headless on the PC (controled only by the control fifo). NO_FFTW turn off spectrum (needs fftw, the fourier transform library) NO_VORBIS_COMMENT turn off ability to read vorbis comments directly (note you still need vorbisfile to play ogg files) NO_ID3LIB turn off ability to read id3v2 comments directly DEBUG turn on debugging LOCK_DEBUG turn on lock debugging (also enables DEBUG) INPUT_DEBUG turn on input debugging (also enables DEBUG) TREMOR turn on tremor support To specify an option run 'DEBUG=1 make' instead of just 'make'. Please remember to run make clean before using a new set of options. If you are new to compiling software, or just forgot: remember to install both the library package (such as libmad0), -and- the library development package (such as libmad0-dev). Installation: Please see the doc/INSTALL file for details. squash cannot just be run. You must at least create a configuration file to specify where your music is. Additionally, you may want to run some scripts first to extract meta information. However, you do not have to perform this step since squash is capable of extracting this information natively. Squash is written by Adam Luter, copyright 2003. Thanks for John Preston for support, advice, computer usage, caffeine and a good bit of the ncurses interface. Contact the author: luterac@auburn.edu, luterac@bellsouth.net
About
C/Ncurses based learning music player
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published