void VstSynthIF::deactivate3() { if (_fst) { if (_guiVisible) fst_destroy_editor(_fst); fst_close(_fst); _fst = 0; } }
FSTInfo *fst_get_info( char *dllpath ) { if( fst_info_file_is_valid( dllpath ) ) { FSTInfo *info; char *fstpath = fst_dllpath_to_infopath( dllpath ); info = load_fst_info_file( fstpath ); free( fstpath ); return info; } else { FSTHandle *h; FST *fst; FSTInfo *info; char *fstpath; if( !(h = fst_load( dllpath )) ) { return NULL; } if( !(fst = fst_instantiate( h, simple_master_callback, NULL )) ) { fst_unload( h ); fst_error( "instantiate failed\n" ); return NULL; } fstpath = fst_dllpath_to_infopath( dllpath ); if( !fstpath ) { fst_close( fst ); fst_unload( h ); fst_error( "get fst filename failed\n" ); return NULL; } info = fst_info_from_plugin( fst ); save_fst_info_file( info, fstpath ); free( fstpath ); fst_close( fst ); fst_unload( h ); return info; } }