------------------------------------------------------------------------------
|README                                                                      |
|Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.               |
|All rights reserved.                                                        |
|                                                                            |
|Copying and distribution of this file, with or without modification, are    |
|permitted in any medium without royalty provided the copyright notice and   |
|this notice are preserved.                                                  |
------------------------------------------------------------------------------


DESCRIPTION
-----------

Songanizer is a shell script to organize a directory containing a collection
of Ogg Vorbis & MP3 files. The goal is to create virtual directory structures,
which give different views of the data, but without having redundant copies of
the files themselves.

The files are organized according to information gathered from the tags of
files stored in subdirectories located under the 'base' directory, which bear
the prefix _data in their name. Parallel virtual directory structures
containing symbolic links to the actual files are created, which give
different views of the same data. Each virtual directory stucture gives a view
based on a particular attribute specified by the user. The _data directories
themselves can be symbolic links to directories on other devices, and can have
multiple levels of sub-directories within them holding the actual song files.

After songanization, the BASE directory contains the following directories:
  (i) _data*   --> All directories starting with _data contain the real data.
 (ii) _artist  --> Contains the link structure on the basis of the artist tag.
(iii) _genre   --> Contains the link structure on the basis of the genre tag.
 (iv) _initial --> Contains the link structure on the basis of the initial.
... and more, depending on the switches passed to the script.


RESOURCES
---------

Since Songanizer is a shell script, a running shell is the first and foremost
requirement. Preferably it should be GNU Bash. If you encounter problems on any
shell, please report them. (See how to report bugs below).

GNU Getopt (enhanced) is needed to extract the options from the command line
arguments. Alongwith that you should have GNU Gettext for internationalization
support. You can get GNU Gettext from ftp://ftp.gnu.org/gnu/gettext/.

The GNU Libextractor package should be installed in the system to process the
file tags. It can be downloaded from ftp://ftp.gnu.org/gnu/libextractor/.


UNINSTALLATION INSTRUCTIONS
---------------------------

To uninstall Songanizer, you have to navigate to the root installation
directory and give the following command:
(i) # make uninstall

NB: A # prompt implies a root shell.


HISTORY
-------

"The biggest problem for me, during my efforts to organize music files, was
the choice of the directory structure. Should the directory structure reflect
the author or the genre or may be the album? I ended up with the conclusion,
that no ideal directory structure exists. So I wanted different virtual
directory structures to the same data. Thanks to the symbolic links capability
of the file systems I use (ext2, ext3, ...) this dream has become a reality!"
- Patrick Ohnewein

Songanizer was started by Patrick Ohnewein in November 2002. Later on, he was
joined by Benjamin Gufler and Juergen Kofler. Benjamin was particularly
involved with the ID3 tag business.

Presently the project maintainer is Debarshi Ray, while Patrick Ohnewein is the
original author.


TO DO
-----

  (i) Portability to different platforms, and flavours have to be tested.
 (ii) Incorporate the use of translators. Develop a special filesystem
      (SongFS) for keeping a songanized collection of tunes.
(iii) Loads and loads of testing.

SEE ALSO
--------

The GNU Songanizer home page at http://www.gnu.org/software/songanizer/ or
http://www.songanizer.com.

The GNU Libextractor home page at http://www.gnu.org/software/libextractor.


COPYRIGHT
---------

Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
All rights reserved.

GNU Songanizer is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option) any
later version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.


CONTACT
-------

Songanizer has two mailing lists: <help-songanizer@gnu.org> and
<bug-songanizer@gnu.org>.

The main discussion list is <help-songanizer@gnu.org>, and is used to discuss
all aspects of Songanizer, including development and porting.

Announcements about Songanizer and most other GNU Software are made on
<info-gnu@gnu.org>.

There is also a special list used for reporting bugs,
<bug-songanizer@gnu.org>. You can also use the bug tracker on Savannah at
https://savannah.gnu.org/projects/songanizer.

To subscribe to any Songanizer mailing list, please send an empty mail with a
Subject: header line of just "subscribe" to the relevant -request list. For
example, to subscribe yourself to the main list, you would send mail to
<help-songanizer-request@gnu.org> with no body and a Subject: header line of
just "subscribe". 

Information regarding how to contact the contributors individually is given in
the AUTHORS file. However, one may contact the authors only in very special
cases.


ACKNOWLEDGEMENT
---------------

There have been a lot of people who have contributed towards the development
of the project in ways other than contribution of code/text. The authors would
like to acknowledge the work done by these group of good samaritans. They
include the GNU Project for helping the development of free software, and
particularly Songanizer; Christian Grothoff for suggesting the use of GNU
Libextractor to read the tag information; and Massimo Bassi for his help
regarding 'long options support'.

A special note of thanks is due to Lokesh Nyati for helping with the
development of the project home page; Arjun Shankar and Rakesh Pandit for
intelligent bug reports; Alfred M. Szimdt for his extensive ideas about
SongFS; and Kenneth Dombrowski for giving me access to his collection of Ogg
Vorbis files.

Apart from that we are grateful to all those who have given Songanizer a try,
and given valuable feedback in the form of bug reports and other suggestions.
