## AgsMidiParser

AgsMidiParser — the MIDI parser

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_MIDI_PARSER_GET_OBJ_MUTEX()
gint16 | ags_midi_parser_read_gint16 ()
gint32 | ags_midi_parser_read_gint24 ()
gint32 | ags_midi_parser_read_gint32 ()
gint | ags_midi_parser_read_varlength ()
gchar * | ags_midi_parser_read_text ()
gdouble | ags_midi_parser_ticks_to_sec ()
int | ags_midi_parser_midi_getc ()
void | ags_midi_parser_on_error ()
xmlDoc * | ags_midi_parser_parse_full ()
xmlNode * | ags_midi_parser_parse_bytes ()
xmlNode * | ags_midi_parser_parse_header ()
xmlNode * | ags_midi_parser_parse_track ()
xmlNode * | ags_midi_parser_channel_message ()
xmlNode * | ags_midi_parser_key_on ()
xmlNode * | ags_midi_parser_key_off ()
xmlNode * | ags_midi_parser_key_pressure ()
xmlNode * | ags_midi_parser_change_parameter ()
xmlNode * | ags_midi_parser_change_pitch_bend ()
xmlNode * | ags_midi_parser_change_program ()
xmlNode * | ags_midi_parser_change_channel_pressure ()
xmlNode * | ags_midi_parser_not_defined ()
xmlNode * | ags_midi_parser_sysex ()
xmlNode * | ags_midi_parser_system_common ()
xmlNode * | ags_midi_parser_meta_event ()
xmlNode * | ags_midi_parser_sequence_number ()
xmlNode * | ags_midi_parser_end_of_track ()
xmlNode * | ags_midi_parser_smtpe ()
xmlNode * | ags_midi_parser_tempo ()
xmlNode * | ags_midi_parser_time_signature ()
xmlNode * | ags_midi_parser_key_signature ()
xmlNode * | ags_midi_parser_sequencer_meta_event ()
xmlNode * | ags_midi_parser_text_event ()
xmlNode * | ags_midi_parser_meta_misc ()
xmlNode * | ags_midi_parser_midi_channel_prefix ()
xmlNode * | ags_midi_parser_quarter_frame ()
xmlNode * | ags_midi_parser_song_position ()
xmlNode * | ags_midi_parser_song_select ()
xmlNode * | ags_midi_parser_tune_request ()
void | ags_midi_parser_open_filename ()
void | ags_midi_parser_set_buffer ()
void | ags_midi_parser_set_file_length ()
AgsMidiParser * | ags_midi_parser_new ()
AgsMidiParser * | ags_midi_parser_new_from_filename ()

## Properties

gpointer | file | Read / Write

## Signals

gpointer | change-channel-pressure | Run Last
gpointer | change-parameter | Run Last
gpointer | change-pitch-bend | Run Last
gpointer | change-program | Run Last
gpointer | end-of-track | Run Last
gpointer | key-off | Run Last
gpointer | key-on | Run Last
gpointer | key-pressure | Run Last
gpointer | key-signature | Run Last
gpointer | meta-event | Run Last
gpointer | meta-misc | Run Last
gpointer | midi-channel-prefix | Run Last
int | midi-getc | Run Last
gpointer | not-defined | Run Last
void | on-error | Run Last
gpointer | parse-bytes | Run Last
gpointer | parse-full | Run Last
gpointer | parse-header | Run Last
gpointer | parse-track | Run Last
gpointer | quarter-frame | Run Last
gpointer | sequence-number | Run Last
gpointer | sequencer-meta-event | Run Last
gpointer | smtpe | Run Last
gpointer | song-position | Run Last
gpointer | song-select | Run Last
gpointer | sysex | Run Last
gpointer | system-common | Run Last
gpointer | tempo | Run Last
gpointer | text-event | Run Last
gpointer | time-signature | Run Last
gpointer | tune-request | Run Last

## Types and Values

#define | AGS_MIDI_PARSER_MAX_TEXT_LENGTH
#define | AGS_MIDI_PARSER_MTHD
#define | AGS_MIDI_PARSER_MTCK
#define | AGS_MIDI_EVENT
enum | AgsMidiParserFlags
enum | AgsMidiChunkFlags

## Object Hierarchy

        GObject
        ╰── AgsMidiParser

## Includes

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

## Description

AgsMidiParser parses your midi.

## Functions

### AGS_MIDI_PARSER_GET_OBJ_MUTEX()

    #define AGS_MIDI_PARSER_GET_OBJ_MUTEX(obj) (&(((AgsMidiParser *) obj)->obj_mutex))

### ags_midi_parser_read_gint16 ()

    gint16
    ags_midi_parser_read_gint16 (AgsMidiParser *midi_parser);

Read gint16.

#### Parameters

midi_parser | the AgsMidiParser |

#### Returns

the read gint16

Since: 3.0.0

### ags_midi_parser_read_gint24 ()

    gint32
    ags_midi_parser_read_gint24 (AgsMidiParser *midi_parser);

Read gint32.

#### Parameters

midi_parser | the AgsMidiParser |

#### Returns

the read gint32

Since: 3.0.0

### ags_midi_parser_read_gint32 ()

    gint32
    ags_midi_parser_read_gint32 (AgsMidiParser *midi_parser);

Read gint32.

#### Parameters

midi_parser | the AgsMidiParser |

#### Returns

the read gint32

Since: 3.0.0

### ags_midi_parser_read_varlength ()

    gint
    ags_midi_parser_read_varlength (AgsMidiParser *midi_parser);

Read varlength as long.

#### Parameters

midi_parser | the AgsMidiParser |

#### Returns

the read varlength

Since: 3.0.0

### ags_midi_parser_read_text ()

    gchar *
    ags_midi_parser_read_text (AgsMidiParser *midi_parser,
                               gint length);

Read text.

#### Parameters

midi_parser | the AgsMidiParser |
length | the length |

#### Returns

the text read as string

Since: 3.0.0

### ags_midi_parser_ticks_to_sec ()

    gdouble
    ags_midi_parser_ticks_to_sec (AgsMidiParser *midi_parser,
                                  guint ticks,
                                  gint division,
                                  guint tempo);

Convert ticks to seconds.

#### Parameters

midi_parser | the AgsMidiParser |
ticks | the ticks count |
division | the division |
tempo | the tempo |

#### Returns

the seconds read from ticks

Since: 3.0.0

### ags_midi_parser_midi_getc ()

    int
    ags_midi_parser_midi_getc (AgsMidiParser *midi_parser);

Read one byte.

#### Parameters

midi_parser | the AgsMidiParser |

#### Returns

the byte read

Since: 3.0.0

### ags_midi_parser_on_error ()

    void
    ags_midi_parser_on_error (AgsMidiParser *midi_parser,
                              GError **error);

Error reporting.

#### Parameters

midi_parser | the AgsMidiParser |
error | the return location of GError |

Since: 3.0.0

### ags_midi_parser_parse_full ()

    xmlDoc *
    ags_midi_parser_parse_full (AgsMidiParser *midi_parser);

Parse all data of “file”.

#### Parameters

midi_parser | the AgsMidiParser |

#### Returns

the xmlDoc representing your MIDI file.

[transfer none]

Since: 3.0.0

### ags_midi_parser_parse_bytes ()

    xmlNode *
    ags_midi_parser_parse_bytes (AgsMidiParser *midi_parser,
                                 guchar *midi_buffer,
                                 guint buffer_length);

### ags_midi_parser_parse_header ()

    xmlNode *
    ags_midi_parser_parse_header (AgsMidiParser *midi_parser);

Parse MIDI header

#### Parameters

midi_parser | the AgsMidiParser |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_parse_track ()

    xmlNode *
    ags_midi_parser_parse_track (AgsMidiParser *midi_parser);

Parse MIDI track.

#### Parameters

midi_parser | the AgsMidiParser |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_channel_message ()

    xmlNode *
    ags_midi_parser_channel_message (AgsMidiParser *midi_parser,
                                     guint status);

Parse channel message.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_key_on ()

    xmlNode *
    ags_midi_parser_key_on (AgsMidiParser *midi_parser,
                            guint status);

Parse key on.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_key_off ()

    xmlNode *
    ags_midi_parser_key_off (AgsMidiParser *midi_parser,
                             guint status);

Parse key off.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_key_pressure ()

    xmlNode *
    ags_midi_parser_key_pressure (AgsMidiParser *midi_parser,
                                  guint status);

Parse key pressure.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_change_parameter ()

    xmlNode *
    ags_midi_parser_change_parameter (AgsMidiParser *midi_parser,
                                      guint status);

Parse change parameter.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_change_pitch_bend ()

    xmlNode *
    ags_midi_parser_change_pitch_bend (AgsMidiParser *midi_parser,
                                       guint status);

Parse change pitch bend.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_change_program ()

    xmlNode *
    ags_midi_parser_change_program (AgsMidiParser *midi_parser,
                                    guint status);

Parse change program.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_change_channel_pressure ()

    xmlNode *
    ags_midi_parser_change_channel_pressure
                                   (AgsMidiParser *midi_parser,
                                    guint status);

Parse change channel pressure.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_not_defined ()

    xmlNode *
    ags_midi_parser_not_defined (AgsMidiParser *midi_parser,
                                 guint status);

Parse not defined.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_sysex ()

    xmlNode *
    ags_midi_parser_sysex (AgsMidiParser *midi_parser,
                           guint status);

Parse sysex.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_system_common ()

    xmlNode *
    ags_midi_parser_system_common (AgsMidiParser *midi_parser,
                                   guint status);

Parse system common.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_meta_event ()

    xmlNode *
    ags_midi_parser_meta_event (AgsMidiParser *midi_parser,
                                guint status);

Parse meta event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_sequence_number ()

    xmlNode *
    ags_midi_parser_sequence_number (AgsMidiParser *midi_parser,
                                     guint meta_type);

Parse sequence number.

#### Parameters

midi_parser | the AgsMidiParser |
meta_type | the meta type byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_end_of_track ()

    xmlNode *
    ags_midi_parser_end_of_track (AgsMidiParser *midi_parser,
                                  guint meta_type);

Parse end of track.

#### Parameters

midi_parser | the AgsMidiParser |
meta_type | the meta type byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_smtpe ()

    xmlNode *
    ags_midi_parser_smtpe (AgsMidiParser *midi_parser,
                           guint meta_type);

Parse smtpe.

#### Parameters

midi_parser | the AgsMidiParser |
meta_type | the meta type byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_tempo ()

    xmlNode *
    ags_midi_parser_tempo (AgsMidiParser *midi_parser,
                           guint meta_type);

Parse tempo.

#### Parameters

midi_parser | the AgsMidiParser |
meta_type | the meta type byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_time_signature ()

    xmlNode *
    ags_midi_parser_time_signature (AgsMidiParser *midi_parser,
                                    guint meta_type);

Parse time signature.

#### Parameters

midi_parser | the AgsMidiParser |
meta_type | the meta type byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_key_signature ()

    xmlNode *
    ags_midi_parser_key_signature (AgsMidiParser *midi_parser,
                                   guint meta_type);

Parse key signature.

#### Parameters

midi_parser | the AgsMidiParser |
meta_type | the meta type byte |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_sequencer_meta_event ()

    xmlNode *
    ags_midi_parser_sequencer_meta_event (AgsMidiParser *midi_parser,
                                          guint meta_type);

### ags_midi_parser_text_event ()

    xmlNode *
    ags_midi_parser_text_event (AgsMidiParser *midi_parser,
                                guint meta_type);

Parse text event.

#### Parameters

midi_parser | the AgsMidiParser |
meta_type | the meta message type |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_meta_misc ()

    xmlNode *
    ags_midi_parser_meta_misc (AgsMidiParser *midi_parser,
                               guint meta_type);

Parse meta_misc.

#### Parameters

midi_parser | the AgsMidiParser |
meta_type | the meta message type |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 3.0.0

### ags_midi_parser_midi_channel_prefix ()

    xmlNode *
    ags_midi_parser_midi_channel_prefix (AgsMidiParser *midi_parser,
                                         guint meta_type);

Parse MIDI channel prefix.

#### Parameters

midi_parser | the AgsMidiParser |
meta_type | the meta message type |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 6.16.18

### ags_midi_parser_quarter_frame ()

    xmlNode *
    ags_midi_parser_quarter_frame (AgsMidiParser *midi_parser,
                                   guint status);

Quarter frame.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 6.16.18

### ags_midi_parser_song_position ()

    xmlNode *
    ags_midi_parser_song_position (AgsMidiParser *midi_parser,
                                   guint status);

Song position.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 6.16.18

### ags_midi_parser_song_select ()

    xmlNode *
    ags_midi_parser_song_select (AgsMidiParser *midi_parser,
                                 guint status);

Song select.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 6.16.18

### ags_midi_parser_tune_request ()

    xmlNode *
    ags_midi_parser_tune_request (AgsMidiParser *midi_parser,
                                  guint status);

Song select.

#### Parameters

midi_parser | the AgsMidiParser |
status | the status |

#### Returns

the xmlNode containing parsed data.

[transfer none]

Since: 6.16.18

### ags_midi_parser_open_filename ()

    void
    ags_midi_parser_open_filename (AgsMidiParser *midi_parser,
                                   gchar *filename);

Open `filename` and assign FILE stream to `midi_parser` .

#### Parameters

midi_parser | the AgsMidiParser |
filename | the filename |

Since: 3.2.0

### ags_midi_parser_set_buffer ()

    void
    ags_midi_parser_set_buffer (AgsMidiParser *midi_parser,
                                guchar *buffer);

Set buffer of `midi_parser`

#### Parameters

midi_parser | the AgsMidiParser |
buffer | the buffer |

Since: 3.2.0

### ags_midi_parser_set_file_length ()

    void
    ags_midi_parser_set_file_length (AgsMidiParser *midi_parser,
                                     size_t file_length);

Set file length of `midi_parser`

#### Parameters

midi_parser | the AgsMidiParser |
file_length | the file length |

Since: 3.7.38

### ags_midi_parser_new ()

    AgsMidiParser *
    ags_midi_parser_new ();

Creates a new instance of AgsMidiParser

#### Returns

the new AgsMidiParser

Since: 3.0.0

### ags_midi_parser_new_from_filename ()

    AgsMidiParser *
    ags_midi_parser_new_from_filename (gchar *filename);

Creates a new instance of AgsMidiParser

#### Parameters

filename | the filename. | [nullable]

#### Returns

the new AgsMidiParser

Since: 3.2.0

## Types and Values

### AGS_MIDI_PARSER_MAX_TEXT_LENGTH

    #define AGS_MIDI_PARSER_MAX_TEXT_LENGTH (65535)

### AGS_MIDI_PARSER_MTHD

    #define AGS_MIDI_PARSER_MTHD "MThd"

### AGS_MIDI_PARSER_MTCK

    #define AGS_MIDI_PARSER_MTCK "MTrk"

### AGS_MIDI_EVENT

    #define AGS_MIDI_EVENT "event"

### enum AgsMidiParserFlags

#### Members

AGS_MIDI_PARSER_EOF |  |
AGS_MIDI_PARSER_EOT |  |

### enum AgsMidiChunkFlags

#### Members

AGS_MIDI_CHUNK_HEADER |  |
AGS_MIDI_CHUNK_TRACK |  |
AGS_MIDI_CHUNK_UNKNOWN |  |

## Property Details

### The `“file”` property

      “file”                     gpointer

The file to parse data from.

Owner: AgsMidiParser

Flags: Read / Write

Since: 3.0.0

## Signal Details

### The `“change-channel-pressure”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::change-channel-pressure signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“change-parameter”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::change-parameter signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“change-pitch-bend”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::change-pitch-bend signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“change-program”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::change-program signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“end-of-track”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::end-of-track signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“key-off”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::key-off signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“key-on”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::key-on signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“key-pressure”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::key-pressure signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“key-signature”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::key-signature signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“meta-event”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::meta-event signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“meta-misc”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          meta_type,
                   gpointer       user_data)

The ::meta-misc signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
meta_type | the MIDI meta message type |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 6.16.18

### The `“midi-channel-prefix”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          meta_type,
                   gpointer       user_data)

The ::midi-channel-prefix signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
meta_type | the MIDI meta message type |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 6.16.18

### The `“midi-getc”` signal

    int
    user_function (AgsMidiParser *midi_parser,
                   gpointer       user_data)

The ::midi-getc signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
user_data | user data set when the signal handler was connected. |

#### Returns

The character read

Flags: Run Last

Since: 3.0.0

### The `“not-defined”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::not-defined signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“on-error”` signal

    void
    user_function (AgsMidiParser *midi_parser,
                   gpointer       error,
                   gpointer       user_data)

The ::on-error signal is emited as error occurs.

#### Parameters

midi_parser | the AgsMidiParser |
error | the return location of GError |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0

### The `“parse-bytes”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   gpointer       buffer,
                   guint          buffer_length,
                   gpointer       user_data)

The ::parse-bytes signal is emited during parsing of bytes.

#### Parameters

midi_parser | the AgsMidiParser |
buffer | the MIDI data |
buffer_length | the buffer's length |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“parse-full”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   gpointer       user_data)

The ::parse-full signal is emited during parsing of midi file.

#### Parameters

midi_parser | the AgsMidiParser |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML doc

Flags: Run Last

Since: 3.0.0

### The `“parse-header”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   gpointer       user_data)

The ::parse-header signal is emited during parsing of header.

#### Parameters

midi_parser | the AgsMidiParser |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the header

Flags: Run Last

Since: 3.0.0

### The `“parse-track”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   gpointer       user_data)

The ::parse-track signal is emited during parsing of track.

#### Parameters

midi_parser | the AgsMidiParser |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the track

Flags: Run Last

Since: 3.0.0

### The `“quarter-frame”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::quarter-frame signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 6.16.18

### The `“sequence-number”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::sequence-number signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“sequencer-meta-event”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::sequencer-meta-event signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“smtpe”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::smtpe signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“song-position”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::song-position signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 6.16.18

### The `“song-select”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::song-select signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 6.16.18

### The `“sysex”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::sysex signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“system-common”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::system-common signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“tempo”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::tempo signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“text-event”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::text-event signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“time-signature”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::time-signature signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 3.0.0

### The `“tune-request”` signal

    gpointer
    user_function (AgsMidiParser *midi_parser,
                   guint          status,
                   gpointer       user_data)

The ::tune-request signal is emited during parsing of event.

#### Parameters

midi_parser | the AgsMidiParser |
status | the MIDI status byte |
user_data | user data set when the signal handler was connected. |

#### Returns

The XML node representing the event

Flags: Run Last

Since: 6.16.18