Files
veejay/veejay-current/veejay-server/libplugger/oscfactory.c
Niels Elburg bd1b0bd613 livido in place / copy mode host side, channel handling
git-svn-id: svn://code.dyne.org/veejay/trunk@1427 eb8d1916-c9e9-0310-b8de-cf0c9472ead5
2010-05-02 16:42:04 +00:00

48 lines
1.3 KiB
C

int describe_plug(void *info, void *fx_instance, void *in_values)
{
char tmp[128];
int id = 0;
//@ generate unique ID
snprintf(tmp,sizeof(tmp),"%d" id );
plug_get_defaults( fx_instance, in_values );
int n_channels = vevo_property_num_elements( fx_instance, "in_channels" );
if( n_channels == 0 ) {
}
for( i = 0; i < n_channels; i ++ ) {
//@ find input channels
}
plug_build_name_space( NULL, fx_instance, user_data, NULL, NULL,
notify_parameter, info );
// vevo_sample_ui_construct_fx_window
return 1;
}
static void sample_notify_parameter( void *sample, void *parameter, void *value )
{
char *osc_path = vevo_property_get_string( parameter, "HOST_osc_path" );
#ifdef STRICT_CHECKING
assert( osc_path != NULL );
#endif
char *osc_types = vevo_property_get_string( parameter, "HOST_osc_types");
sample_runtime_data *srd = (sample_runtime_data*) sample;
int fx_entry = sample_extract_fx_entry_from_path( sample, osc_path );
void *sender = veejay_get_osc_sender( srd->user_data );
if( fx_entry >= 0 && fx_entry < SAMPLE_CHAIN_LEN && sender)
{
fx_slot_t *slot = sample_get_fx_port_ptr( sample, fx_entry );
veejay_bundle_plugin_add( sender, slot->frame, osc_path, osc_types, value );
}
}