[ecasound] stable interfaces are boring!

New Message Reply Date view Thread view Subject view Author view Other groups

Subject: [ecasound] stable interfaces are boring!
From: Kai Vehmanen (k@eca.cx)
Date: Sat Aug 18 2001 - 14:57:54 EEST


The subject doesn't sound very good from end-user point of view,
but it's just... well, true.

Ecasound library interface (libecasound.so.7) has been frozen (both binary
and source wise) since 27 Apr 2001. This has been a good thing, but at the
same time it pretty much has tied my hands. I can't do any bigger changes
or additions without breaking the interface.

For maintaining binary level compatibility, C is not a good language. And,
C++, well, it's _much_ worse (just check
http://www.trolltech.com/developer/faq/tech.html#bincomp ). It's a bit
ironic that these two languages happen to be the most common languages
used for making binary-distributed software. I just have to raise my hat
for Trolltech (Qt) and the KDE guys. Because of this C++ "feature", their
job is not very easy.

It's very likely that in the future each ecasound minor version (2.2, 2.4,
2.6, etc) will break libecasound interface. In other words:
        2.0: libecasound.so.7 frozen 27.04.2001
        2.1: libecasound.so.8 development
        2.2: libecasound.so.8 frozen xx.xx.200x
        2.3: libecasound.so.9 development
        2.4: libecasound.so.9 frozen yy.yy.200y
        ...

On the bright side, ECI C API (libecasoundc) will be much more stable. One
open question is, whether the C++ ECI API (class EC_CONTROL_INTERFACE)
should be separated from the main libecasound library (possibly to
libecasoundc).

This also means, that projects using ecasound should use the ECI API.
Libecasound should only be used when absolutely necessary. Unfortunately
standalone apps written by me (ecawave, qtecasound, ecamegapedal), do use
libecasound... :(

But if done consistenly, multiple library versions shouldn't be problem.
You can for instance have ecawave using libecasound.so.7 and ecasound
using libecasound.so.8 installed at the same time.

Comments?

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

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


New Message Reply Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sat Aug 18 2001 - 14:58:25 EEST