Samplecat

SampleCat is a program for cataloguing and auditioning audio samples.

SampleCat is available under the GNU General Public License and runs mainly on
GNU/Linux systems. It is written in C and uses the GTK graphics library.
MySql and Sqlite can be used for the database.

Currently, basic functionality is working, but the application lacks the bells and whistles to make it a serious tool.

news

20111108: Version 0.1.2. Bugfix related to the notes editor.

Many thanks to people for pointing out some problems with the 0.1.2 tarball. It has now been modified.

20110303: Version 0.1.1.
Added support for the Ayyi Auditioner service and deprecated local audio playback. The main immediate advantage of this is resampling.
Added 'Play All' menu item.
Auditioning of filemanager items is now possible.
Added "Add dir to database" menu item to FileManager directory tree.

20100610: Version 0.1.0. Added spectrogram display using the code from libsndfile. Added peak_level property to backends and Inspector.

20100421: Version 0.0.9. Still incomplete Tracker backend updated to use the Tracker 0.9 API. Bugfixes. Thanks to Philipp.

20091008: Version 0.0.8. Sqlite backend support added. Partial Tracker backend support added.

20090722: Added configure options for Sqlite and Tracker backends. However, code for both of these is not yet complete and shouldn't be enabled.

features

  • catalogues 'offline' (eg cdrom), as well as 'online' sample files.
  • supported filetypes are wav, flac, aiff, sd2, etc, via libsndfile.
  • metadata stored: filename, path, samplerate, channels, mimetype, peak level, and a small waveform overview.
  • freeform tagging.
  • browsing is done by directory, and filtering is on name, path or tag.
  • spectrogram display.
  • auditioning of samples is possible via JACK.
  • samples can be renamed, moved and copied to other directories.

samplecat screenshot

installation

  • download source (or use the gentoo ebuild, or arch package)
  • untar, configure, make, make install.
  • dependencies: ayyi_auditioner, gtk+2.4, jack, libsndfile, dbus.
  • optional dependencies: mysqlclient, sqlite, tracker-0.9, fftw, gtkglext.

usage

  • import files or directories using drag and drop.
  • if a file is currently mounted, an icon will be shown in the main table. Select Update on the context menu to refresh its status.
  • set tags by 1) selecting Edit Tags on the context menu, 2) double clicking the tag area, 3) enter text in the Edit box at the top of the window and hit the "Set Category" button.
  • to move a file in the filesystem, drag it from the main list to a directory in the directory tree on the left.
  • to rename a file in the filesystem, select it, then click on the name.
  • auditioning is started by clicking in the waveform view. Jack ports are not created until auditioning is started for the first time. Once a sample has been loaded into the Auditioner it can be triggered via MIDI at different pitches.
  • import files into your audio editor using dragndrop.
  • apply colour coding by dragging from the colour bar. Right click on the colour bar to change the colour palette.

limitations

  • currently, auditioning is stereo only. Files with more than 2 channels cannot be auditioned.

Comments

Hi, I'm trying to compile

Hi, I'm trying to compile 0.1.2 but I get this error when I run "make" (I tried using the "Send feedback" form but I got an error that the mail couldn't be sent, so I'm posting here):

$ make
make all-recursive
make[1]: Entering directory `/home/renato/src/samplecat/src/samplecat-0.1.2'
Making all in ayyi
make[2]: Entering directory `/home/renato/src/samplecat/src/samplecat-0.1.2/ayyi'
make all-am
make[3]: Entering directory `/home/renato/src/samplecat/src/samplecat-0.1.2/ayyi'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/renato/src/samplecat/src/samplecat-0.1.2/ayyi'
make[2]: Leaving directory `/home/renato/src/samplecat/src/samplecat-0.1.2/ayyi'
Making all in src
make[2]: Entering directory `/home/renato/src/samplecat/src/samplecat-0.1.2/src'
Making all in file_manager
make[3]: Entering directory `/home/renato/src/samplecat/src/samplecat-0.1.2/src/file_manager'
make all-recursive
make[4]: Entering directory `/home/renato/src/samplecat/src/samplecat-0.1.2/src/file_manager'
Making all in filetypes
make[5]: Entering directory `/home/renato/src/samplecat/src/samplecat-0.1.2/src/file_manager/filetypes'
/bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src -I../../../libs -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -O0 -g -DDEBUG -pipe -fmessage-length=139 -fdiagnostics-show-location=every-line -MT libsf2_la-soundfont.lo -MD -MP -MF .deps/libsf2_la-soundfont.Tpo -c -o libsf2_la-soundfont.lo `test -f 'soundfont.c' || echo './'`soundfont.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src -I../../../libs -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -O0 -g -DDEBUG -pipe -fmessage-length=139 -fdiagnostics-show-location=every-line -MT libsf2_la-soundfont.lo -MD -MP -MF .deps/libsf2_la-soundfont.Tpo -c soundfont.c -fPIC -DPIC -o .libs/libsf2_la-soundfont.o
In file included from soundfont.c:22:0:
../file_manager.h:10:52: fatal error: file_manager/filetypes/filetype_plugin.h: No such file or directory
compilation terminated.
make[5]: *** [libsf2_la-soundfont.lo] Error 1
make[5]: Leaving directory `/home/renato/src/samplecat/src/samplecat-0.1.2/src/file_manager/filetypes'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/renato/src/samplecat/src/samplecat-0.1.2/src/file_manager'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/renato/src/samplecat/src/samplecat-0.1.2/src/file_manager'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/renato/src/samplecat/src/samplecat-0.1.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/renato/src/samplecat/src/samplecat-0.1.2'
make: *** [all] Error 2

Hi. The 0.1.2 tarball has now

Hi. The 0.1.2 tarball has now been updated to include the missing file. Sorry for the mistake! I also need to fix the broken site Feedback function caused by the hosts new email security policy. Regards.

Hi, sorry for long delay, I

Hi, sorry for long delay, I had unfortunately completely forgotten about samplecat until today ;) Now it compiles fine, but I'm getting this error when I try to run it:
http://pastebin.com/H4ACQsBt
BTW a similar problem seems to also affect Captain_Sandwich on this page:
http://aur.archlinux.org/packages.php?ID=33263
we both user Archlinux and that's the page of the samplecat build scripts for Arch.

Thanks for the backtrace but

Thanks for the backtrace but unfortunately I am not able
to get much information from it as samplecat appears to be built
without debugging symbols. This is strange actually because by
default it is built with debug symbols. Perhaps Arch strips them out?

Your best bet is to try the pre-release version:
(you will need git and gdb installed)

git clone git://github.com/ayyi/Samplecat.git
cd Samplecat
./autogen.sh && ./configure
make
gdb src/samplecat
run -v 1

When it crashes, type 'backtrace'.

If you are able to do the above please let me know how it goes.
It would also be useful to see the output of 'configure'.

Thanks

Thank you, the git version

Thank you, the git version compiles and runs fine! Since I had allready pastebinned it, here's the output of configure:
http://pastebin.com/Bq68rVvz

BTW if you read the Arch link I posted before, you'll see that the user "speps" says he doesn't get the error I got with the tarball.... so maybe it wasn't specific to Arch? who knows

cheers

send feedback