method init_synth_shed { return type="void"; }; method synth_create { return type="synth_t *"; use name type="const char *"; }; method synth_set_osc_count { return type="SYNTH_STATUS"; use synth type="synth_t *"; use osc_count type="int"; }; method tech_to_string { return type="const char *"; use tech type="const tech_t *"; }; method filtertype_to_string { return type="const char *"; use filt type="const filtertype_t *"; }; method play_synth { return type="const char *"; use synth type="synth_t *"; }; struct _synth { field model_name type="const char *"; field osc_count type="int"; field technolgy type="tech_t"; field filter type="filter_t"; }; struct _filter { field technology type="tech_t"; field type type="filtertype_t"; }; enum _tech { item ANALOG value=0; item DIGITAL value=1; }; enum _filtertype { item HPF value=0; item LPF value=1; item BPF value=2; };