- jack_rack_t *jackrack = jack_rack_new( NULL, channels );
- mlt_properties_set_data( properties, "jackrack", jackrack, 0, NULL, NULL );
- jack_rack_open_file( jackrack, mlt_properties_get( properties, "src" ) );
- }
-
- // Allocate buffers
- LADSPA_Data **input_buffers = mlt_pool_alloc( sizeof( LADSPA_Data ) * channels );
- LADSPA_Data **output_buffers = mlt_pool_alloc( sizeof( LADSPA_Data ) * channels );
-
- // Set properties - released inside filter_close
- mlt_properties_set_data( properties, "input_buffers", input_buffers, sizeof( LADSPA_Data *) * channels, NULL, NULL );
- mlt_properties_set_data( properties, "output_buffers", output_buffers, sizeof( LADSPA_Data *) * channels, NULL, NULL );
-
- // Register Jack ports
- for ( i = 0; i < channels; i++ )
- {
- input_buffers[i] = mlt_pool_alloc( BUFFER_LEN * sizeof( LADSPA_Data ) );
- snprintf( mlt_name, sizeof( mlt_name ), "ibuf%d", i );
- mlt_properties_set_data( properties, mlt_name, input_buffers[i], BUFFER_LEN * sizeof( LADSPA_Data ), NULL, NULL );
-
- output_buffers[i] = mlt_pool_alloc( BUFFER_LEN * sizeof( LADSPA_Data ) );
- snprintf( mlt_name, sizeof( mlt_name ), "obuf%d", i );
- mlt_properties_set_data( properties, mlt_name, output_buffers[i], BUFFER_LEN * sizeof( LADSPA_Data ), NULL, NULL );
+ jackrack = jack_rack_new( NULL, channels );
+ mlt_properties_set_data( properties, "jackrack", jackrack, 0,
+ (mlt_destructor) jack_rack_destroy, NULL );
+ jack_rack_open_file( jackrack, resource );