NEW_WINDOW_MACRO(Synth, SynthWindow);
-const char* Synth::plugin_title() { return _("Synthesizer"); }
+const char* Synth::plugin_title() { return N_("Synthesizer"); }
int Synth::is_realtime() { return 1; }
int Synth::is_synthesis() { return 1; }
FileXML input;
char string[BCTEXTLEN];
// cause htal file to read directly from text
- input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data()));
+ input.set_shared_input(keyframe->xbuf);
//printf("Synth::read_data %s\n", keyframe->get_data());
int result = 0, current_osc = 0;
char string[BCTEXTLEN];
// cause htal file to store data directly in text
- output.set_shared_output(keyframe->get_data(), MESSAGESIZE);
+ output.set_shared_output(keyframe->xbuf);
output.tag.set_title("SYNTH");
output.tag.set_property("WETNESS", config.wetness);
void Synth::update_gui()
{
- if(thread)
- {
- if(load_configuration())
- {
- thread->window->lock_window();
- ((SynthWindow*)thread->window)->update_gui();
- thread->window->unlock_window();
- }
- }
+ if( !thread ) return;
+ SynthWindow *window = (SynthWindow*)thread->window;
+// load_configuration,read_data deletes oscillator_config
+ window->lock_window("Synth::update_gui");
+ if( load_configuration() )
+ window->update_gui();
+ window->unlock_window();
}