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

@contents 

@chapter GNU Solfege @value{SOLFEGEVERSION}

Solfege is a free ear training 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}.

Ear training is a big subject with many connections to music theory and
performance of music, so I won't even try to make "a complete
computer based ear training 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 very
often you have to use a quite new and uptodate linux distribution because
solfege require quite new versions of them. A good alternative can then be to
try one of the older stable releases. We try to collect OS specific information
on the wiki at @uref{http://www.solfege.org/wiki}. But this depends on users
contributing their data.

@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.4.0
@item PyGTK >= 2.4.0 (Debian: python-gtk2)
@item gnome-python >= 2.0.0 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. Please check http://www.solfege.org/Solfege/SoundSetup . I
try to update it more often than this file. And everybody is allowed to edit that page.
@end itemize

@subsubsection Build dependencies

@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 texinfo (ftp://ftp.gnu.org/gnu/texinfo)
@end itemize

If you get the program fresh from the arch repository, then you also need need:

@itemize
@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 Internationalization

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

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

On windows, you should edit the file @file{solfege.bat} located
in the installation directory. It might be found in:
@file{c:\Program files\GNU Solfege} or a similarly named folder.

Please read @url{http://www.solfege.org/Solfege/TranslateSolfege}
if you want to help the translation.

@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

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.

You are welcome to ask questions on
@email{solfege-devel@@lists.sourceforge.net} if this documentation and
@uref{http://www.solfege.org} does not give you an answer.

@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
ear training 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 ear training 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, 2004, 2005  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}

