[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-hackers] submission of Kiosk MusicViz - savannah.nongnu.org
From: |
pthisis |
Subject: |
[Savannah-hackers] submission of Kiosk MusicViz - savannah.nongnu.org |
Date: |
Mon, 09 Aug 2004 19:54:35 -0400 |
User-agent: |
Links (0.96; Unix) |
A package was submitted to savannah.nongnu.org
This mail was sent to address@hidden, address@hidden
Gerry Sumner Hayes <address@hidden> described the package as follows:
License: other
Other License: I selected "other" because there is no multi-license option; the
majority of the backend system is LGPL, but certain of the visualizations are
GPL. Everything is under one of those two licenses.
Package: Kiosk MusicViz
System name: kioskmv
Type: non-GNU
Description:
Kiosk musicviz (KMV) is an implementation of several music visualizations for a
GNU/Linux platform. It displays various interesting screen hacks based on the
music that it is playing. KMV runs as a full-screen application (I use it via
tvout on a large-screen TV at parties as a neat background effect). Both
standard and widescreen aspect ratios are supported.
The majority of the code should be easily portable to other POSIX-compatible
platforms but that has not been tested. KMV consists of several daemons and UI
components designed to work together:
* A low-level sound-daemon, which handles playback of specified files . This
is a minimal playback daemon which forks off decoder processes (Ogg Vorbis is
included, MP3 is trivially implemented via any third-party decoder which can
write to stdout), optionally with soft realtime scheduler status and locked
memory. Data is decoded into a shared memory segment which is written to the
sound device and shared with any visualization processes.
* A playlist manager, which keeps track of which songs are to be played next.
This component also optionally handles hard disk spindown, caching the next
several songs in RAM and keeping the disks spun down as much as possible (to
avoid drive noise).
* A command-line playlist constructor and manager which can both build up
playlists and move forward/back, pause, unpause, etc.
* Several visualization plugins. These are mainly new (ground-up)
implementations, but one is based on the existing GPL'd Synaesthesia
visualization program. It is possible to run more than one visualization at
once, and it is also possible to overlay additional information (visualizations
for Artist/Album/Track name and for special events triggered based on lyrics or
other user-specified timing events are included). These visualization
components also have access to UI features (pausing, skipping tracks, etc).
* A ratings database (based around gdbm and glib) which allows free-form
queries to construct playlists. This uses Bison and Flex. Queries of the form
"rating > 5 AND (Genre = Rock or Genre = Punk) AND (MomHatesSong = 0)" are
allowed. Users can define arbitrary attributes and combine playlists on the
fly.
* A client for the ratings database which the command-line playlist constructor
can easily call.
The majority of the code is POSIX C, with some extensions (all compiled with
GCC). A handful of external libraries (including glib, libvorbis, gdbm, and
gtk) are used, all of which are free software under GPL-compatible licenses.
There are several administrative shell scripts (which are tested under bash1,
but should work with a fairly minimal sh) and some Python scripts which are
completely optional.
Most of the code is pretty rough around the edges in terms of documentation and
advanced features, but it runs well enough to keep going for hours at a party
with plenty of inebriated people bashing on the playlists.
I do not currently have a public web/FTP server, so I will need to submit the
code via email for your review.
Other Software Required:
gtk
gdbm
libvorbis
glib
python2 (optional)
Other Comments:
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Savannah-hackers] submission of Kiosk MusicViz - savannah.nongnu.org,
pthisis <=