[LAD] Help with ALSA plugin - adding real time parameter

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: linux-audio-dev@lists.linuxaudio.org <linux-audio-dev@...>
Date: Tuesday, August 2, 2011 - 4:46 pm

--0-1307444440-1312303594=:38499
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,=0A=0AI am trying to get my own ALSA plug-in to work with some real time=
controls.=A0 ( Is this the right place to ask?)=0A=0AI am successful with =
the PCM part of it.=A0 What I mean is from:=0A=0Ahttp://www.alsa-project.or=
g/alsa-doc/alsa-lib/pcm_external_plugins.html=0AExternal Plugin: Filter-Typ=
e Plugin=0A=0Astatic snd_pcm_sframes_t=0Amyplg_transfer(snd_pcm_extplug_t *=
ext,=0A=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 const snd_pcm_channel_area_t *dst_are=
as,=0A=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 snd_pcm_uframes_t dst_offset,=0A=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 const snd_pcm_channel_area_t *src_areas,=0A=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 snd_pcm_uframes_t src_offset,=0A=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0 snd_pcm_uframes_t size)=0A{=0A// my PCM processing works=0A// =
I want to add a control parameter that can be set in real time by an app=0A=
}=0A=0ASND_PCM_PLUGIN_DEFINE_FUNC(myplg)=0A{=0A// This all works for PCM pr=
ocessing just like the examples=0A...=0Aerr =3D snd_pcm_extplug_create(&mix=
->ext, name, root, sconf, stream, mode);=0A=A0=A0=A0 if (err < 0) {=0A=A0=
=A0=A0=A0=A0=A0=A0 free(mix);=0A=A0=A0=A0=A0=A0=A0=A0 return err;=0A=A0=A0=
=A0 }=0A...=0A}=0A=0ASND_PCM_PLUGIN_SYMBOL(myplg);=0A=0A=0ANow I want to ad=
d a simple real time adjustment, an integer value that can be sent by an ap=
plication to adjust the sound (PCM samples) in real time.=A0 I tried some w=
ays of doing it it but without success, I am not understanding the basics.=
=0A=0AI first looked at doing a ctl. I was able=A0 get separately (without =
PCM processing) get a control to work but that looks like ts only for hardw=
are control?=A0 I can't connect it to my PCM processing.=0A=0Ahttp://www.al=
sa-project.org/alsa-doc/alsa-lib/ctl_external_plugins.html=0A=0AI looked at=
LADSPA but I'm not sure where that is going to take me.=0A=0AI am now look=
ing at=0A=0Ahttp://www.alsa-project.org/alsa-doc/alsa-lib/pcm_external_plug=
ins.html=0AExternal Plugin: I/O Plugin=0A=0ABut, I am confused because I al=
so see pcm type callbacks.=0A=0ASo, I do not have a specific coding questio=
n (yet) but I just need a general direction. ...=0A-Should I use ctl_extern=
al_plugins and figure out how to use it with my PCM?=0A-Should=A0 I use a L=
ADSPA example?=0A-Should I go wth External Plugin: I/O Plugin?=0A-Something=
else?=0A=0AI hope I am clear enough about my question and thanks for any p=
ointers you can provide.=0A=0ABob
--0-1307444440-1312303594=:38499
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,I am tryin=
g to get my own ALSA plug-in to work with some real time controls.  ( =
Is this the right place to ask?)I am successful with the PCM part o=
f it.  What I mean is from:http://www.alsa-project.org/alsa-do=
c/alsa-lib/pcm_external_plugins.htmlExternal Plugin: Filter-Type Plugin=
static snd_pcm_sframes_tmyplg_transfer(snd_pcm_extplug_t *ext,<=
br>           const snd_p=
cm_channel_area_t *dst_areas,       =
    snd_pcm_uframes_t dst_offset,   &nbsp=
;       const snd_pcm_channel_area_t *src_are=
as,           snd_pcm=
_uframes_t
src_offset,         &nbsp=
; snd_pcm_uframes_t size){// my PCM processing works// I want t=
o add a control parameter that can be set in real time by an app}SND_PCM_PLUGIN_DEFINE_FUNC(myplg){// This all works for PCM proce=
ssing just like the examples...err =3D snd_pcm_extplug_create(&=
mix->ext, name, root, sconf, stream, mode);    if (er=
r < 0) {        free(mix);&nb=
sp;       return err;    }=
...}SND_PCM_PLUGIN_SYMBOL(myplg);Now I want to =
add a simple real time adjustment, an integer value that can be sent by an =
application to adjust the sound (PCM samples) in real time.  I tried s=
ome ways of doing it it but without success, I am not understanding the bas=
ics.I first looked at doing a ctl. I was able  get
separately (without PCM processing) get a control to work but that looks l=
ike ts only for hardware control?  I can't connect it to my PCM proces=
sing.http://www.alsa-project.org/alsa-doc/alsa-lib/ctl_external_plu=
gins.htmlI looked at LADSPA but I'm not sure where that is going to=
take me.I am now looking athttp://www.alsa-project.org/als=
a-doc/alsa-lib/pcm_external_plugins.htmlExternal Plugin: I/O Plugin=
But, I am confused because I also see pcm type callbacks.So, I =
do not have a specific coding question (yet) but I just need a general dire=
ction. ...-Should I use ctl_external_plugins and figure out how to use =
it with my PCM?-Should  I use a LADSPA example?-Should I go wt=
h External Plugin: I/O Plugin?-Something else?I hope I am clear=
enough about my question and thanks for any pointers you can provide.<=
br>Bob
--0-1307444440-1312303594=:38499--

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[LAD] Help with ALSA plugin - adding real time parameter, Bob DeCarlo, (Tue Aug 2, 4:46 pm)