## AgsDssiManager

AgsDssiManager — Singleton pattern to organize DSSI

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_DSSI_MANAGER_GET_OBJ_MUTEX()
gchar ** | ags_dssi_manager_get_default_path ()
void | ags_dssi_manager_set_default_path ()
gchar ** | ags_dssi_manager_get_filenames ()
AgsDssiPlugin * | ags_dssi_manager_find_dssi_plugin ()
AgsDssiPlugin * | ags_dssi_manager_find_dssi_plugin_with_fallback ()
void | ags_dssi_manager_load_blacklist ()
void | ags_dssi_manager_load_file ()
void | ags_dssi_manager_load_default_directory ()
GList * | ags_dssi_manager_get_dssi_plugin ()
AgsDssiManager * | ags_dssi_manager_get_instance ()
AgsDssiManager * | ags_dssi_manager_new ()

## Object Hierarchy

        GObject
        ╰── AgsDssiManager

## Includes

    #include <ags/plugin/ags_dssi_manager.h>

## Description

The AgsDssiManager loads/unloads DSSI plugins.

## Functions

### AGS_DSSI_MANAGER_GET_OBJ_MUTEX()

    #define AGS_DSSI_MANAGER_GET_OBJ_MUTEX(obj) (&(((AgsDssiManager *) obj)->obj_mutex))

### ags_dssi_manager_get_default_path ()

    gchar **
    ags_dssi_manager_get_default_path ();

Get dssi manager default plugin path.

#### Returns

the plugin default search path as a string vector.

[element-type utf8][array zero-terminated=1][transfer none]

Since: 3.0.0

### ags_dssi_manager_set_default_path ()

    void
    ags_dssi_manager_set_default_path (gchar **default_path);

Set dssi manager default plugin path.

#### Parameters

default_path | the string vector array to use as default path. | [element-type utf8][array zero-terminated=1][transfer full]

Since: 3.0.0

### ags_dssi_manager_get_filenames ()

    gchar **
    ags_dssi_manager_get_filenames (AgsDssiManager *dssi_manager);

Retrieve all filenames

#### Parameters

dssi_manager | the AgsDssiManager |

#### Returns

a `NULL`-terminated array of filenames.

[element-type utf8][array zero-terminated=1][transfer full]

Since: 3.0.0

### ags_dssi_manager_find_dssi_plugin ()

    AgsDssiPlugin *
    ags_dssi_manager_find_dssi_plugin (AgsDssiManager *dssi_manager,
                                       gchar *filename,
                                       gchar *effect);

Lookup filename in loaded plugins.

#### Parameters

dssi_manager | the AgsDssiManager |
filename | the filename of the plugin |
effect | the effect's name |

#### Returns

the matching AgsDssiPlugin.

[transfer none]

Since: 3.0.0

### ags_dssi_manager_find_dssi_plugin_with_fallback ()

    AgsDssiPlugin *
    ags_dssi_manager_find_dssi_plugin_with_fallback
                                   (AgsDssiManager *dssi_manager,
                                    gchar *filename,
                                    gchar *effect);

Lookup filename in loaded plugins.

#### Parameters

dssi_manager | the AgsDssiManager |
filename | the filename of the plugin |
effect | the effect's name |

#### Returns

the matching AgsDssiPlugin.

[transfer none]

Since: 3.5.10

### ags_dssi_manager_load_blacklist ()

    void
    ags_dssi_manager_load_blacklist (AgsDssiManager *dssi_manager,
                                     gchar *blacklist_filename);

Load blacklisted plugin filenames.

#### Parameters

dssi_manager | the AgsDssiManager |
blacklist_filename | the filename as string |

Since: 3.0.0

### ags_dssi_manager_load_file ()

    void
    ags_dssi_manager_load_file (AgsDssiManager *dssi_manager,
                                gchar *dssi_path,
                                gchar *filename);

Load `filename` specified plugin.

#### Parameters

dssi_manager | the AgsDssiManager |
dssi_path | the dssi path |
filename | the filename of the plugin |

Since: 3.0.0

### ags_dssi_manager_load_default_directory ()

    void
    ags_dssi_manager_load_default_directory
                                   (AgsDssiManager *dssi_manager);

Loads all available plugins.

#### Parameters

dssi_manager | the AgsDssiManager |

Since: 3.0.0

### ags_dssi_manager_get_dssi_plugin ()

    GList *
    ags_dssi_manager_get_dssi_plugin (AgsDssiManager *dssi_manager);

Get dssi plugin.

#### Parameters

dssi_manager | the AgsDssiManager |

#### Returns

the GList containing AgsDssiPlugin.

[transfer full]

Since: 3.5.15

### ags_dssi_manager_get_instance ()

    AgsDssiManager *
    ags_dssi_manager_get_instance ();

Get instance.

#### Returns

the AgsDssiManager.

[transfer none]

Since: 3.0.0

### ags_dssi_manager_new ()

    AgsDssiManager *
    ags_dssi_manager_new ();

Create a new instance of AgsDssiManager

#### Returns

the new AgsDssiManager

Since: 3.0.0