## AgsIpatchDLS2Reader

AgsIpatchDLS2Reader — interfacing DLS2 related API of libinstpatch

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_IPATCH_DLS2_READER_GET_OBJ_MUTEX()
gboolean | ags_ipatch_dls2_reader_load ()
gboolean | ags_ipatch_dls2_reader_select_instrument ()
gboolean | ags_ipatch_dls2_reader_select_sample ()
gchar ** | ags_ipatch_dls2_reader_get_instrument_all ()
gchar ** | ags_ipatch_dls2_reader_get_sample_all ()
gchar ** | ags_ipatch_dls2_reader_get_sample_by_instrument_index ()
AgsIpatchDLS2Reader * | ags_ipatch_dls2_reader_new ()

## Properties

AgsIpatch * | ipatch | Read / Write
AgsIpatch * | ipatch | Read / Write

## Types and Values

enum | AgsDLS2Level

## Object Hierarchy

        GObject
        ╰── AgsIpatchDLS2Reader

## Includes

    #include <ags/audio/file/ags_ipatch_dls2_reader.h>

## Description

AgsIpatchDLS2Reader is the base object to ineract with DLS2 related API.

## Functions

### AGS_IPATCH_DLS2_READER_GET_OBJ_MUTEX()

    #define AGS_IPATCH_DLS2_READER_GET_OBJ_MUTEX(obj) (&(((AgsIpatchDLS2Reader *) obj)->obj_mutex))

### ags_ipatch_dls2_reader_load ()

    gboolean
    ags_ipatch_dls2_reader_load (AgsIpatchDLS2Reader *ipatch_dls2_reader,
                                 IpatchFileHandle *handle);

Load DLS2 file.

#### Parameters

ipatch_dls2_reader | the AgsIpatchDLS2Reader |
handle | the IpatchFileHandle |

#### Returns

`TRUE` on success, else `FALSE` on failure

Since: 3.0.0

### ags_ipatch_dls2_reader_select_instrument ()

    gboolean
    ags_ipatch_dls2_reader_select_instrument
                                   (AgsIpatchDLS2Reader *ipatch_dls2_reader,
                                    guint instrument_index);

Select instrument.

#### Parameters

ipatch_dls2_reader | the AgsIpatchDLS2Reader |
instrument_index | the instrument index |

#### Returns

`TRUE` on success, else `FALSE` on failure

Since: 3.0.0

### ags_ipatch_dls2_reader_select_sample ()

    gboolean
    ags_ipatch_dls2_reader_select_sample (AgsIpatchDLS2Reader *ipatch_dls2_reader,
                                          guint sample_index);

Select sample.

#### Parameters

ipatch_dls2_reader | the AgsIpatchDLS2Reader |
sample_index | the sample index |

#### Returns

`TRUE` on success, else `FALSE` on failure

Since: 3.0.0

### ags_ipatch_dls2_reader_get_instrument_all ()

    gchar **
    ags_ipatch_dls2_reader_get_instrument_all
                                   (AgsIpatchDLS2Reader *ipatch_dls2_reader);

Get instrument all.

#### Parameters

ipatch_dls2_reader | the AgsIpatchDLS2Reader |

#### Returns

the string vector containing instrument.

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

Since: 3.0.0

### ags_ipatch_dls2_reader_get_sample_all ()

    gchar **
    ags_ipatch_dls2_reader_get_sample_all (AgsIpatchDLS2Reader *ipatch_dls2_reader);

Get sample all.

#### Parameters

ipatch_dls2_reader | the AgsIpatchDLS2Reader |

#### Returns

the string vector containing sample.

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

Since: 3.0.0

### ags_ipatch_dls2_reader_get_sample_by_instrument_index ()

    gchar **
    ags_ipatch_dls2_reader_get_sample_by_instrument_index
                                   (AgsIpatchDLS2Reader *ipatch_dls2_reader,
                                    guint instrument_index);

Get sample by instrument index.

#### Parameters

ipatch_dls2_reader | the AgsIpatchDLS2Reader |
instrument_index | the instrument index |

#### Returns

the string vector containing sample.

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

Since: 3.0.0

### ags_ipatch_dls2_reader_new ()

    AgsIpatchDLS2Reader *
    ags_ipatch_dls2_reader_new (AgsIpatch *ipatch);

Creates an AgsIpatchDLS2Reader.

#### Parameters

ipatch | the AgsIpatch |

#### Returns

an empty AgsIpatchDLS2Reader.

Since: 3.0.0

## Types and Values

### enum AgsDLS2Level

Enum values to describe the different levels of a DLS2 file.

#### Members

AGS_DLS2_FILENAME | filename |
AGS_DLS2_IHDR | instrument header |
AGS_DLS2_SHDR | sample header |

## Property Details

### The `“ipatch”` property

      “ipatch”                   AgsIpatch *

The assigned AgsIpatch

Owner: AgsIpatchDLS2Reader

Flags: Read / Write

Since: 3.0.0

### The `“ipatch”` property

      “ipatch”                   AgsIpatch *

The assigned AgsIpatch

Owner: AgsIpatchDLS2Reader

Flags: Read / Write

Since: 3.0.0