Re: [ecasound] optional dependencies

From: Kai Vehmanen <kvehmanen@email-addr-hidden>
Date: Sat Jul 17 2010 - 10:27:09 EEST


On Mon, 12 Jul 2010, Philipp wrote:

> Another thing I'm looking at to improve my distributions Ecasound binary
> are optional dependencies. In my case these are dependencies that either

one quick tip is to take a look at ecasoundrc(5) man page. It provides one
list of external programs ecasound uses for different audio formats. All
of these are optional in the sense that ecasound will gracefully ignore
any formats for which that handler programs are missing.

But let's go through the list:

> Optional when running Ecasound:
> - for real-time audio input/output: ALSA, JACK or OSS runtime <- I
> guess those are linked and it breaks if it's not present

Yes, ALSA and JACK are linked in. OSS does not have any user-space
library, so it doesn't cause any additional dependencies if enabled.

> - for mp3 support: mpg123 (input) and lame (output) packages <- I guess
> this should be the other way around, but both can be used as optional
> dependency, right?

Yep, these are both optional. The input/output terms are from ecasound's
point of view (i.e. to implement the ecasound mp3 input, mpg123 is used as
a decoder, while lame is used to implement the mp3 output, for encoding).

> - for Ogg Vorbis support, the vorbis-tools package (ogg123 and vorbize)
> <- first time I heard of vorbize, does it still exist? A quick search

Oops, these are optional, but mentioning 'vorbize' is actually a bug on
the web page. Ecasound has actually used 'oggenc' by default since 2001,
but I never updated the web page it seems. I'll do that now... thanks for
the bugreport! :)

> - for .aac/.m4a/.mp4 file support, the FAAC/FAAD2 tools <- probably not
> linked?

Yep, optional (not linked).

> - for .flac support, the FLAC package
> - note: since ecasound 2.4.5, libsndfile is the preferred
> way for reading and writing FLAC files <- I think our ecasound
> package will depend on libsndfile anyway through jack, so we
> won't need this one

Yep, I recommend linking against libsndfile. But it is possible to make
this optional as well (by using the flac command-line tools to implement

> - for MIDI .mid file input: Timidity++ <- for input? I guess it's for
> output and doesn't need linking?

Yep, externel app, and thus optional.

> - for tracker module support: MikMod package <- linked?

Same for this.

> Assuming my assumptions are right, these wouldn't need to be present at
> buildtime and could be installed by the user later on:
> mpeg123
> lame
> ogg123
> oggenc (or something like it)
> faac
> faad2
> timidity++

Yep, that's correct. Addtionally none of these are hard-coded. A distro
may choose other apps to do the encoding/decoding -> you just have to
patch the default ecasoundrc that comes with ecasound (see ecasoundrc(5)
man page).

This email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit --
Ecasound-list mailing list
Received on Sat Jul 17 12:15:03 2010

This archive was generated by hypermail 2.1.8 : Sat Jul 17 2010 - 12:15:03 EEST