void CREATE_NAME (void){ static bool has_inited = false; if (has_inited==false) { fill_type(&faust_type); CLASSNAME::classInit(MIXER_get_sample_rate()); // TODO: Don't do this. Just dispatch during runtime which rt_process to call. // Data *data = (Data*)create_effect_plugin_data(&faust_type, NULL, NULL, MIXER_get_sample_rate(), MIXER_get_buffer_size(), false); faust_type.name = DSP_NAME; faust_type.num_inputs = data->voices[0].dsp_instance->getNumInputs(); faust_type.num_outputs = data->voices[0].dsp_instance->getNumOutputs(); if(data->voices[0].myUI.is_instrument()){ faust_type.is_instrument = true; faust_type.RT_process = RT_process_instrument; faust_type.create_plugin_data = create_instrument_plugin_data; data->voices[0].myUI.remove_instrument_notecontrol_effects(); }else{ faust_type.is_instrument = false; faust_type.RT_process = RT_process_effect; faust_type.create_plugin_data = create_effect_plugin_data; faust_type.play_note = NULL; faust_type.set_note_volume = NULL; faust_type.stop_note = NULL; } faust_type.num_effects = data->voices[0].myUI._num_effects; has_inited = true; } PR_add_plugin_type(&faust_type); }
void CREATE_NAME (void){ fill_type(&faust_type); Data *data = (Data*)create_effect_plugin_data(&faust_type, NULL, NULL, MIXER_get_sample_rate(), MIXER_get_buffer_size()); faust_type.data = data; faust_type.name = DSP_NAME; faust_type.num_inputs = data->voices[0].dsp_instance->getNumInputs(); faust_type.num_outputs = data->voices[0].dsp_instance->getNumOutputs(); if(data->voices[0].myUI.is_instrument()){ faust_type.is_instrument = true; faust_type.RT_process = RT_process_instrument; faust_type.create_plugin_data = create_instrument_plugin_data; data->voices[0].myUI.remove_instrument_notecontrol_effects(); }else{ faust_type.is_instrument = false; faust_type.RT_process = RT_process_effect; faust_type.create_plugin_data = create_effect_plugin_data; faust_type.play_note = NULL; faust_type.set_note_volume = NULL; faust_type.stop_note = NULL; } faust_type.num_effects = data->voices[0].myUI._num_effects; PR_add_plugin_type(&faust_type); }