view INSTALL @ 680:f5b818a57d0c

Few cosmetic fixes and clarifications.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 10 May 2008 01:34:22 +0300
parents 36a2d95e4644
children 73608042aec8
line wrap: on
line source

This document describes overall requirements and procedure
for installation of XMMS-SID package, please read it carefully!
For more information and tips, please refer to README and FAQ.

Requirements
============
- XMMS version 1.2.0 or later (http://www.xmms.org/)

- Gtk+ and Glib 1.2.5 or later (http://www.gtk.org/)

- ANSI-C and C++-compiler. Preferably GCC along with rest of
  the GNU toolchain. I have no idea whether this compiles with
  any other compiler ... sorry.

- You need AT LEAST one of the following emulation libraries:

   * libSIDPlay1
   * libSIDPlay2

  Only one emulator backend library is required, but all are
  supported with compile & run-time configuration. You may also
  need some supplementary libraries for each emulator library.
  See below for more information.


Emulator library selection hints
================================
Some words on which emulation library you should choose to install
and use - it depends somewhat on your system and personal preferences.

- libSIDPlay v1: This is the old and original emulation library. Its
  emulation is "frame-based" and not very accurate. The waveforms
  produced are harsher and emulation of SID filter is far from
  accurate.

  libSIDPlay v1 requires very little CPU power, it is faster and
  may have fewer bugs due to being more mature software. Many
  OS distributions have pre-built packages of it, not something that
  can be said of libSIDPlay v2. Some people may even like the
  harsher sound produced by libSIDPlay v1.

  Drawbacks are: worse emulation, eventually weakening compability
  as new SID-tunes/files are ripped into "RSID"-format which
  libSIDPlay v1 does NOT support.


- libSIDPlay v2: New, next generation modular SID-emulation framework.
  Along with reSID-library it produces probably most accurate emulated
  representation of SID-chip available. This, however, comes at high
  cost: libSIDPlay2 tends to eat CPU like popcorn, depending on the
  selected emulation options. It is also less spread, not as many
  distributions/operating systems come with pre-packaged libSIDPlay2,
  so you may have to roll your own.

  Also the API-stability of libSIDPlay2 is not yet 100%, there may
  be changes. Bugs are evident, though many of them will be fixed
  eventually.

  
Conclusion thus is as follows: If you are using an old system with not
much spare CPU-power, choose libSIDPlay v1. On a relatively recent
system (more powerful than Pentium III 650MHz) you may wish to choose
libSIDPlay v2, although your mileage may vary depending on the emulation
settings.


Where to get XMMS?
==================
Latest version of XMMS should be available from:

http://www.xmms.org/

Please refer to XMMS documentation for information on its usage
and installation, etc. You probably have XMMS already installed,
but if you installed from a pre-built package, make sure that
you have corresponding xmms-devel -package also.


Where to get libSIDPlay1?
=========================
Typically your OS distribution and/or some supplementary package
repository may contain libSIDPlay1 packages. Usually those work
well, but remember to also install the corresponding -dev/-devel
package so that XMMS-SID can be compiled.

If you can't find pre-made packages for your OS, source tarballs
for libSIDPlay1 are available at SIDPlay's homepage:

http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/linux.html

You only need libsidplay, the sidplay-base is not necessary
for building or using XMMS-SID (it contains a command-line
SID-player).


Where to get and how to install libSIDPlay2?
============================================
Please read the following web-page:

http://www.tnsp.org/?p=libsidplay2


Building a Mercurial-version
============================
To build a version of XMMS-SID from Mercurial repository,
you need to have following tools installed:

 - GNU autoconf 2.60 or newer
 - GNU automake 1.9 or newer
 - GNU libtool 1.5.22 or newer
 - Glade for Gtk+ 1.2 programs (I use Glade 0.6.4)

Source repository can be fetched via Mercurial using:

$ hg clone http://hg.atheme.org/users/ccr/xmms-sid xmms-sid-hg

If you have all required tools installed, you can then just

$ cd xmms-sid-hg
$ hg update tip
$ ./bootstrap.sh

Running bootstrap.sh should generate all necessary build-files,
assuming everything went well. After successfull bootstrapping,
you should be able to compile the package normally, following
steps described below.


Installing XMMS-SID
===================
When you have the requirements installed and working succesfully,
you may try compilation and installation of XMMS-SID.

Invoke configure script (use 'configure --help' for help)

$ ./configure

The configure script will print out lots of information and in
the end it tells you some of the selected build options.

NOTICE! On some systems it may be necessary to force 'configure'
to use gcc instead of g++ with following syntax:

$ CC=gcc CXX=g++ ./configure


If configure passed without errors, try compilation. (Depending
on your system, you may need to invoke 'gmake' instead of 'make'.)

$ make

If that went OK too, then you may try installation. Again, you
may need to invoke 'gmake' instead of 'make'. Install globally
to whole system (as root):

# make install

or install for current user only: (NOTICE! Locales and data files
will not be installed with this method)

$ make install-user

Assuming all went correctly, XMMS-SID is now installed. You should
now start or re-start XMMS and configure XMMS-SID's various options.


Post-installation configuration
===============================
To gain full advantage of using XMMS-SID, you need to configure it.
XMMS-SID can be configured just like any other XMMS plugin, in XMMS
do as follows:

 -> Press <ctrl+p>
 -> Select "Audio I/O Plugins"-tab
 -> Choose "XMMS-SID x.y.z [libxmmssid.so]" from the list
 -> Click "Configure"

Please refer to README for more information about configuration.