Re: [linux-audio-dev] Simple Plugin API: In/Out Ports

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

Subject: Re: [linux-audio-dev] Simple Plugin API: In/Out Ports
From: Juhana Sadeharju (kouhia_AT_nic.funet.fi)
Date: su maalis 05 2000 - 10:51:33 EST


>From: Benno Senoner <sbenno_AT_gardena.net>
>like malloc() etc in a separate thread in the host which runs
>without RT privileges.

Why not use malloc() (or dlopen(), say) in a thread with lower RT priority?
Any technical reasons?

>> be in the correct state at that time. The main example of this is from
>> Csound, where function tables (sort of generalized wavetables) can
>> come and go,

I don't get it. If a reference count to a resource is non-zero, then it
cannot be removed.

If there is a possibility that a function table is being modified
at instantation time, the tables should be double buffered so that
we have always a fixed copy of the table. If then the table is taken
to use, we should again have a double buffered copy of table if table
is used again. This leads to ituation that indeed we have to maintain
tables of all N voices (N+1 tables, not 2*N tables, right?) even not
all of them are used.

>If you want to trigger certain actions during the song,
>like loading a new instrument from disk (MIDI program change) during a song,
>the only way I see is to instantiate-ahead,
>this will work for sequenced data but not for live performance.

I had this instrument/opcode pool idea while ago in this list:
Pool has initiated opcodes and instruments available; they can be
taken to use within minimum time. After use they are reinitialized
(by engine service thread) before they are put back to pool.

Juhana


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

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:23:28 EST