This month we have for your reading pleasure ...
Sweep is a Linux tool for editing and playing soundfiles in some
non-standard ways. We talk to developer Conrad Parker. Interview
Erik de Castro Lopo is the author of libsndfile and Secret Rabbit -
libsamplerate. Here he talks to us about OO, C, C++, and testing.
No response to the beta testing request, so I'll have to subject you all
to a likely hairy release :) Arbitrary channels are the biggest thing.
Also, previous save files will no longer work as the save files use XML
now. Sorry, but it's better to change it now instead of later as
changing the xml format will create less of a disturbance.
* can now have arbitrary channel numbers. you can use any plugin that has
equal numbers of input and output channels where they divide exactly into
the number of rack channels. eg, you could have a 4 channel rack with 2
stereo plugins in one slot and 4 mono plugins in another. obviously, you
can also have mono racks now. use the -c command line option to specify
the number of channels on startup.
* now, when you lock a group of controls, only one widget will be shown.
click on a control while holding down the CTRL key to make it the one that
* the PID is now used in the jack client name by default. you can change it
to the previous behaviour (of using just "jack_rack") with the -n option.
* save files now use an XML format (which is incompatible with the previous
* port connecting works now, -i to connect inputs, -o to connect outputs
* quite a bit of code factoring and cleanups and stuff
If you're happy and you know it, bomb iraq
BLOP is a set of LADSPA plugins - after way too long, it's up to v0.2.6
This release includes:
* Full RDF metadata, for use with liblrdf
* Bandlimited oscillators (no aliasing noise)
Variable width pulse
Variable slope triangle
Improved performance and quality (fixed some stupid
mistakes) over v0.2.5
4 Pole Moog-type resonant filter
Tuned, stable LADSPA version of this filter:
Single gate with variable threshold
Gate + Trigger variant (New since v0.2.5)
Analogue-Style Step Sequencer (New since v0.2.5)
Random wave generator, amplifier, 1V/Octave->Hz convertor ('fmod') and a
few other useful things.
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
Sweep 0.5.4 Development Release
Sweep is a sound wave editor, and it is now also generally useful as a
flexible recording and playback tool. Inside lives a pesky little virtual
stylus called Scrubby who enjoys mixing around in your files.
This development release is available as a source tarball at:
Changes since version 0.5.3 (September 5 2002) include bug fixes for
playback during destructive operations and for edits of tiny regions,
and improvements in configuration checks for libsndfile-1.0.0.
Additionally, scrubbing is now working for reverse playback, and has been
tuned for responsiveness independent of sample rate.
There is now a web page introducing Scrubby and outlining a few simple
editing and live performance techniques:
Summary of library dependencies:
* GTK+ 1.2 (standard in most distributions)
* libsndfile-1.0.0, available at:
* libtdb, available in many distributions or at:
Sweep is designed to be intuitive and to give you full control. It includes
almost everything you would expect in a sound editor, and then some:
* precise, vinyl like scrubbing
* looped, reverse, and pitch-controlled playback
* playback mixing of unlimited independent tracks
* looped and reverse recording
* multichannel and 32 bit floating point file support
* LADSPA 1.1 effects support
* multiple views, discontinuous selections
* easy keybindings, mouse wheel zooming
* unlimited undo/redo with fully revertible edit history
* multithreaded background processing
* shaded peak/mean waveform rendering, multiple colour schemes
Help wanted! Sweep needs testing; please report any problems encountered!
Urgent development is required in the following areas: ALSA and Jack support,
updating of translations and user documentation. (NB. Sweep works fine with
ALSA under OSS emulation -- the native ALSA support needs some fixing).
Sweep is Free Software, available under the GNU General Public License.
More information is available at:
Thanks to Pixar Animation Studios and CSIRO Australia for supporting the
development of this project.
GStreamer "Hottest Pick" 0.6.0 released[*]
The GStreamer team is happy to announce our first ABI stable release
series. The 0.6.x series of the GStreamer streaming-media framework.
At this point in time GStreamer is fully functional for creating
audio-based applications, as shown by applications such as
gnome-sound-recorder, Rhythmbox and nautilus-media.
Video-based applications still have some issues at this point, but we
plan on solving those issues during the 0.6.x series in an ABI
We will also be releasing a development 0.7 release series, in which we
will work on such things as the remaining video issues and the
interactivity support which is needed for DVD menus and SWF (Flash).
This means developers working on apps needing these services can use the
0.7 series for development and then enable 0.6 support as these
additions optionally get backported to 0.6 once they are stable and work
Thread issues and GStreamer
Many of GStreamer's features relies heavily on threads. Unfortunately
everything is not rosy in the Linux world of threads. If you have a
glibc version installed compiled with i686 optimizations (which uses a
different codepath than standard i386 glibc), there is a good chance you
will experience thread-related crashes in gstreamer-based applications.
There are a few workarounds to this available.
* You can use an i386 glibc package instead. (Since this is the
only one shipping with Debian, debian users do not experience
* You can also try running the gstreamer-based applications using
the command-line option --gst-scheduler=opt, which invokes a
newly created scheduler that does not use threads. This
scheduler is very new however so you might encounter other
issues when using it. Please report issues to our bugzilla.
The GStreamer applications we ship all check for both gstreamer-0.6,
gstreamer-libs-0.6 and gstreamer-play-0.6; if those aren't found the 0.7
version of those files are checked for. We suggest anyone making
GStreamer-based apps do the same.
We are starting to have a really nice collection of applications under
development using GStreamer. If you are looking for something specific
check out our applications status page:
* Pipeline based media architecture
* Over 130 plugins
* All parts interchangeable
* Few dependencies, only glib, popt and libxml for core (libxml
* Python Language bindings
* Good documentation
* Will be widely deployed through bundling with GNOME 2.2
* Design catering also for applications needing low-latency
* Highly portable, already running on most mainstream CPU's
* Modular design and use of 3rd party best of breed libraries
means no bloat
* LGPL licensing lays no restrictions on application developers
* Easy for applications to ship their own plugins to the core as
* Compiles with both GCC and Forte compilers
* Tested to run on Linux, FreeBSD and Solaris
More details on these features can be found on the project's website,
Download and build instructions:
Support and Bugs
We use Gnome's Bugzilla (http://bugzilla.gnome.org) for bug reports and
feature requests. The "product name" is GStreamer (capital G). Please do
the following before writing a bug report :
gst-feedback &> feedback 2>&1
and attach the file "feedback" to your bug report, so that we have some
information useful in the debugging process.
GStreamer is hosted on SourceForge. All code is in CVS and can be
checked out from there. Interested developers of the core library,
plug-ins, and applications should subscribe to the gstreamer-devel list.
If there is sufficient interest we will create more lists as necessary.
We are still looking for people with access to FreeBSD, Solaris, HP-UX,
Irix and True64 that would be willing to try building and testing
GStreamer. Patches fixing such problems are also more than welcome.
Contributors to this release
Patches to the core of Gstreamer
* Wim Taymans <wim.taymans(AT)chello.be>
* Erik Walthinsen <omega(AT)temple-baptist.com>
* Thomas Vander Stichele <thomas(AT)apestaart.org>
* David I. Lehn <dlehn(AT)vt.edu>
* David Schleef <ds(AT)schleef.org>
* Brian Cameron <brian.cameron(AT)sun.com>
* Joshua N Pritikin <vishnu(AT)pobox.com>
Plugins and Sample Applications
* Julien MOUTTE <jmoutte(AT)electronic-group.com>
* Cameron Hutchison <camh+gst(AT)xdna.net>
* Ronald Bultje <rbultje(AT)ronald.bitfreak.net>
* Steve Baker <stevebaker_org(AT)yahoo.co.uk>
* Iain Holmes <iain(AT)prettypeople.org>
* Jérémy Simon <jsimon13(AT)yahoo.fr>
* Jan Schmidt <thaytan(AT)mad.scientist.com>
* Daniel Fischer <dan(AT)f3c.com>
* Martin Schlemmer <azarah(AT)gentoo.org>
* Andrew Turner <zombie(AT)4free.co.nz>
* Owen Fraser-Green <owen(AT)discobabe.net>
* Leif Morgan Johnson <lmjohns3(AT)eos.ncsu.edu>
* Benjamin Otte <in7y118(AT)public.uni-hamburg.de>
* Christian Fredrik Kalager Schaller <Uraeus(AT)gnome.org>
* Alp Toker <alp(AT)atoker.com>
[*]: GStreamer is Hottest Pick in the UK Linux Format #36, out now !