Exemplo n.º 1
0
int main( int argc, const char* argv[] )
{
	init_video();
	loop();
	delete_buffers();

	return 0;
}
Exemplo n.º 2
0
static void
end(void)
{
  delete_buffers();
}
Exemplo n.º 3
0
	~GuvcviewFormatConverter() {
		jpeg_close_decoder();
		delete_buffers();
	}
Exemplo n.º 4
0
void PluginAClientLAD::init_plugin(int total_in, int total_out, int size)
{
	int need_reconfigure = !lad_instance ? 1 : 0;
	if(buffer_allocation && buffer_allocation < size) {
		delete_buffers();
		need_reconfigure = 1;
	}

	buffer_allocation = MAX(size, buffer_allocation);
	if(!in_buffers) {
		total_inbuffers = total_in;
		in_buffers = new LADSPA_Data*[total_inbuffers];
		for(int i = 0; i < total_inbuffers; i++) 
			in_buffers[i] = new LADSPA_Data[buffer_allocation];
		need_reconfigure = 1;
	}

	if(!out_buffers) {
		total_outbuffers = total_out;
		out_buffers = new LADSPA_Data*[total_outbuffers];
		for(int i = 0; i < total_outbuffers; i++) 
			out_buffers[i] = new LADSPA_Data[buffer_allocation];
		need_reconfigure = 1;
	}

	if( load_configuration() )
		need_reconfigure = 1;

	const LADSPA_Descriptor *lad_desc = server->lad_descriptor;
	if( need_reconfigure ) {
		need_reconfigure = 0;
		delete_plugin();
		lad_instance = lad_desc->instantiate(
				lad_desc,PluginAClient::project_sample_rate);
		const LADSPA_PortDescriptor *port_desc = lad_desc->PortDescriptors;
		int port_count = lad_desc->PortCount;
	
		for(int port = 0, i = 0; i < port_count; i++) {
			if( LADSPA_IS_PORT_INPUT(port_desc[i]) &&
			    LADSPA_IS_PORT_CONTROL(port_desc[i]) ) {
				lad_desc->connect_port(lad_instance, i,
					config.port_data + port);
				port++;
			}
			else if( LADSPA_IS_PORT_OUTPUT(port_desc[i]) &&
				 LADSPA_IS_PORT_CONTROL(port_desc[i]) ) {
				lad_desc->connect_port(lad_instance, i,
					&dummy_control_output);
			}
		}
		if(lad_desc->activate) lad_desc->activate(lad_instance);
	}

	const LADSPA_PortDescriptor *port_desc = lad_desc->PortDescriptors;
	int port_count = lad_desc->PortCount;
	for(int port = 0, i = 0; i < port_count; i++) {
		if( LADSPA_IS_PORT_INPUT(port_desc[i]) &&
		    LADSPA_IS_PORT_AUDIO(port_desc[i]) )
			lad_desc->connect_port(lad_instance, i, in_buffers[port++]);
	}

	for(int port = 0, i = 0; i < port_count; i++) {
		if( LADSPA_IS_PORT_OUTPUT(port_desc[i]) &&
		    LADSPA_IS_PORT_AUDIO(port_desc[i]) )
			lad_desc->connect_port(lad_instance, i, out_buffers[port++]);
	}
}
Exemplo n.º 5
0
PluginAClientLAD::~PluginAClientLAD()
{
	delete_buffers();
	delete_plugin();
}