static void save_enabled_to_config (void) { int count = index_count (loadeds); aud_set_int ("ladspa", "plugin_count", count); for (int i = 0; i < count; i ++) { LoadedPlugin * loaded = index_get (loadeds, 0); char key[32]; snprintf (key, sizeof key, "plugin%d_path", i); aud_set_string ("ladspa", key, loaded->plugin->path); snprintf (key, sizeof key, "plugin%d_label", i); aud_set_string ("ladspa", key, loaded->plugin->desc->Label); int ccount = index_count (loaded->plugin->controls); for (int ci = 0; ci < ccount; ci ++) { snprintf (key, sizeof key, "plugin%d_control%d", i, ci); aud_set_double ("ladspa", key, loaded->values[ci]); } disable_plugin_locked (0); } }
static void save_enabled_to_config (void) { int count = index_count (loadeds); int old_count = aud_get_int ("ladspa", "plugin_count"); aud_set_int ("ladspa", "plugin_count", count); for (int i = 0; i < count; i ++) { LoadedPlugin * loaded = index_get (loadeds, 0); char key[32]; snprintf (key, sizeof key, "plugin%d_path", i); aud_set_str ("ladspa", key, loaded->plugin->path); snprintf (key, sizeof key, "plugin%d_label", i); aud_set_str ("ladspa", key, loaded->plugin->desc->Label); snprintf (key, sizeof key, "plugin%d_controls", i); int ccount = index_count (loaded->plugin->controls); double temp[ccount]; for (int ci = 0; ci < ccount; ci ++) temp[ci] = loaded->values[ci]; char * controls = double_array_to_str (temp, ccount); aud_set_str ("ladspa", key, controls); str_unref (controls); disable_plugin_locked (0); } for (int i = count; i < old_count; i ++) { char key[32]; snprintf (key, sizeof key, "plugin%d_path", i); aud_set_str ("ladspa", key, ""); snprintf (key, sizeof key, "plugin%d_label", i); aud_set_str ("ladspa", key, ""); snprintf (key, sizeof key, "plugin%d_controls", i); aud_set_str ("ladspa", key, ""); } }
static void disable_selected (void) { pthread_mutex_lock (& mutex); int count = index_count (loadeds); int offset = 0; for (int i = 0; i < count; i ++) { LoadedPlugin * loaded = index_get (loadeds, i - offset); if (loaded->selected) { disable_plugin_locked (i - offset); offset ++; } } pthread_mutex_unlock (& mutex); if (loaded_list) update_loaded_list (loaded_list); }