$Id: README 3680 2011-10-07 19:23:23Z ensonic $

= quick info =
Please turn you browser to http://www.buzztard.org to learn what this project
is about. Buzztard is free software and distributed under the LGPL.

= intro =
Buzztard is a music composer similar to tracker applications.
It is roughly modeled after the windows only, closed source and now discontinued
application called Buzz.

= requirements =
libxml2
glib2
gtk+2
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gnome-canvas
gst-buzztard (from buzztard svn, use same version as this module)
gudev
gsf

Regarding gstreamer - the newer the better.

= supported packages =
check (http://check.sf.net - for unit tests)
gconf (for persistent settings)
udev (for interaction controller)

= building from svn =
To build use autogen.sh instead of configure. This accept the same options like
configure. Later one can use autoregen.sh to rerun the bootstrapping.
To build from SVN one needs gconf2-dev (see #1530372), gtk-doc and cvs (for
autopoint from gettext) installed.

= directories =
design : little test sources, not needed for releases, not built during make
docs : design ideas and API reference
po : gettext i18n catalogs
src : the project sources
  ui
    cmd : buzztard tool for the command line
    edit : buzztard editor (gtk based ui)
  lib
    core : logic, e.g. connections framework, file i/o, ...
    ic : interaction controller
  tests : unit tests (same directory structure as src)

= installing localy =
Use following options for ./autogen.sh or ./configure
  --prefix=$HOME/buzztard
  --with-gconf-source=xml::/home/ensonic/.gconf/
  --with-desktop-dir=/home/ensonic/.gnome2/vfolders/
when installing the package to e.g. $HOME/buzztard remember to set these
environment variables:
libraries:
  export LD_LIBRARY_PATH=$HOME/buzztard/lib:$LD_LIBRARY_PATH
online help: (as root)
  export OMF_DIR="$OMF_DIR:$HOME/buzztard/share/omf"
  scrollkeeper-update
devhelp:
  export DEVHELP_SEARCH_PATH="$DEVHELP_SEARCH_PATH:$HOME/buzztard/share/gtk-doc/html"
pkg-config:
  export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$HOME/buzztard/lib/pkgconfig"
gstreamer
  export GST_PLUGIN_PATH="$HOME/buzztard/lib/gstreamer-0.10"
mime-database & icon-themes:
  export XDG_DATA_DIRS="$XDG_DATA_DIRS:$HOME/buzztard/share"
  update-mime-database $HOME/buzztard/share/mime/

= installing in /usr/local =
The default value for the --prefix configure option is /usr/local. Also in that
case the variables mentioned in the last example need to be exported.

= running the apps =

cd $HOME/buzztard/bin
./buzztard-cmd --command=info --input-file=../share/buzztard/songs/melo1.xml
./buzztard-cmd --command=play --input-file=../share/buzztard/songs/melo1.xml
./buzztard-cmd --command=encode --input-file=../share/buzztard/songs/melo1.xml --output-file=./melo1.ogg
./buzztard-edit --command=load --input-file=../share/buzztard/songs/melo1.xml

= running unit tests =
in one console enter
  eval {rm\ ,\;touch\ ,\;tail\ -f\ }/tmp/bt_XXX.log
where XXX is one of 'core', 'cmd' and 'edit'
and in another
  make check

