Lines Matching refs:ladspa

41 #include "ladspa.h"
195 static void snd_pcm_ladspa_free(snd_pcm_ladspa_t *ladspa)
199 snd_pcm_ladspa_free_plugins(&ladspa->pplugins);
200 snd_pcm_ladspa_free_plugins(&ladspa->cplugins);
202 free(ladspa->zero[idx]);
203 ladspa->zero[idx] = NULL;
205 ladspa->allocated = 0;
210 snd_pcm_ladspa_t *ladspa = pcm->private_data;
212 snd_pcm_ladspa_free(ladspa);
218 snd_pcm_ladspa_t *ladspa = pcm->private_data;
231 if (ladspa->channels > 0 && pcm->stream == SND_PCM_STREAM_PLAYBACK) {
232 err = _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_CHANNELS, ladspa->channels, 0);
242 snd_pcm_ladspa_t *ladspa = pcm->private_data;
249 if (ladspa->channels > 0 && pcm->stream == SND_PCM_STREAM_CAPTURE)
250 _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_CHANNELS, ladspa->channels, 0);
302 // snd_pcm_ladspa_t *ladspa = pcm->private_data;
319 static void snd_pcm_ladspa_free_instances(snd_pcm_t *pcm, snd_pcm_ladspa_t *ladspa, int cleanup)
324 list = pcm->stream == SND_PCM_STREAM_PLAYBACK ? &ladspa->pplugins : &ladspa->cplugins;
611 static int snd_pcm_ladspa_allocate_instances(snd_pcm_t *pcm, snd_pcm_ladspa_t *ladspa)
620 list = pcm->stream == SND_PCM_STREAM_PLAYBACK ? &ladspa->pplugins : &ladspa->cplugins;
621 in_channels = ladspa->channels > 0 ? ladspa->channels :
622 (pcm->stream == SND_PCM_STREAM_PLAYBACK ? pcm->channels : ladspa->plug.gen.slave->channels);
679 static LADSPA_Data *snd_pcm_ladspa_allocate_zero(snd_pcm_ladspa_t *ladspa, unsigned int idx)
681 if (ladspa->zero[idx] == NULL)
682 ladspa->zero[idx] = calloc(ladspa->allocated, sizeof(LADSPA_Data));
683 return ladspa->zero[idx];
686 static int snd_pcm_ladspa_allocate_memory(snd_pcm_t *pcm, snd_pcm_ladspa_t *ladspa)
695 ladspa->allocated = 2048;
696 if (pcm->buffer_size > ladspa->allocated)
697 ladspa->allocated = pcm->buffer_size;
700 ochannels = ladspa->plug.gen.slave->channels;
702 ichannels = ladspa->plug.gen.slave->channels;
708 list = pcm->stream == SND_PCM_STREAM_PLAYBACK ? &ladspa->pplugins : &ladspa->cplugins;
759 instance->input.data[idx] = snd_pcm_ladspa_allocate_zero(ladspa, 0);
770 instance->output.data[idx] = malloc(sizeof(LADSPA_Data) * ladspa->allocated);
795 instance->output.data[idx] = snd_pcm_ladspa_allocate_zero(ladspa, 1);
806 printf("zero[0] = %p\n", ladspa->zero[0]);
807 printf("zero[1] = %p\n", ladspa->zero[1]);
825 snd_pcm_ladspa_t *ladspa = pcm->private_data;
828 snd_pcm_ladspa_free_instances(pcm, ladspa, 1);
829 err = snd_pcm_ladspa_allocate_instances(pcm, ladspa);
831 snd_pcm_ladspa_free_instances(pcm, ladspa, 1);
834 err = snd_pcm_ladspa_allocate_memory(pcm, ladspa);
836 snd_pcm_ladspa_free_instances(pcm, ladspa, 1);
844 snd_pcm_ladspa_t *ladspa = pcm->private_data;
846 snd_pcm_ladspa_free_instances(pcm, ladspa, 1);
859 snd_pcm_ladspa_t *ladspa = pcm->private_data;
875 if (size1 > ladspa->allocated)
876 size1 = ladspa->allocated;
877 list_for_each(pos, &ladspa->pplugins) {
920 snd_pcm_ladspa_t *ladspa = pcm->private_data;
936 if (size1 > ladspa->allocated)
937 size1 = ladspa->allocated;
938 list_for_each(pos, &ladspa->cplugins) {
1053 snd_pcm_ladspa_t *ladspa = pcm->private_data;
1057 snd_pcm_ladspa_plugins_dump(&ladspa->pplugins, out);
1059 snd_pcm_ladspa_plugins_dump(&ladspa->cplugins, out);
1065 snd_pcm_dump(ladspa->plug.gen.slave, out);
1594 snd_pcm_ladspa_t *ladspa;
1601 ladspa = calloc(1, sizeof(snd_pcm_ladspa_t));
1602 if (!ladspa)
1604 snd_pcm_plugin_init(&ladspa->plug);
1605 ladspa->plug.init = snd_pcm_ladspa_init;
1606 ladspa->plug.read = snd_pcm_ladspa_read_areas;
1607 ladspa->plug.write = snd_pcm_ladspa_write_areas;
1608 ladspa->plug.undo_read = snd_pcm_plugin_undo_read_generic;
1609 ladspa->plug.undo_write = snd_pcm_plugin_undo_write_generic;
1610 ladspa->plug.gen.slave = slave;
1611 ladspa->plug.gen.close_slave = close_slave;
1613 INIT_LIST_HEAD(&ladspa->pplugins);
1614 INIT_LIST_HEAD(&ladspa->cplugins);
1615 ladspa->channels = channels;
1618 err = snd_pcm_ladspa_build_plugins(&ladspa->pplugins, ladspa_path, ladspa_pplugins, reverse);
1620 snd_pcm_ladspa_free(ladspa);
1627 err = snd_pcm_ladspa_build_plugins(&ladspa->cplugins, ladspa_path, ladspa_cplugins, reverse);
1629 snd_pcm_ladspa_free(ladspa);
1636 snd_pcm_ladspa_free(ladspa);
1641 pcm->private_data = ladspa;
1645 snd_pcm_set_hw_ptr(pcm, &ladspa->plug.hw_ptr, -1, 0);
1646 snd_pcm_set_appl_ptr(pcm, &ladspa->plug.appl_ptr, -1, 0);
1677 type ladspa # ALSA<->LADSPA PCM