Re: [ecasound] Ecasound qt projects

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [ecasound] Ecasound qt projects
From: Kai Vehmanen (k_AT_eca.cx)
Date: Sat Oct 06 2001 - 17:10:41 EEST


On Fri, 5 Oct 2001, Tony Leake wrote:

> Also more generally, is it a bad idea in general to use eca control
> onterface as even with a very simple gui (ie a start and stop button) I'm
> getting a lot of random interfearance, now this may just be simple newbie
> errors but I just want to be sure I'm not heading in a bad direction.

What do you mean by random interference - problems with audio quality or
possibly something else...? Apps using the control interface (ECI) should
perform just as good as any other ecasound app (or ecasound itself). All
the heavy work is done by the ecasound engine. ECI just provides yet
another way to control it.

Ways to use libecasound can be divided into three different approaches
(exluding just forking ecasound):

1. ECI (ecasound/eca-control-interface.h)
2. the ECA_CONTROL class in libecasound (ecasound/eca-control.h)
3. using individual libecasound classes (ecasound/*.h)

As a general rule, if (1) is enough for your needs, use it, otherwise
you need (2), and in some cases (3). But the added functionality of (2)
and (3) doesn't come without a price. (1) is well-defined, documented and
stable. (2) is still pretty well documented (class documentation), but
changes happen often. And (3), well, libecasound is a big library, over
1.3MB of code, and is in constant development.

> Are there any other apps which use the eca controll interface and a gui as
> I'd really like to look at some source examples for ideas?

I've written three Qt-apps that use libecasound, ecawave, ecamegapedal and
qtecasound (check eca.cx for downloads), but none of these are pure
ECI-apps.

Ecawave and ecamegapedal primarily use the ECA_CONTROL class (2). But for
certain functions, ECA_CONTROL is not enough. For instance ecamegapedal's
vu-meter is implemented as a ecasound chain operator which is inserted to
the engine. Similarly ecawave's wave-display required access to some
libecasound internals. But as long as ECA_CONTROL is enough, I use
it. This way I don't have to change ecawave and ecamegapedal everytime I
make changes to libecasound. Using ECI is an even better way to ensure
this.

Qtecasound is not a good example as it messes too much with libecasound
internals. Understanding qtecasound code requires that you understand
libecasound... and this is not a good thing.

What kind of application you have in mind?

-- 
 http://www.eca.cx
 Audio software for Linux!

-- To unsubscribe send message 'unsubscribe' in the body of the message to <ecasound-list-request_AT_wakkanet.fi>.


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sat Oct 06 2001 - 17:07:55 EEST