Audio-LADSPA

 view release on metacpan or  search on metacpan

XS/XS.xs  view on Meta::CPAN

    unsigned long index = port_index(descriptor, port);
    RETVAL = LADSPA_IS_HINT_SAMPLE_RATE(descriptor->PortRangeHints[index].HintDescriptor);
    OUTPUT:
    RETVAL

bool
is_logarithmic(self, port)
    SV* self
    SV* port
    CODE:
    LADSPA_Descriptor* descriptor = my_descriptor(self);
    unsigned long index = port_index(descriptor, port);
    RETVAL = LADSPA_IS_HINT_LOGARITHMIC(descriptor->PortRangeHints[index].HintDescriptor);
    OUTPUT:
    RETVAL


SV *
default(self, port)
    SV* self
    SV* port
    CODE:
    LADSPA_Descriptor* descriptor = my_descriptor(self);
    unsigned long index = port_index(descriptor, port);
    const LADSPA_PortRangeHint hint = descriptor->PortRangeHints[index];
    if (!LADSPA_IS_HINT_HAS_DEFAULT(hint.HintDescriptor))
    	RETVAL = &PL_sv_undef;
    else if (LADSPA_IS_HINT_DEFAULT_MINIMUM(hint.HintDescriptor))
	RETVAL = newSVpvn("minimum",7);
    else if (LADSPA_IS_HINT_DEFAULT_LOW(hint.HintDescriptor))
	RETVAL = newSVpvn("low",3);
    else if (LADSPA_IS_HINT_DEFAULT_MIDDLE(hint.HintDescriptor))
	RETVAL = newSVpvn("middle",6);
    else if (LADSPA_IS_HINT_DEFAULT_HIGH(hint.HintDescriptor))
	RETVAL = newSVpvn("high",4);
    else if (LADSPA_IS_HINT_DEFAULT_MAXIMUM(hint.HintDescriptor))
	RETVAL = newSVpvn("maximum",7);
    else if (LADSPA_IS_HINT_DEFAULT_0(hint.HintDescriptor))
	RETVAL = newSVpvn("0",1);
    else if (LADSPA_IS_HINT_DEFAULT_1(hint.HintDescriptor))
	RETVAL = newSVpvn("1",1);
    else if (LADSPA_IS_HINT_DEFAULT_100(hint.HintDescriptor))
	RETVAL = newSVpvn("100",3);
    else if (LADSPA_IS_HINT_DEFAULT_440(hint.HintDescriptor))
	RETVAL = newSVpvn("440",3);
    else 
	croak("Port hintdescriptor error, value is: %lx",hint.HintDescriptor);
    OUTPUT:
    RETVAL

void
set_monitor( self, monitor )
    Audio_LADSPA_Plugin self
    SV* monitor
    CODE:
    if (! SvTRUE(monitor)) {
	self->monitor = &PL_sv_undef;
    }
    else {
	self->monitor = newSVsv(monitor);
	SvREFCNT_dec(SvRV(monitor));	/* weaken ref */
    }


SV*
monitor( self )
    Audio_LADSPA_Plugin self
    CODE:
    RETVAL = newSVsv(self->monitor);
    OUTPUT:
    RETVAL


unsigned long
port2index( self, port )
    SV* self
    SV* port
    CODE:
    RETVAL = port_index(my_descriptor(self), port);
    OUTPUT:
    RETVAL


void
set_uniqid( self, uid )
    Audio_LADSPA_Plugin self
    SV* uid
    CODE:
    self->uniqid = newSVsv(uid);

SV*
get_uniqid( self )
    Audio_LADSPA_Plugin self
    CODE:
    RETVAL = newSVsv(self->uniqid);
    OUTPUT:
    RETVAL

    



( run in 0.625 second using v1.01-cache-2.11-cpan-acf6aa7dc9e )