\input texinfo
@setfilename README.info
@include topdocs/defs.texi
@settitle README

@contents 

@chapter GNU Solfege @value{SOLFEGEVERSION}

Solfege is a free eartraining program written in python using gtk+
and GNOME libs. Using GNOME is optional, but the user interface is
nicer using GNOME. Solfege is expected to work on any OS where python,
gtk+ and pygtk are ported, but some adjustments might be necessary.

Check out the latest news and precompiled binaries at 
@uref{http://www.solfege.org}. Get the source code for the stable releases
at @uref{ftp://ftp.gnu.org/gnu/solfege} and bleeding edge at
@uref{ftp://alpha.gnu.org/gnu/solfege}.

Eartraining is a big subject with many connections to music theory and
performance of music, so I won't even try to make "a complete
computerbased eartraining course". To use this software, you need some
basic knowledge about music theory. 

As of 18 June 2000, Solfege is an official part of the GNU project.
Visit @uref{http://www.gnu.org} for more info.

@section Requirements
Most of this software are usually included with your linux distro, but when
writing this document (December 2002, Solfege 1.9.3), only RedHat 8.0 and
Debian sid (unstable) are known to have @emph{all} the software required.
Mandrake 9.0 for example, has too old PyGTK and gnome-python.

Please report to solfege-devel@@lists.sf.net on what is required to build
and run Solfege on your operating system.


@subsection MS Windows
MS Windows users can download the installer program
(solfege-win32-@value{SOLFEGEVERSION}.exe) that contains everything they need.


@subsection GNU/Linux and the rest of us
The rest of us should check that the following
is installed:

@subsubsection Runtime
@itemize @bullet
@item Python >= 2.3
@item Gtk+ >= 2.0.0
@item PyGTK >= 1.99.15 should be ok. As old as 1.99.11 might work for most
of the exercises. (Redhat 8.0: pygtk2, 
Debian: python-gtk)
@item gnome-python >= 1.99.15 should be ok. As old as 1.99.11 might work for
most of the exercises. 1.99.14 will crash with some combinations of GNOME libs.
This is optional, but required if you want to use
the gtkhtml2 widget for displaying documentation. You @emph{really}
want this.
@item libgtkhtml2 >= 1.99.6 (optional, but @emph{very} recommended.)

@item Midi working on /dev/music or /dev/sequencer (for example using
OSS or ALSA with OSS emulation). Or at least possible
to play midi files on some external program. It seems that your soundcard must
support FM-synthesis or wavetable synthesis to use /dev/music or
/dev/sequencer. If it does not, you need to do that in software, for example
using timidity.
@end itemize

@subsubsection Build dependencies
If you build this software from source, you also need this:

@itemize @bullet
@item GNU Make
@item Gettext
@item Python header files. (The RedHat package is called python-devel.)
@item C compiler (only GCC is tested, nothing else is expected to work.)
@item GNU m4 macro processor (for documentation preprocessing)
@item GNU texinfo (ftp://ftp.gnu.org/gnu/texinfo)
@item xsltproc (http://xmlsoft.org/XSLT/ or debian package xsltproc.
The RedHat 8.0, Suse 7.0 and Mandrake 9.0 package is called libxslt)
@item docbook xsl stylesheet.
(http://prdownloads.sourceforge.net/docbook/, debian package
docbook-xsl, RedHat 8.0 and Mandrake 9.0 package docbook-style-xsl)
@item swig 1.1 or 1.3 (Simplified Wrapper and Interface Generator) found at
@uref{http://www.swig.org}.
@end itemize

If you edit @file{configure.ac}, you need GNU Autoconf.

@section Versioning

Solfege uses a versioning scheme similar to the Linux kernel.  In a version
"x.y.z", an even (0, 2, 4, 6, 8) second number 'y' denotes a stable version. So
releases called 1.0, 1.2.2, 2.0.0 and similar should work as documented, while
a release versioned 1.1.3 or 1.9.2 is a test release that is expected to cause
some troubles (that should be reported to
solfege-devel@@lists.sourceforge.net).

@section Internationalisation

You get translated messages the same ways as with most GNU programs,
by setting environment variables. For example, one of these will give
you norwegian translations:

@example
  export LC_MESSAGES=no_NO
  export LANG=norwegian
@end example

Please read @file{translating-solfege.html} if you want to help the
translation. The file is available from within Solfege: on the
Help menu, select "All help files" and then click "Translating Solfege".

@section Sound issues

You configure how Solfege should play sounds from the preferences
window available from the File menu.

Be aware that it seems like your soundcard must support FM-synthesis
or wavetable synthesis to work out of the box. One card I know that does this
is SoundBlaster Live. If it does not, you need to emulate this in software, for
example by using timidity as an external midiplayer.  This can be a little
tricky on MS Windows, but I'll try to provide descriptions on how to do
this later.

@subsection @option{--no-sound} command line option

If you plan to play sounds using
an external midiplayer, or if you get other error messages that you
think might be caused by your sound setup or Solfeges sound code, then
you should start the program with the @option{--no-sound} command line
option the first time you run the program, and then configure sound from
the preferences window.

@subsection Missing @file{/dev/music}

If you have a recent linux kernel (at least late 2.2.x and newer,
someone please confirm when /dev/music was added...) but @file{/dev/music}
is missing, you can probably create the device file yourself with
MAKEDEV or @command{mknod /dev/music u 14 8} as root.

@section If it just won't work

One useful tips if you get strange errors is to delete the file
all old rc files. Solfege will try to import the settings from
several old releases, so you must delete them all:
@file{$HOME/.solfegerc1.9}
@file{$HOME/.solfegerc1.5}
@file{$HOME/.solfegerc1.4}
@file{$HOME/.solfegerc1.3}
@file{$HOME/.solfegerc1.2}
@file{$HOME/.solfegerc1.1}
@file{$HOME/.solfegerc1.0}
and @file{$HOME/.solfegerc}

You can also try to delete
@file{$HOME/.solfege1.4}, @file{$HOME/.solfege1.9} and
@file{$HOME/.solfege@value{SOLFEGESHORTVERSION}}.
These directories contain the statistics. (You might want to backup the
files in case they are not what is causing the your problems, and
you want to keep your statistics!)

If you find a way to reproduce an error that is fixed by deleting the
files and directories above, you should email 
@email{solfege-devel@@lists.sourceforge.net}.

And please don't get depressed by the chaos caused by all those versioned
file :-) The future releases of Solfege will only use one unversioned
file @file{$HOME/.solfegerc} and one unversioned directory
@file{$HOME/.solfege}.


@subsection It still won't work!

See the INSTALL file if you have problems building and installing
Solfege, and check the man page or run the program with the '---help'
command line option for a list of command line options.

The users guide is located in the online-docs/ directory from the
unpacked source, and also available from inside the program from
the 'Help' menu.

Report your problems to @email{solfege-devel@@lists.sourceforge.net}.

@section History

The first versions of Solfege was written in the first quarter
of 1999 when I studied my 4th and last year at Malmö Academy of Music.
I was writing a "special subject" (what is the english term??) about
eartraining and used GNU Lilypond and LaTeX to typeset the paper.

I accidentally browsed the "help needed" page at the GNU web site when
I saw they needed someone to write an eartraining program for music
students.

In the beginning I was experimenting with
wxWindows, a cross platform C++ GUI toolkit, but luckily, at some
point I found the python bindings for gtk+ and have never looked back.

@section Copyright notice

Copyright (C) 2000, 2001, 2002, 2003  Tom Cato Amundsen

This if 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.

This 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 with
your Debian GNU/Linux system, in /usr/doc/copyright/GPL, with the
solfege source package as the file COPYING and available in the online
help system..  If not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Tom Cato Amundsen
@email{tca@@gnu.org}

