## AgsMidiCiUtil

AgsMidiCiUtil — MIDI CI util

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_MIDI_CI_UTIL_PROTOCOL_1_0_EXTENSIONS_SIZE_OF_PACKET()
#define | AGS_MIDI_CI_UTIL_PROTOCOL_1_0_EXTENSIONS_JITTER_REDUCTION_TIMESTAMP()
#define | AGS_MIDI_CI_UTIL_PROTOCOL_2_0_EXTENSIONS_JITTER_REDUCTION_TIMESTAMP()
AgsMidiCIUtil * | ags_midi_ci_util_alloc ()
void | ags_midi_ci_util_free ()
AgsMidiCIUtil * | ags_midi_ci_util_copy ()
AgsMUID | ags_midi_ci_util_generate_muid ()
void | ags_midi_ci_util_put_muid ()
guint | ags_midi_ci_util_get_muid ()
void | ags_midi_ci_util_put_muid_with_position ()
guint | ags_midi_ci_util_get_muid_with_position ()
gboolean | ags_midi_ci_util_is_discovery ()
void | ags_midi_ci_util_put_discovery ()
guint | ags_midi_ci_util_get_discovery ()
gboolean | ags_midi_ci_util_is_discovery_reply ()
void | ags_midi_ci_util_put_discovery_reply ()
guint | ags_midi_ci_util_get_discovery_reply ()
gboolean | ags_midi_ci_util_is_invalidate_muid ()
void | ags_midi_ci_util_put_invalidate_muid ()
guint | ags_midi_ci_util_get_invalidate_muid ()
gboolean | ags_midi_ci_util_is_ack ()
void | ags_midi_ci_util_put_ack ()
guint | ags_midi_ci_util_get_ack ()
gboolean | ags_midi_ci_util_is_nak ()
void | ags_midi_ci_util_put_nak ()
guint | ags_midi_ci_util_get_nak ()
gboolean | ags_midi_ci_util_is_initiate_protocol_negotiation ()
void | ags_midi_ci_util_put_initiate_protocol_negotiation ()
guint | ags_midi_ci_util_get_initiate_protocol_negotiation ()
gboolean | ags_midi_ci_util_is_initiate_protocol_negotiation_reply ()
void | ags_midi_ci_util_put_initiate_protocol_negotiation_reply ()
guint | ags_midi_ci_util_get_initiate_protocol_negotiation_reply ()
gboolean | ags_midi_ci_util_is_set_protocol_type ()
void | ags_midi_ci_util_put_set_protocol_type ()
guint | ags_midi_ci_util_get_set_protocol_type ()
gboolean | ags_midi_ci_util_is_confirm_protocol_type ()
void | ags_midi_ci_util_put_confirm_protocol_type ()
guint | ags_midi_ci_util_get_confirm_protocol_type ()
gboolean | ags_midi_ci_util_is_confirm_protocol_type_reply ()
void | ags_midi_ci_util_put_confirm_protocol_type_reply ()
guint | ags_midi_ci_util_get_confirm_protocol_type_reply ()
gboolean | ags_midi_ci_util_is_confirm_protocol_type_established ()
void | ags_midi_ci_util_put_confirm_protocol_type_established ()
guint | ags_midi_ci_util_get_confirm_protocol_type_established ()
gboolean | ags_midi_ci_util_is_profile ()
void | ags_midi_ci_util_put_profile ()
guint | ags_midi_ci_util_get_profile ()
gboolean | ags_midi_ci_util_is_profile_reply ()
void | ags_midi_ci_util_put_profile_reply ()
guint | ags_midi_ci_util_get_profile_reply ()
gboolean | ags_midi_ci_util_is_profile_enabled_report ()
void | ags_midi_ci_util_put_profile_enabled_report ()
guint | ags_midi_ci_util_get_profile_enabled_report ()
gboolean | ags_midi_ci_util_is_profile_disabled_report ()
void | ags_midi_ci_util_put_profile_disabled_report ()
guint | ags_midi_ci_util_get_profile_disabled_report ()
gboolean | ags_midi_ci_util_is_profile_added ()
void | ags_midi_ci_util_put_profile_added ()
guint | ags_midi_ci_util_get_profile_added ()
gboolean | ags_midi_ci_util_is_profile_removed ()
void | ags_midi_ci_util_put_profile_removed ()
guint | ags_midi_ci_util_get_profile_removed ()
gboolean | ags_midi_ci_util_is_profile_specific_data ()
void | ags_midi_ci_util_put_profile_specific_data ()
guint | ags_midi_ci_util_get_profile_specific_data ()
gboolean | ags_midi_ci_util_is_property_exchange_capabilities ()
void | ags_midi_ci_util_put_property_exchange_capabilities ()
guint | ags_midi_ci_util_get_property_exchange_capabilities ()
gboolean | ags_midi_ci_util_is_property_exchange_capabilities_reply ()
void | ags_midi_ci_util_put_property_exchange_capabilities_reply ()
guint | ags_midi_ci_util_get_property_exchange_capabilities_reply ()
gboolean | ags_midi_ci_util_is_get_property_data ()
void | ags_midi_ci_util_put_get_property_data ()
guint | ags_midi_ci_util_get_get_property_data ()
gboolean | ags_midi_ci_util_is_get_property_data_reply ()
void | ags_midi_ci_util_put_get_property_data_reply ()
guint | ags_midi_ci_util_get_get_property_data_reply ()
gboolean | ags_midi_ci_util_is_set_property_data ()
void | ags_midi_ci_util_put_set_property_data ()
guint | ags_midi_ci_util_get_set_property_data ()
gboolean | ags_midi_ci_util_is_set_property_data_reply ()
void | ags_midi_ci_util_put_set_property_data_reply ()
guint | ags_midi_ci_util_get_set_property_data_reply ()
gboolean | ags_midi_ci_util_is_subscription ()
void | ags_midi_ci_util_put_subscription ()
guint | ags_midi_ci_util_get_subscription ()
gboolean | ags_midi_ci_util_is_subscription_reply ()
void | ags_midi_ci_util_put_subscription_reply ()
guint | ags_midi_ci_util_get_subscription_reply ()
gboolean | ags_midi_ci_util_is_process_capabilities ()
void | ags_midi_ci_util_put_process_capabilities ()
guint | ags_midi_ci_util_get_process_capabilities ()
gboolean | ags_midi_ci_util_is_process_capabilities_reply ()
void | ags_midi_ci_util_put_process_capabilities_reply ()
guint | ags_midi_ci_util_get_process_capabilities_reply ()
gboolean | ags_midi_ci_util_is_message_report ()
void | ags_midi_ci_util_put_message_report ()
guint | ags_midi_ci_util_get_message_report ()
gboolean | ags_midi_ci_util_is_message_report_reply ()
void | ags_midi_ci_util_put_message_report_reply ()
guint | ags_midi_ci_util_get_message_report_reply ()
gboolean | ags_midi_ci_util_is_end_of_message_report ()
void | ags_midi_ci_util_put_end_of_message_report ()
guint | ags_midi_ci_util_get_end_of_message_report ()

## Types and Values

#define | AGS_MIDI_CI_UTIL_BROADCAST_MUID
#define | AGS_MIDI_CI_UTIL_BROADCAST_MUID_ENCODED
#define | AGS_MIDI_CI_UTIL_MAX_BROADCAST_MESSAGE_SIZE
#define | AGS_MIDI_CI_UTIL_DISCOVERY_TIMEOUT_USEC
#define | AGS_MIDI_CI_UTIL_PROTOCOL_TYPE_MIDI_1_0
#define | AGS_MIDI_CI_UTIL_PROTOCOL_TYPE_MIDI_2_0
#define | AGS_MIDI_CI_UTIL_VERSION_MIDI_1_0
typedef | AgsMUID
enum | AgsMidiCIAuthorityLevel
enum | AgsMidiCICategory
enum | AgsMidiCICategorySupport
enum | AgsMidiCIUtilStatusCode
enum | AgsMidiCIUtilProcessSupportedFeatures

## Includes

    #include <ags/audio/midi/ags_midi_ci_util.h>

## Description

Utility functions for MIDI CI.

## Functions

### AGS_MIDI_CI_UTIL_PROTOCOL_1_0_EXTENSIONS_SIZE_OF_PACKET()

    #define AGS_MIDI_CI_UTIL_PROTOCOL_1_0_EXTENSIONS_SIZE_OF_PACKET(p) (((1 << 6) & ((guchar *) p)[0]) != 0 ? TRUE: FALSE)

### AGS_MIDI_CI_UTIL_PROTOCOL_1_0_EXTENSIONS_JITTER_REDUCTION_TIMESTAMP()

    #define AGS_MIDI_CI_UTIL_PROTOCOL_1_0_EXTENSIONS_JITTER_REDUCTION_TIMESTAMP(p) (((1 << 7) & ((guchar *) p)[0]) != 0 ? TRUE: FALSE)

### AGS_MIDI_CI_UTIL_PROTOCOL_2_0_EXTENSIONS_JITTER_REDUCTION_TIMESTAMP()

    #define AGS_MIDI_CI_UTIL_PROTOCOL_2_0_EXTENSIONS_JITTER_REDUCTION_TIMESTAMP(p) (((1 << 7) & ((guchar *) p)[0]) != 0 ? TRUE: FALSE)

### ags_midi_ci_util_alloc ()

    AgsMidiCIUtil *
    ags_midi_ci_util_alloc ();

Allocate MIDI CI util.

#### Returns

the newly allocated AgsMidiCIUtil.

[transfer full]

Since: 5.5.0

### ags_midi_ci_util_free ()

    void
    ags_midi_ci_util_free (AgsMidiCIUtil *midi_ci_util);

Free MIDI CI util.

#### Parameters

midi_ci_util | the MIDI CI util |

Since: 5.5.0

### ags_midi_ci_util_copy ()

    AgsMidiCIUtil *
    ags_midi_ci_util_copy (AgsMidiCIUtil *midi_ci_util);

Copy MIDI CI util.

#### Parameters

midi_ci_util | the MIDI CI util |

#### Returns

the newly allocated AgsMidiCIUtil.

[transfer full]

Since: 5.5.0

### ags_midi_ci_util_generate_muid ()

    AgsMUID
    ags_midi_ci_util_generate_muid (AgsMidiCIUtil *midi_ci_util);

Generate MUID.

#### Parameters

midi_ci_util | the MIDI CI util |

#### Returns

the generated MUID

Since: 5.5.0

### ags_midi_ci_util_put_muid ()

    void
    ags_midi_ci_util_put_muid (AgsMidiCIUtil *midi_ci_util,
                               guchar *buffer,
                               AgsMUID muid);

`ags_midi_ci_util_put_muid` is deprecated and should not be used in newly-written code.

Put MUID.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
muid | the AgsMUID |

Since: 5.5.0

### ags_midi_ci_util_get_muid ()

    guint
    ags_midi_ci_util_get_muid (AgsMidiCIUtil *midi_ci_util,
                               guchar *buffer,
                               AgsMUID *muid);

`ags_midi_ci_util_get_muid` is deprecated and should not be used in newly-written code.

Get MUID.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
muid | the return location of AgsMUID. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_put_muid_with_position ()

    void
    ags_midi_ci_util_put_muid_with_position
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    gint position,
                                    AgsMUID muid);

Put MUID.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
muid | the AgsMUID |
position | the position in the byte stream |

Since: 7.0.5

### ags_midi_ci_util_get_muid_with_position ()

    guint
    ags_midi_ci_util_get_muid_with_position
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    gint position,
                                    AgsMUID *muid);

Get MUID.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
position | the position in the byte stream |
muid | the return location of AgsMUID. | [out]

#### Returns

the number of bytes read

Since: 7.0.5

### ags_midi_ci_util_is_discovery ()

    gboolean
    ags_midi_ci_util_is_discovery (AgsMidiCIUtil *midi_ci_util,
                                   guchar *buffer);

Test if is discovery.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is discovery reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_discovery ()

    void
    ags_midi_ci_util_put_discovery (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    guchar manufacturer_id[3],
                                    guint16 device_family,
                                    guint16 device_family_model_number,
                                    guchar *software_revision_level,
                                    guchar capability,
                                    guint32 max_sysex_message_size);

Put discovery message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
manufacturer_id | the manufacturer ID |
device_family | the device family |
device_family_model_number | the device family number |
software_revision_level | the software revision level |
capability | the capability |
max_sysex_message_size | the maximum SYSEX message size |

Since: 5.5.0

### ags_midi_ci_util_get_discovery ()

    guint
    ags_midi_ci_util_get_discovery (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    guchar manufacturer_id[3],
                                    guint16 *device_family,
                                    guint16 *device_family_model_number,
                                    guchar *software_revision_level,
                                    guchar *capability,
                                    guint32 *max_sysex_message_size);

Get discovery message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
manufacturer_id | the return location of manufacturer ID. | [out]
device_family | the return location of device family. | [out]
device_family_model_number | the return location of device family number. | [out]
software_revision_level | the return location of software revision level. | [out]
capability | the return location of capability. | [out]
max_sysex_message_size | the return location of maximum SYSEX message size. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_discovery_reply ()

    gboolean
    ags_midi_ci_util_is_discovery_reply (AgsMidiCIUtil *midi_ci_util,
                                         guchar *buffer);

Test if is discovery reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is discovery reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_discovery_reply ()

    void
    ags_midi_ci_util_put_discovery_reply (AgsMidiCIUtil *midi_ci_util,
                                          guchar *buffer,
                                          guchar device_id,
                                          guchar version,
                                          AgsMUID source,
                                          AgsMUID destination,
                                          gchar manufacturer_id[3],
                                          guint16 device_family,
                                          guint16 device_family_model_number,
                                          gchar *software_revision_level,
                                          guchar capability,
                                          guint32 max_sysex_message_size);

Put discovery message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
manufacturer_id | the manufacturer ID |
device_family | the device family |
device_family_model_number | the device family number |
software_revision_level | the software revision level |
capability | the capability |
max_sysex_message_size | the maximum SYSEX message size |

Since: 5.5.0

### ags_midi_ci_util_get_discovery_reply ()

    guint
    ags_midi_ci_util_get_discovery_reply (AgsMidiCIUtil *midi_ci_util,
                                          guchar *buffer,
                                          guchar *device_id,
                                          guchar *version,
                                          AgsMUID *source,
                                          AgsMUID *destination,
                                          guchar manufacturer_id[3],
                                          guint16 *device_family,
                                          guint16 *device_family_model_number,
                                          guchar *software_revision_level,
                                          guchar *capability,
                                          guint32 *max_sysex_message_size);

Get discovery message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location destination. | [out]
manufacturer_id | the return location of manufacturer ID. | [out]
device_family | the return location of device family. | [out]
device_family_model_number | the return location of device family number. | [out]
software_revision_level | the return location of software revision level. | [out]
capability | the return location of capability. | [out]
max_sysex_message_size | the return location of maximum SYSEX message size. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_invalidate_muid ()

    gboolean
    ags_midi_ci_util_is_invalidate_muid (AgsMidiCIUtil *midi_ci_util,
                                         guchar *buffer);

Test if is invalidate MUID.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is invalidate MUID, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_invalidate_muid ()

    void
    ags_midi_ci_util_put_invalidate_muid (AgsMidiCIUtil *midi_ci_util,
                                          guchar *buffer,
                                          guchar device_id,
                                          guchar version,
                                          AgsMUID source,
                                          AgsMUID target_muid);

Put invalidate MUID.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
target_muid | the MUID |

Since: 5.5.0

### ags_midi_ci_util_get_invalidate_muid ()

    guint
    ags_midi_ci_util_get_invalidate_muid (AgsMidiCIUtil *midi_ci_util,
                                          guchar *buffer,
                                          guchar *device_id,
                                          guchar *version,
                                          AgsMUID *source,
                                          AgsMUID *target_muid);

Get invalidate MUID.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID |
version | the return location of version |
source | the return location of source |
target_muid | the return location of MUID |

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_ack ()

    gboolean
    ags_midi_ci_util_is_ack (AgsMidiCIUtil *midi_ci_util,
                             guchar *buffer);

Test if is ACK.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is ACK, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_ack ()

    void
    ags_midi_ci_util_put_ack (AgsMidiCIUtil *midi_ci_util,
                              guchar *buffer,
                              guchar device_id,
                              guchar version,
                              AgsMUID source,
                              AgsMUID destination,
                              guchar orig_transaction,
                              guchar status_code,
                              guchar status_data,
                              guchar details[5],
                              guint16 message_length,
                              guchar *message);

Put ACK MIDI CI message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
orig_transaction | the original transaction |
status_code | the status code |
status_data | the status data |
details | the details |
message_length | the message length |
message | the message |

Since: 5.5.0

### ags_midi_ci_util_get_ack ()

    guint
    ags_midi_ci_util_get_ack (AgsMidiCIUtil *midi_ci_util,
                              guchar *buffer,
                              guchar *device_id,
                              guchar *version,
                              AgsMUID *source,
                              AgsMUID *destination,
                              guchar *orig_transaction,
                              guchar *status_code,
                              guchar *status_data,
                              guchar details[5],
                              guint16 *message_length,
                              guchar **message);

Get ACK MIDI CI message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
orig_transaction | the original transaction |
status_code | the return location of status code. | [out]
status_data | the return location of status data. | [out]
details | the return location of details. | [out]
message_length | the return location of message length. | [out]
message | the return location of message. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_nak ()

    gboolean
    ags_midi_ci_util_is_nak (AgsMidiCIUtil *midi_ci_util,
                             guchar *buffer);

Test if is NAK.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is NAK, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_nak ()

    void
    ags_midi_ci_util_put_nak (AgsMidiCIUtil *midi_ci_util,
                              guchar *buffer,
                              guchar device_id,
                              guchar version,
                              AgsMUID source,
                              AgsMUID destination);

Put NAK MIDI CI message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |

Since: 5.5.0

### ags_midi_ci_util_get_nak ()

    guint
    ags_midi_ci_util_get_nak (AgsMidiCIUtil *midi_ci_util,
                              guchar *buffer,
                              guchar *device_id,
                              guchar *version,
                              AgsMUID *source,
                              AgsMUID *destination);

Get NAK MIDI CI message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_initiate_protocol_negotiation ()

    gboolean
    ags_midi_ci_util_is_initiate_protocol_negotiation
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is initiate protocol negotiation.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is initiate protocol negotiation, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_initiate_protocol_negotiation ()

    void
    ags_midi_ci_util_put_initiate_protocol_negotiation
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    AgsMidiCIAuthorityLevel authority_level,
                                    guchar number_of_supported_protocols,
                                    guchar **preferred_protocol_type);

Put initiate protocol negotiation message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
authority_level | the authority level |
number_of_supported_protocols | the number of supported protocols |
preferred_protocol_type | the preferred protocol type |

Since: 5.5.0

### ags_midi_ci_util_get_initiate_protocol_negotiation ()

    guint
    ags_midi_ci_util_get_initiate_protocol_negotiation
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    AgsMidiCIAuthorityLevel *authority_level,
                                    guchar *number_of_supported_protocols,
                                    guchar **preferred_protocol_type);

Get initiate protocol negotiation message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the destination. | [out]
authority_level | the authority level. | [out]
number_of_supported_protocols | the number of supported protocols. | [out]
preferred_protocol_type | the preferred protocol type. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_initiate_protocol_negotiation_reply ()

    gboolean
    ags_midi_ci_util_is_initiate_protocol_negotiation_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is initiate protocol negotiation reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is initiate protocol negotiation reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_initiate_protocol_negotiation_reply ()

    void
    ags_midi_ci_util_put_initiate_protocol_negotiation_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    AgsMidiCIAuthorityLevel authority_level,
                                    guchar number_of_supported_protocols,
                                    guchar **preferred_protocol_type);

Put initiate protocol negotiation reply message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
authority_level | the authority level |
number_of_supported_protocols | the number of supported protocols |
preferred_protocol_type | the preferred protocol type |

Since: 5.5.0

### ags_midi_ci_util_get_initiate_protocol_negotiation_reply ()

    guint
    ags_midi_ci_util_get_initiate_protocol_negotiation_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    AgsMidiCIAuthorityLevel *authority_level,
                                    guchar *number_of_supported_protocols,
                                    guchar **preferred_protocol_type);

Get initiate protocol negotiation reply message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the destination. | [out]
authority_level | the authority level. | [out]
number_of_supported_protocols | the number of supported protocols. | [out]
preferred_protocol_type | the preferred protocol type. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_set_protocol_type ()

    gboolean
    ags_midi_ci_util_is_set_protocol_type (AgsMidiCIUtil *midi_ci_util,
                                           guchar *buffer);

Test if is set protocol reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is set protocol type, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_set_protocol_type ()

    void
    ags_midi_ci_util_put_set_protocol_type
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    AgsMidiCIAuthorityLevel authority_level,
                                    guchar *protocol_type);

Put set protocol type message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
authority_level | the authority level |
protocol_type | the new protocol type |

Since: 5.5.0

### ags_midi_ci_util_get_set_protocol_type ()

    guint
    ags_midi_ci_util_get_set_protocol_type
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    AgsMidiCIAuthorityLevel *authority_level,
                                    guchar *protocol_type);

Get set protocol type message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the destination. | [out]
authority_level | the authority level. | [out]
protocol_type | the protocol type. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_confirm_protocol_type ()

    gboolean
    ags_midi_ci_util_is_confirm_protocol_type
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is confirm protocol type.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is confirm protocol type, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_confirm_protocol_type ()

    void
    ags_midi_ci_util_put_confirm_protocol_type
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    AgsMidiCIAuthorityLevel authority_level);

Put confirm protocol type message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
authority_level | the authority level |

Since: 5.5.0

### ags_midi_ci_util_get_confirm_protocol_type ()

    guint
    ags_midi_ci_util_get_confirm_protocol_type
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    AgsMidiCIAuthorityLevel *authority_level);

Get confirm protocol type message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the destination. | [out]
authority_level | the authority level. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_confirm_protocol_type_reply ()

    gboolean
    ags_midi_ci_util_is_confirm_protocol_type_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is confirm protocol type reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is confirm protocol type reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_confirm_protocol_type_reply ()

    void
    ags_midi_ci_util_put_confirm_protocol_type_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    AgsMidiCIAuthorityLevel authority_level);

Put confirm protocol type reply message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
authority_level | the authority level |

Since: 5.5.0

### ags_midi_ci_util_get_confirm_protocol_type_reply ()

    guint
    ags_midi_ci_util_get_confirm_protocol_type_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    AgsMidiCIAuthorityLevel *authority_level);

Get confirm protocol type reply message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the destination. | [out]
authority_level | the authority level. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_confirm_protocol_type_established ()

    gboolean
    ags_midi_ci_util_is_confirm_protocol_type_established
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is confirm protocol type established.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is confirm protocol type established, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_confirm_protocol_type_established ()

    void
    ags_midi_ci_util_put_confirm_protocol_type_established
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    AgsMidiCIAuthorityLevel authority_level);

Put confirm protocol type established message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
authority_level | the authority level |

Since: 5.5.0

### ags_midi_ci_util_get_confirm_protocol_type_established ()

    guint
    ags_midi_ci_util_get_confirm_protocol_type_established
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    AgsMidiCIAuthorityLevel *authority_level);

Get confirm protocol type established message. Deprecated since MIDI CI version 1.2.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the destination. | [out]
authority_level | the authority level. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_profile ()

    gboolean
    ags_midi_ci_util_is_profile (AgsMidiCIUtil *midi_ci_util,
                                 guchar *buffer);

Test if is profile.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is profile, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_profile ()

    void
    ags_midi_ci_util_put_profile (AgsMidiCIUtil *midi_ci_util,
                                  guchar *buffer,
                                  guchar device_id,
                                  guchar version,
                                  AgsMUID source,
                                  AgsMUID destination);

Put profile message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |

Since: 5.5.0

### ags_midi_ci_util_get_profile ()

    guint
    ags_midi_ci_util_get_profile (AgsMidiCIUtil *midi_ci_util,
                                  guchar *buffer,
                                  guchar *device_id,
                                  guchar *version,
                                  AgsMUID *source,
                                  AgsMUID *destination);

Profile message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_profile_reply ()

    gboolean
    ags_midi_ci_util_is_profile_reply (AgsMidiCIUtil *midi_ci_util,
                                       guchar *buffer);

Test if is profile reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is profile reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_profile_reply ()

    void
    ags_midi_ci_util_put_profile_reply (AgsMidiCIUtil *midi_ci_util,
                                        guchar *buffer,
                                        guchar device_id,
                                        guchar version,
                                        AgsMUID source,
                                        AgsMUID destination,
                                        guint16 enabled_profile_count,
                                        guchar *enabled_profile[5],
                                        guint16 disabled_profile_count,
                                        guchar *disabled_profile[5]);

Put profile message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
enabled_profile_count | enabled profile count |
enabled_profile | enabled profile |
disabled_profile_count | disabled profile count |
disabled_profile | disabled profile |

Since: 5.5.0

### ags_midi_ci_util_get_profile_reply ()

    guint
    ags_midi_ci_util_get_profile_reply (AgsMidiCIUtil *midi_ci_util,
                                        guchar *buffer,
                                        guchar *device_id,
                                        guchar *version,
                                        AgsMUID *source,
                                        AgsMUID *destination,
                                        guint16 *enabled_profile_count,
                                        guchar ***enabled_profile,
                                        guint16 *disabled_profile_count,
                                        guchar ***disabled_profile);

Profile message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
enabled_profile_count | enabled profile count. | [out]
enabled_profile | enabled profile. | [out]
disabled_profile_count | disabled profile count. | [out]
disabled_profile | disabled profile. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_profile_enabled_report ()

    gboolean
    ags_midi_ci_util_is_profile_enabled_report
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is profile enabled reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is profile enabled report, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_profile_enabled_report ()

    void
    ags_midi_ci_util_put_profile_enabled_report
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    guchar enabled_profile[5],
                                    guint16 enabled_channel_count);

Put profile enabled report message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
enabled_profile | the enabled profile |
enabled_channel_count | the enabled channel count |

Since: 5.5.0

### ags_midi_ci_util_get_profile_enabled_report ()

    guint
    ags_midi_ci_util_get_profile_enabled_report
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    guchar enabled_profile[5],
                                    guint16 *enabled_channel_count);

Get profile enabled report message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
enabled_profile | the return location of enabled profile. | [out]
enabled_channel_count | the return location of enabled channel count. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_profile_disabled_report ()

    gboolean
    ags_midi_ci_util_is_profile_disabled_report
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is profile disabled reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is profile disabled report, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_profile_disabled_report ()

    void
    ags_midi_ci_util_put_profile_disabled_report
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    guchar disabled_profile[5],
                                    guint16 disabled_channel_count);

Put profile disabled report message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
disabled_profile | the disabled profile |
disabled_channel_count | the disabled channel count |

Since: 5.5.0

### ags_midi_ci_util_get_profile_disabled_report ()

    guint
    ags_midi_ci_util_get_profile_disabled_report
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    guchar disabled_profile[5],
                                    guint16 *disabled_channel_count);

Get profile disabled report message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
disabled_profile | the return location of disabled profile. | [out]
disabled_channel_count | the return location of disabled channel count. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_profile_added ()

    gboolean
    ags_midi_ci_util_is_profile_added (AgsMidiCIUtil *midi_ci_util,
                                       guchar *buffer);

Test if is profile added.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is profile added, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_profile_added ()

    void
    ags_midi_ci_util_put_profile_added (AgsMidiCIUtil *midi_ci_util,
                                        guchar *buffer,
                                        guchar device_id,
                                        guchar version,
                                        AgsMUID source,
                                        guchar add_profile[5]);

Put profile added message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
add_profile | the profile to add |

Since: 5.5.0

### ags_midi_ci_util_get_profile_added ()

    guint
    ags_midi_ci_util_get_profile_added (AgsMidiCIUtil *midi_ci_util,
                                        guchar *buffer,
                                        guchar *device_id,
                                        guchar *version,
                                        AgsMUID *source,
                                        guchar add_profile[5]);

Get profile added message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
add_profile | the return location of profile to add. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_profile_removed ()

    gboolean
    ags_midi_ci_util_is_profile_removed (AgsMidiCIUtil *midi_ci_util,
                                         guchar *buffer);

Test if is profile removed.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is profile removed, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_profile_removed ()

    void
    ags_midi_ci_util_put_profile_removed (AgsMidiCIUtil *midi_ci_util,
                                          guchar *buffer,
                                          guchar device_id,
                                          guchar version,
                                          AgsMUID source,
                                          guchar remove_profile[5]);

Put profile remove message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
remove_profile | the profile to remove |

Since: 5.5.0

### ags_midi_ci_util_get_profile_removed ()

    guint
    ags_midi_ci_util_get_profile_removed (AgsMidiCIUtil *midi_ci_util,
                                          guchar *buffer,
                                          guchar *device_id,
                                          guchar *version,
                                          AgsMUID *source,
                                          guchar remove_profile[5]);

Get profile remove message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
remove_profile | the profile to remove. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_profile_specific_data ()

    gboolean
    ags_midi_ci_util_is_profile_specific_data
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is profile specific data.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is profile specific data, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_profile_specific_data ()

    void
    ags_midi_ci_util_put_profile_specific_data
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    guchar profile_id[5],
                                    guint32 profile_specific_data_length,
                                    guchar *profile_specific_data);

Put profile specific data message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
profile_id | the profile ID |
profile_specific_data_length | profile specific data length |
profile_specific_data | profile specific data |

Since: 5.5.0

### ags_midi_ci_util_get_profile_specific_data ()

    guint
    ags_midi_ci_util_get_profile_specific_data
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    guchar profile_id[5],
                                    guint32 *profile_specific_data_length,
                                    guchar **profile_specific_data);

Get profile specific data message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device id. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
profile_id | the profile ID. | [out]
profile_specific_data_length | the return location of profile specific data length. | [out]
profile_specific_data | the return location of profile specific data. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_property_exchange_capabilities ()

    gboolean
    ags_midi_ci_util_is_property_exchange_capabilities
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is property exchange capabilities.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is property exchange capabilities, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_property_exchange_capabilities ()

    void
    ags_midi_ci_util_put_property_exchange_capabilities
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    guchar supported_property_exchange_count,
                                    guchar property_exchange_major,
                                    guchar property_exchange_minor);

Put number of supported property exchange message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
supported_property_exchange_count | the supported property exchange count |
property_exchange_major | the major version |
property_exchange_minor | the minor version |

Since: 5.5.0

### ags_midi_ci_util_get_property_exchange_capabilities ()

    guint
    ags_midi_ci_util_get_property_exchange_capabilities
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    guchar *supported_property_exchange_count,
                                    guchar *property_exchange_major,
                                    guchar *property_exchange_minor);

Get number of supported property exchange count data message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
supported_property_exchange_count | the supported property exchange count. | [out]
property_exchange_major | the return location of major version. | [out]
property_exchange_minor | the return location of minor version. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_property_exchange_capabilities_reply ()

    gboolean
    ags_midi_ci_util_is_property_exchange_capabilities_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is property exchange capabilities reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is property exchange capabilities reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_property_exchange_capabilities_reply ()

    void
    ags_midi_ci_util_put_property_exchange_capabilities_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    guchar supported_property_exchange_count,
                                    guchar property_exchange_major,
                                    guchar property_exchange_minor);

Put number of supported property exchange message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
supported_property_exchange_count | the supported property exchange count |
property_exchange_major | the major version |
property_exchange_minor | the minor version |

Since: 5.5.0

### ags_midi_ci_util_get_property_exchange_capabilities_reply ()

    guint
    ags_midi_ci_util_get_property_exchange_capabilities_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    guchar *supported_property_exchange_count,
                                    guchar *property_exchange_major,
                                    guchar *property_exchange_minor);

Get number of supported property exchange count data message.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the return location of device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
supported_property_exchange_count | the supported property exchange count. | [out]
property_exchange_major | the return location of major version. | [out]
property_exchange_minor | the return location of minor version. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_get_property_data ()

    gboolean
    ags_midi_ci_util_is_get_property_data (AgsMidiCIUtil *midi_ci_util,
                                           guchar *buffer);

Test if is get property data.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is get property data, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_get_property_data ()

    void
    ags_midi_ci_util_put_get_property_data
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    guchar request_id,
                                    guint16 header_data_length,
                                    guchar *header_data,
                                    guint16 chunk_count,
                                    guint16 nth_chunk,
                                    guint16 property_data_length,
                                    guchar *property_data);

Put get property data.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
request_id | the request ID |
header_data_length | the header data length |
header_data | the header data |
chunk_count | the chunk count |
nth_chunk | the nth chunk |
property_data_length | the property data length |
property_data | the property data |

Since: 5.5.0

### ags_midi_ci_util_get_get_property_data ()

    guint
    ags_midi_ci_util_get_get_property_data
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    guchar *request_id,
                                    guint16 *header_data_length,
                                    guchar **header_data,
                                    guint16 *chunk_count,
                                    guint16 *nth_chunk,
                                    guint16 *property_data_length,
                                    guchar **property_data);

Get get property data.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
request_id | the request ID. | [out]
header_data_length | the header data length. | [out]
header_data | the header data. | [out]
chunk_count | the chunk count. | [out]
nth_chunk | the nth chunk. | [out]
property_data_length | the property data length. | [out]
property_data | the property data. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_get_property_data_reply ()

    gboolean
    ags_midi_ci_util_is_get_property_data_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is get property data reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is get property data reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_get_property_data_reply ()

    void
    ags_midi_ci_util_put_get_property_data_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    guchar request_id,
                                    guint16 header_data_length,
                                    guchar *header_data,
                                    guint16 chunk_count,
                                    guint16 nth_chunk,
                                    guint16 property_data_length,
                                    guchar *property_data);

Put get property data.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
request_id | the request ID |
header_data_length | the header data length |
header_data | the header data |
chunk_count | the chunk count |
nth_chunk | the nth chunk |
property_data_length | the property data length |
property_data | the property data |

Since: 5.5.0

### ags_midi_ci_util_get_get_property_data_reply ()

    guint
    ags_midi_ci_util_get_get_property_data_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    guchar *request_id,
                                    guint16 *header_data_length,
                                    guchar **header_data,
                                    guint16 *chunk_count,
                                    guint16 *nth_chunk,
                                    guint16 *property_data_length,
                                    guchar **property_data);

Get get property data.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
request_id | the return location of request ID. | [out]
header_data_length | the return location of header data length. | [out]
header_data | the return location of header data. | [out]
chunk_count | the return location of chunk count. | [out]
nth_chunk | the return location of nth chunk. | [out]
property_data_length | the return location of property data length. | [out]
property_data | the return location of property data. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_set_property_data ()

    gboolean
    ags_midi_ci_util_is_set_property_data (AgsMidiCIUtil *midi_ci_util,
                                           guchar *buffer);

Test if is set property data.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is set property data, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_set_property_data ()

    void
    ags_midi_ci_util_put_set_property_data
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    guchar request_id,
                                    guint16 header_data_length,
                                    guchar *header_data,
                                    guint16 chunk_count,
                                    guint16 nth_chunk,
                                    guint16 property_data_length,
                                    guchar *property_data);

Put set property data.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
request_id | the request ID |
header_data_length | the header data length |
header_data | the header data |
chunk_count | the chunk count |
nth_chunk | the nth chunk |
property_data_length | the property data length |
property_data | the property data |

Since: 5.5.0

### ags_midi_ci_util_get_set_property_data ()

    guint
    ags_midi_ci_util_get_set_property_data
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    guchar *request_id,
                                    guint16 *header_data_length,
                                    guchar **header_data,
                                    guint16 *chunk_count,
                                    guint16 *nth_chunk,
                                    guint16 *property_data_length,
                                    guchar **property_data);

Get set property data.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
request_id | the request ID. | [out]
header_data_length | the header data length. | [out]
header_data | the header data. | [out]
chunk_count | the chunk count. | [out]
nth_chunk | the nth chunk. | [out]
property_data_length | the property data length. | [out]
property_data | the property data. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_set_property_data_reply ()

    gboolean
    ags_midi_ci_util_is_set_property_data_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is set property data reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is set property data reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_set_property_data_reply ()

    void
    ags_midi_ci_util_put_set_property_data_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    guchar request_id,
                                    guint16 header_data_length,
                                    guchar *header_data,
                                    guint16 chunk_count,
                                    guint16 nth_chunk,
                                    guint16 property_data_length,
                                    guchar *property_data);

Put set property data reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
request_id | the request ID |
header_data_length | the header data length |
header_data | the header data |
chunk_count | the chunk count |
nth_chunk | the nth chunk |
property_data_length | the property data length |
property_data | the property data |

Since: 5.5.0

### ags_midi_ci_util_get_set_property_data_reply ()

    guint
    ags_midi_ci_util_get_set_property_data_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    guchar *request_id,
                                    guint16 *header_data_length,
                                    guchar **header_data,
                                    guint16 *chunk_count,
                                    guint16 *nth_chunk,
                                    guint16 *property_data_length,
                                    guchar **property_data);

Get set property data reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
request_id | the request ID. | [out]
header_data_length | the header data length. | [out]
header_data | the header data. | [out]
chunk_count | the chunk count. | [out]
nth_chunk | the nth chunk. | [out]
property_data_length | the property data length. | [out]
property_data | the property data. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_subscription ()

    gboolean
    ags_midi_ci_util_is_subscription (AgsMidiCIUtil *midi_ci_util,
                                      guchar *buffer);

Test if is subscription.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is subscription, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_subscription ()

    void
    ags_midi_ci_util_put_subscription (AgsMidiCIUtil *midi_ci_util,
                                       guchar *buffer,
                                       guchar device_id,
                                       guchar version,
                                       AgsMUID source,
                                       AgsMUID destination,
                                       guchar request_id,
                                       guint16 header_data_length,
                                       guchar *header_data,
                                       guint16 chunk_count,
                                       guint16 nth_chunk,
                                       guint16 property_data_length,
                                       guchar *property_data);

Put subscription.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
request_id | the request ID |
header_data_length | the header data length |
header_data | the header data |
chunk_count | the chunk count |
nth_chunk | the nth chunk |
property_data_length | the property data length |
property_data | the property data |

Since: 5.5.0

### ags_midi_ci_util_get_subscription ()

    guint
    ags_midi_ci_util_get_subscription (AgsMidiCIUtil *midi_ci_util,
                                       guchar *buffer,
                                       guchar *device_id,
                                       guchar *version,
                                       AgsMUID *source,
                                       AgsMUID *destination,
                                       guchar *request_id,
                                       guint16 *header_data_length,
                                       guchar **header_data,
                                       guint16 *chunk_count,
                                       guint16 *nth_chunk,
                                       guint16 *property_data_length,
                                       guchar **property_data);

Get subscription.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
request_id | the request ID. | [out]
header_data_length | the header data length. | [out]
header_data | the header data. | [out]
chunk_count | the chunk count. | [out]
nth_chunk | the nth chunk. | [out]
property_data_length | the property data length. | [out]
property_data | the property data. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_subscription_reply ()

    gboolean
    ags_midi_ci_util_is_subscription_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is subscription reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is subscription reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_subscription_reply ()

    void
    ags_midi_ci_util_put_subscription_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    guchar request_id,
                                    guint16 header_data_length,
                                    guchar *header_data,
                                    guint16 chunk_count,
                                    guint16 nth_chunk,
                                    guint16 property_data_length,
                                    guchar *property_data);

Put subscription reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
request_id | the request ID |
header_data_length | the header data length |
header_data | the header data |
chunk_count | the chunk count |
nth_chunk | the nth chunk |
property_data_length | the property data length |
property_data | the property data |

Since: 5.5.0

### ags_midi_ci_util_get_subscription_reply ()

    guint
    ags_midi_ci_util_get_subscription_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    guchar *request_id,
                                    guint16 *header_data_length,
                                    guchar **header_data,
                                    guint16 *chunk_count,
                                    guint16 *nth_chunk,
                                    guint16 *property_data_length,
                                    guchar **property_data);

Get subscription reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
request_id | the request ID. | [out]
header_data_length | the header data length. | [out]
header_data | the header data. | [out]
chunk_count | the chunk count. | [out]
nth_chunk | the nth chunk. | [out]
property_data_length | the property data length. | [out]
property_data | the property data. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_process_capabilities ()

    gboolean
    ags_midi_ci_util_is_process_capabilities
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is process capabilities.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is process capabilities, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_process_capabilities ()

    void
    ags_midi_ci_util_put_process_capabilities
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination);

Put process capabilities.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |

Since: 5.5.0

### ags_midi_ci_util_get_process_capabilities ()

    guint
    ags_midi_ci_util_get_process_capabilities
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination);

Get process capabilities.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_process_capabilities_reply ()

    gboolean
    ags_midi_ci_util_is_process_capabilities_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is process capabilities reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is process capabilities reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_process_capabilities_reply ()

    void
    ags_midi_ci_util_put_process_capabilities_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    guchar supported_features);

Put process capabilities reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
supported_features | the supported features |

Since: 5.5.0

### ags_midi_ci_util_get_process_capabilities_reply ()

    guint
    ags_midi_ci_util_get_process_capabilities_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    guchar *supported_features);

Get process capabilities reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
supported_features | the return location of supported features. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_message_report ()

    gboolean
    ags_midi_ci_util_is_message_report (AgsMidiCIUtil *midi_ci_util,
                                        guchar *buffer);

Test if is message report.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is message report, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_message_report ()

    void
    ags_midi_ci_util_put_message_report (AgsMidiCIUtil *midi_ci_util,
                                         guchar *buffer,
                                         guchar device_id,
                                         guchar version,
                                         AgsMUID source,
                                         AgsMUID destination,
                                         guchar data_control,
                                         guchar system_messages,
                                         guchar other_messages,
                                         guchar channel_controller_messages,
                                         guchar note_data_messages);

Put message report.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
data_control | the data control |
system_messages | the system messages |
other_messages | the other messages |
channel_controller_messages | the channel controller messages |
note_data_messages | the note data messages |

Since: 5.5.0

### ags_midi_ci_util_get_message_report ()

    guint
    ags_midi_ci_util_get_message_report (AgsMidiCIUtil *midi_ci_util,
                                         guchar *buffer,
                                         guchar *device_id,
                                         guchar *version,
                                         AgsMUID *source,
                                         AgsMUID *destination,
                                         guchar *data_control,
                                         guchar *system_messages,
                                         guchar *other_messages,
                                         guchar *channel_controller_messages,
                                         guchar *note_data_messages);

Get message report.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
data_control | the return location of data control. | [out]
system_messages | the return location of system messages. | [out]
other_messages | the return location of other system messages. | [out]
channel_controller_messages | the return location of channel controller messages. | [out]
note_data_messages | the return location of note data messages. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_message_report_reply ()

    gboolean
    ags_midi_ci_util_is_message_report_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is message report reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is message report reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_message_report_reply ()

    void
    ags_midi_ci_util_put_message_report_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination,
                                    guchar system_messages,
                                    guchar other_messages,
                                    guchar channel_controller_messages,
                                    guchar note_data_messages);

Put message report reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |
system_messages | the system messages |
other_messages | the other messages |
channel_controller_messages | the channel controller messages |
note_data_messages | the note data messages |

Since: 5.5.0

### ags_midi_ci_util_get_message_report_reply ()

    guint
    ags_midi_ci_util_get_message_report_reply
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination,
                                    guchar *system_messages,
                                    guchar *other_messages,
                                    guchar *channel_controller_messages,
                                    guchar *note_data_messages);

Get message report reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]
system_messages | the return location of system messages. | [out]
other_messages | the return location of other system messages. | [out]
channel_controller_messages | the return location of channel controller messages. | [out]
note_data_messages | the return location of note data messages. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

### ags_midi_ci_util_is_end_of_message_report ()

    gboolean
    ags_midi_ci_util_is_end_of_message_report
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer);

Test if is end of message report reply.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |

#### Returns

`TRUE` if is end of message report reply, otherwise `FALSE`

Since: 7.0.5

### ags_midi_ci_util_put_end_of_message_report ()

    void
    ags_midi_ci_util_put_end_of_message_report
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar device_id,
                                    guchar version,
                                    AgsMUID source,
                                    AgsMUID destination);

Put message report.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID |
version | the version |
source | the source |
destination | the destination |

Since: 5.5.0

### ags_midi_ci_util_get_end_of_message_report ()

    guint
    ags_midi_ci_util_get_end_of_message_report
                                   (AgsMidiCIUtil *midi_ci_util,
                                    guchar *buffer,
                                    guchar *device_id,
                                    guchar *version,
                                    AgsMUID *source,
                                    AgsMUID *destination);

Get message report.

#### Parameters

midi_ci_util | the MIDI CI util |
buffer | the buffer |
device_id | the device ID. | [out]
version | the return location of version. | [out]
source | the return location of source. | [out]
destination | the return location of destination. | [out]

#### Returns

the number of bytes read

Since: 5.5.0

## Types and Values

### AGS_MIDI_CI_UTIL_BROADCAST_MUID

    #define AGS_MIDI_CI_UTIL_BROADCAST_MUID (0x0fffffff)

### AGS_MIDI_CI_UTIL_BROADCAST_MUID_ENCODED

    #define AGS_MIDI_CI_UTIL_BROADCAST_MUID_ENCODED "\x7f\x7f\x7f\x7f"

### AGS_MIDI_CI_UTIL_MAX_BROADCAST_MESSAGE_SIZE

    #define AGS_MIDI_CI_UTIL_MAX_BROADCAST_MESSAGE_SIZE (512)

### AGS_MIDI_CI_UTIL_DISCOVERY_TIMEOUT_USEC

    #define AGS_MIDI_CI_UTIL_DISCOVERY_TIMEOUT_USEC (3 * AGS_USEC_PER_SEC)

### AGS_MIDI_CI_UTIL_PROTOCOL_TYPE_MIDI_1_0

    #define AGS_MIDI_CI_UTIL_PROTOCOL_TYPE_MIDI_1_0 (0x01)

### AGS_MIDI_CI_UTIL_PROTOCOL_TYPE_MIDI_2_0

    #define AGS_MIDI_CI_UTIL_PROTOCOL_TYPE_MIDI_2_0 (0x02)

### AGS_MIDI_CI_UTIL_VERSION_MIDI_1_0

    #define AGS_MIDI_CI_UTIL_VERSION_MIDI_1_0 (0x00)

### AgsMUID

    typedef guint32 AgsMUID;

### enum AgsMidiCIAuthorityLevel

#### Members

AGS_MIDI_CI_TRANSPORT |  |
AGS_MIDI_CI_EVENT_PROCESSOR |  |
AGS_MIDI_CI_ENDPOINT |  |
AGS_MIDI_CI_TRANSLATOR |  |
AGS_MIDI_CI_GATEWAY |  |
AGS_MIDI_CI_NODE_SERVER |  |

### enum AgsMidiCICategory

#### Members

AGS_MIDI_CI_PROTOCOL_NEGOTIATION |  |
AGS_MIDI_CI_PROFILE_CONFIGURATION |  |
AGS_MIDI_CI_PROPERTY_EXCHANGE |  |
AGS_MIDI_CI_PROPERTY_MANAGEMENT |  |

### enum AgsMidiCICategorySupport

#### Members

AGS_MIDI_CI_PROTOCOL_NEGOTIATION_SUPPORTED |  |
AGS_MIDI_CI_PROFILE_CONFIGURATION_SUPPORTED |  |
AGS_MIDI_CI_PROPERTY_EXCHANGE_SUPPORTED |  |

### enum AgsMidiCIUtilStatusCode

#### Members

AGS_MIDI_CI_SUCCESS |  |
AGS_MIDI_CI_ACCEPTED |  |
AGS_MIDI_CI_RESOURCE_UNAVAILABLE |  |
AGS_MIDI_CI_BAD_DATA |  |
AGS_MIDI_CI_TOO_MANY_REQUESTS |  |
AGS_MIDI_CI_BAD_REQUEST |  |
AGS_MIDI_CI_REPLY_NOT_AVAILABLE |  |
AGS_MIDI_CI_RESOURCE_NOT_FOUND |  |
AGS_MIDI_CI_RESOURCE_NOT_ALLOWED |  |
AGS_MIDI_CI_PAYLOAD_TOO_LARGE |  |
AGS_MIDI_CI_UNSUPPORTED_ENCODING |  |
AGS_MIDI_CI_INVALID_VERSION |  |
AGS_MIDI_CI_INTERNAL_ERROR |  |

### enum AgsMidiCIUtilProcessSupportedFeatures

#### Members

AGS_MIDI_CI_PROCESS_MESSAGE_REPORT |  |