Subject: [linux-audio-dev] new tool: SFDB "the soundfile database"
From: Paul Barton-Davis (pbd@Op.Net)
Date: pe loka 08 1999 - 02:14:10 EDT
I wrote a new little tool tonight. You might enjoy it/find it useful.
http://www.op.net/~pbd/sfdb-0.1.tar.gz
Here is the README file.
sfdb
Paul Barton-Davis, Fall 1999
----------------------------
"sfdb" is a tool/library/GUI for working with and using a database of
soundfiles.
It arises from my own work developing applications that use soundfiles
in various ways - I wanted a standard way to look up all the available
soundfiles, and some basic information about them, without schlepping
all over the place.
It consists of 3 parts:
libsfdb.a : a tiny library allowing for the creation of
a database, adding new directory trees, and provide
database listings to stdout. Written in C.
sfdb: a small cmdline tool allowing you to create, add to
and list soundfile databases. Written in C.
gsfdb: a Gtk-- interface to a soundfile database. It includes a
widget (sfdbDisplay) that can be used to play any
soundfile when it is selected from the display. You can
add new directories to an existing database in gsfdb,
but you can't create the database from scratch. Written
in C++.
It turns that gsfdb is something rather like a jukebox containing
every soundfile you have stuffed in the database. Its cool!
Things you need:
================
1) To build libsfdb.a and sfdb
* Bill Schottstaedt's sndlib
ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
* the GNU DBM library (gdbm)
(almost certainly installed on your machine already)
With the current Makefile, both need to be installed in standard
places (e.g. /usr/lib or /usr/local/lib)
2) to build gsfdb
* all items in (1)
* GTK+ 1.1 or above
* Gtk-- 1.0.2 or above
Using the programs
==================
In all the cases below, "some-file-name" is the name of the file that
will contain the database.
* To build a database from the trees defined by SFDB_PATH (a
colon-separated list of directories):
sfdb -d some-file-name -c
* To build a database from the trees specified on the cmd line:
sfdb -d some-file-name -c dir1:dir2:dir3:dir4
* To add to a database from a single directory tree (this will build a
new database if "some-file-name" doesn't already exist):
sfdb -d some-file-name -a some-directory
* To inspect the contents of a database from the cmdline:
sfdb -d some-file-name -l
* To run the GUI:
gsfdb -d some-file-name [ --play | --noplay ]
You may wish to define the environment variable SFDB_PLAYER as the
full pathname of a program that can play arbitrary soundfiles. The
default is /usr/local/bin/sndplay, which uses the OSS sound
interfaces, which is a poor choice, but it works reliably on files
that some other players can't handle. Also, if you have Bill's sndlib
library, then you also have sndplay.
Future Possibilities (feel free to do any of them - it works for me)
====================
* use autoconf and automake
* add keywords/annotations
* allow searching
* consider using mySQL and relational searches
This archive was generated by hypermail 2b28 : ke maalis 08 2000 - 13:40:59 EST