Re: [ecasound] [ecasound-list] pyecasound and python3

From: Ray Rashif <schiv@email-addr-hidden>
Date: Sat Sep 04 2010 - 15:07:56 EEST

On 4 September 2010 18:48, Kai Vehmanen <kvehmanen@email-addr-hidden> wrote:
> Hi,
>
> On Sat, 21 Aug 2010, Ray Rashif wrote:
>
>> I understand that python is needed for third-party
>> applications/developers wishing to make use of the ECI API. It appears
>> that ecasound builds cleanly with python2 or python3 but that leaves
>> me with a concern: will python3 be compatible when the API is in
>> actual use, i.e when working with the provided modules?
>
> as pointed out by others, python is just one of the languages for which
> Ecasound's ECI API is available. But it was one of the first, so there are
> quite a lot of options (plus history) related to it.
>
> There are actually two separate implementations of ECI API for python:
>  1) native implementation (pyecasound.so)
>        - built against the Python module API (python.h)
>        - installed as pyecasound.so
>        - enabled by passing '--enable-pyecasound=c' to configure
>        - potentially a bit faster, but depends on python runtime and
>          major+minor version (needs to be rebuilt if python is upgraded)
>  2) standalone implementation (ecacontrol.py)
>        - installed as python scripts -> ecacontrol.py
>        - installed unless explicitly disable by passing
>          '--disable-pyecasound' to configure
>        - forks '/usr/bin/ecasound' on the background and communicates
>          via pipes to implement the ECI API (e.g. python is running
>          in separate process context than the ecasound binary)
>        - no build-time dependency to python
>
> Python applications can use pyeca.py, which provides an automatic fallback
> from (1) to (2) if pyecasound.so is not available (or does not work).
>
> As for your question, if the native implementation builds against python3
> headers, you should be fine. The standalone implementation has to be tested
> at runtime (e.g. if you can pass the unit tests under ecasound/pyecasound/
> with python3 installed, you should be fine).
>
> The standalone implementation is portable in the sense that you can use
> it with different python versions. The native implementation has to be built
> against a specific python module API (e.g. pythonx.y).

Thanks a lot Kai. I forgot to follow-up on this:

ecamonitor does not work with python3

I did not note the error, but it looked like a minor syntax issue
which you should be able to figure out when and if you make the
transition.

Other than that, python2.7 runs fine and dandy, passes the unit tests
and importing works.

Regards

------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:

Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
Ecasound-list mailing list
Ecasound-list@email-addr-hidden
https://lists.sourceforge.net/lists/listinfo/ecasound-list
Received on Sat Sep 4 16:15:06 2010

This archive was generated by hypermail 2.1.8 : Sat Sep 04 2010 - 16:15:06 EEST