Top |
Functions
Signals
append-header | ||
append-track | ||
change-channel-pressure | ||
change-parameter | ||
change-pitch-bend | ||
change-program | ||
key-off | ||
key-on | ||
key-pressure | ||
key-signature | ||
midi-putc | ||
on-error | ||
quarter-frame | ||
sequence-number | ||
sequencer-meta-event | ||
smtpe | ||
song-position | ||
song-select | ||
sysex | ||
tempo | ||
text-event | ||
time-signature | ||
tune-request |
Types and Values
enum | AgsMidiBuilderFlags |
struct | AgsMidiBuilderHeader |
struct | AgsMidiBuilderTrack |
#define | AGS_TYPE_MIDI_BUILDER |
struct | AgsMidiBuilder |
struct | AgsMidiBuilderClass |
Functions
AGS_MIDI_BUILDER_GET_OBJ_MUTEX()
#define AGS_MIDI_BUILDER_GET_OBJ_MUTEX(obj) (&(((AgsMidiBuilder *) obj)->obj_mutex))
ags_midi_builder_header_alloc ()
AgsMidiBuilderHeader * ags_midi_builder_header_alloc ();
Allocate MIDI builder header.
Since:
ags_midi_builder_header_free ()
void ags_midi_builder_header_free (AgsMidiBuilderHeader *midi_builder_header
);
Free MIDI builder header.
Since:
ags_midi_builder_track_alloc ()
AgsMidiBuilderTrack * ags_midi_builder_track_alloc ();
Allocate MIDI builder track.
Since:
ags_midi_builder_track_free ()
void ags_midi_builder_track_free (AgsMidiBuilderTrack *midi_builder_track
);
Free MIDI builder track.
Since:
ags_midi_builder_track_find_delta_time_with_track_name ()
GList * ags_midi_builder_track_find_delta_time_with_track_name (,
GList *midi_builder_track,
guint64 absolute_time);
gchar *track_name
Finds matching midi_builder_track
Parameters
midi_builder_track |
the AgsMidiBuilderTrack. |
[element-type gpointer][transfer none] |
absolute_time |
the absolute time |
|
track_name |
the track's string representation |
Since:
ags_midi_builder_track_insert_midi_message ()
void ags_midi_builder_track_insert_midi_message (AgsMidiBuilderTrack *midi_builder_track
,,
guchar *buffer);
guint length
Insert MIDI message.
Parameters
midi_builder_track |
the |
|
buffer |
the MIDI message |
|
length |
the buffer length |
Since:
ags_midi_builder_track_get_delta_time_offset ()
guchar * ags_midi_builder_track_get_delta_time_offset (AgsMidiBuilderTrack *midi_builder_track
,);
guint64 absolute_time
Get offset by delta time.
Since:
ags_midi_builder_midi_putc ()
void ags_midi_builder_midi_putc (AgsMidiBuilder *midi_builder
,);
gint c
Put char in MIDI file.
Since:
ags_midi_builder_on_error ()
void ags_midi_builder_on_error (AgsMidiBuilder *midi_builder
,);
GError **error
Triggered as an error occurs.
Since:
ags_midi_builder_append_header ()
void ags_midi_builder_append_header (AgsMidiBuilder *midi_builder
,,
guint offset,
guint format,
guint track_count,
guint division,
guint times,
guint bpm);
guint clicks
Appends MIDI header to midi_builder
.
Parameters
midi_builder |
the AgsMidiBuilder |
|
offset |
start delta-time |
|
format |
either 0, 1 or 2. |
|
track_count |
the number of tracks |
|
division |
timing division |
|
times |
pulse per quarter note |
|
bpm |
beats per minute |
|
clicks |
timing clicks |
Since:
ags_midi_builder_append_track ()
void ags_midi_builder_append_track (AgsMidiBuilder *midi_builder
,);
gchar *track_name
Append a track called track_name
to midi_builder
.
Since:
ags_midi_builder_append_key_on ()
void ags_midi_builder_append_key_on (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint audio_channel,
guint note);
guint velocity
Append key-on for note
to midi_builder
with key dynamics velocity
, at delta_time
.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
delta-time |
|
audio_channel |
the audio channel |
|
note |
the note to play from 0 to 128 |
|
velocity |
key dynamics |
Since:
ags_midi_builder_append_key_off ()
void ags_midi_builder_append_key_off (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint audio_channel,
guint note);
guint velocity
Append key-off for note
to midi_builder
with key dynamics velocity
, at delta_time
.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
delta-time |
|
audio_channel |
the audio channel |
|
note |
the note to play from 0 to 128 |
|
velocity |
key dynamics |
Since:
ags_midi_builder_append_key_pressure ()
void ags_midi_builder_append_key_pressure (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint audio_channel,
guint note);
guint pressure
Append key-pressure for note
to midi_builder
with key dynamics pressure
, at delta_time
.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
delta-time |
|
audio_channel |
the audio channel |
|
note |
the note to play from 0 to 128 |
|
pressure |
key dynamics |
Since:
ags_midi_builder_append_change_parameter ()
void ags_midi_builder_append_change_parameter (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint channel,
guint control);
guint value
Appends change parameter.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
the delta time |
|
channel |
the channel |
|
control |
the control |
|
value |
the value |
Since:
ags_midi_builder_append_change_pitch_bend ()
void ags_midi_builder_append_change_pitch_bend (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint channel,
guint pitch);
guint transmitter
Change pitch bend.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
the delta time |
|
channel |
the channel |
|
pitch |
the pitch |
|
transmitter |
the transmitter |
Since:
ags_midi_builder_append_change_program ()
void ags_midi_builder_append_change_program (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint channel);
guint program
Appends change program.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
the delta time |
|
channel |
the channel |
|
program |
the program |
Since:
ags_midi_builder_append_change_pressure ()
void ags_midi_builder_append_change_pressure (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint channel);
guint pressure
Appends change pressure.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
the delta time |
|
channel |
the channel |
|
pressure |
the pressure |
Since:
ags_midi_builder_append_sysex ()
void ags_midi_builder_append_sysex (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guchar *sysex_data);
guint length
Appends sysex data.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
the delta time |
|
sysex_data |
the sysex data |
|
length |
length |
Since:
ags_midi_builder_append_quarter_frame ()
void ags_midi_builder_append_quarter_frame (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint message_type);
guint values
Appends quarter frame.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
the delta time |
|
message_type |
the message type |
|
values |
values |
Since:
ags_midi_builder_append_song_position ()
void ags_midi_builder_append_song_position (AgsMidiBuilder *midi_builder
,,
guint delta_time);
guint song_position
Appends song position.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
the delta time |
|
song_position |
the song position |
Since:
ags_midi_builder_append_song_select ()
void ags_midi_builder_append_song_select (AgsMidiBuilder *midi_builder
,,
guint delta_time);
guint song_select
Appends song select.
Since:
ags_midi_builder_append_tune_request ()
void ags_midi_builder_append_tune_request (AgsMidiBuilder *midi_builder
,);
guint delta_time
Appends tune request.
Since:
ags_midi_builder_append_sequence_number ()
void ags_midi_builder_append_sequence_number (AgsMidiBuilder *midi_builder
,,
guint delta_time);
guint sequence
Appends sequence number.
Since:
ags_midi_builder_append_smtpe ()
void ags_midi_builder_append_smtpe (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint rr,
guint hr,
guint mn,
guint se);
guint fr
Appends smtpe.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
the delta time |
|
rr |
rate |
|
hr |
hours |
|
mn |
minutes |
|
se |
seconds |
|
fr |
fraction |
Since:
ags_midi_builder_append_tempo ()
void ags_midi_builder_append_tempo (AgsMidiBuilder *midi_builder
,,
guint delta_time);
guint tempo
Appends tempo.
Since:
ags_midi_builder_append_time_signature ()
void ags_midi_builder_append_time_signature (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint nn,
guint dd,
guint cc);
guint bb
Appends time signature.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
the delta time |
|
nn |
numerator |
|
dd |
denominator |
|
cc |
ticks per metronome click |
|
bb |
32nd per quarter note |
Since:
ags_midi_builder_append_key_signature ()
void ags_midi_builder_append_key_signature (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint sf);
guint mi
Appends key signature.
Since:
ags_midi_builder_append_sequencer_meta_event ()
void ags_midi_builder_append_sequencer_meta_event (AgsMidiBuilder *midi_builder
,,
guint delta_time,
guint len,
guint id);
guint data
Appends sequencer meta event.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
the delta time |
|
len |
the length |
|
id |
the id |
|
data |
the data |
Since:
ags_midi_builder_append_text_event ()
void ags_midi_builder_append_text_event (AgsMidiBuilder *midi_builder
,,
guint delta_time,
gchar *text);
guint length
Appends text event.
Parameters
midi_builder |
the AgsMidiBuilder |
|
delta_time |
the delta time |
|
text |
the string |
|
length |
the string length |
Since:
ags_midi_builder_append_xml_node ()
void ags_midi_builder_append_xml_node (AgsMidiBuilder *midi_builder
,);
xmlNode *node
Append from XML node node
.
Since:
ags_midi_builder_from_xml_doc ()
void ags_midi_builder_from_xml_doc (AgsMidiBuilder *midi_builder
,);
xmlDoc *doc
Builds from XML document doc
.
Since:
ags_midi_builder_build ()
void ags_midi_builder_build (AgsMidiBuilder *midi_builder
);
Build the MIDI data.
Since:
ags_midi_builder_open_filename ()
void ags_midi_builder_open_filename (AgsMidiBuilder *midi_builder
,);
gchar *filename
Open filename
and assign FILE stream to midi_builder
.
Since:
ags_midi_builder_get_data ()
guchar * ags_midi_builder_get_data (AgsMidiBuilder *midi_builder
);
Get SMF data of midi_builder
.
Since:
ags_midi_builder_get_data_with_length ()
guchar * ags_midi_builder_get_data_with_length (AgsMidiBuilder *midi_builder
,);
guint *length
Get SMF data of midi_builder
.
Since:
ags_midi_builder_write ()
void ags_midi_builder_write (AgsMidiBuilder *midi_builder
);
Write data of midi_builder
to file.
Since:
ags_midi_builder_new ()
AgsMidiBuilder * ags_midi_builder_new ();
Creates a new instance of AgsMidiBuilder
Since:
ags_midi_builder_new_from_filename ()
AgsMidiBuilder *
ags_midi_builder_new_from_filename (gchar *filename
);
Creates a new instance of AgsMidiBuilder
Since:
AGS_IS_MIDI_BUILDER()
#define AGS_IS_MIDI_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AGS_TYPE_MIDI_BUILDER))
AGS_IS_MIDI_BUILDER_CLASS()
#define AGS_IS_MIDI_BUILDER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), AGS_TYPE_MIDI_BUILDER))
AGS_MIDI_BUILDER()
#define AGS_MIDI_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_MIDI_BUILDER, AgsMidiBuilder))
AGS_MIDI_BUILDER_CLASS()
#define AGS_MIDI_BUILDER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_MIDI_BUILDER, AgsMidiBuilderClass))
AGS_MIDI_BUILDER_GET_CLASS()
#define AGS_MIDI_BUILDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AGS_TYPE_MIDI_BUILDER, AgsMidiBuilderClass))
Types and Values
struct AgsMidiBuilderHeader
struct AgsMidiBuilderHeader { guint offset; guint format; guint count; guint division; guint times; guint beat; guint clicks; guchar *data; guint length; };
struct AgsMidiBuilderTrack
struct AgsMidiBuilderTrack { AgsMidiBuilder *midi_builder; guint offset; gchar *track_name; guint64 absolute_time; guchar *data; guint length; };
struct AgsMidiBuilderClass
struct AgsMidiBuilderClass { GObjectClass gobject; void (*midi_putc)(AgsMidiBuilder *midi_builder, gint c); void (*on_error)(AgsMidiBuilder *midi_builder, GError **error); /* channel messages */ void (*append_header)(AgsMidiBuilder *midi_builder, guint offset, guint format, guint track_count, guint division, guint times, guint bpm, guint clicks); void (*append_track)(AgsMidiBuilder *midi_builder, gchar *track_name); void (*append_key_on)(AgsMidiBuilder *midi_builder, guint delta_time, guint audio_channel, guint note, guint velocity); void (*append_key_off)(AgsMidiBuilder *midi_builder, guint delta_time, guint audio_channel, guint note, guint velocity); void (*append_key_pressure)(AgsMidiBuilder *midi_builder, guint delta_time, guint audio_channel, guint note, guint pressure); void (*append_change_parameter)(AgsMidiBuilder *midi_builder, guint delta_time, guint channel, guint control, guint value); void (*append_change_pitch_bend)(AgsMidiBuilder *midi_builder, guint delta_time, guint channel, guint pitch, guint transmitter); void (*append_change_program)(AgsMidiBuilder *midi_builder, guint delta_time, guint channel, guint program); void (*append_change_pressure)(AgsMidiBuilder *midi_builder, guint delta_time, guint channel, guint pressure); /* sysex and system common */ void (*append_sysex)(AgsMidiBuilder *midi_builder, guint delta_time, guchar *sysex_data, guint length); void (*append_quarter_frame)(AgsMidiBuilder *midi_builder, guint delta_time, guint message_type, guint values); void (*append_song_position)(AgsMidiBuilder *midi_builder, guint delta_time, guint song_position); void (*append_song_select)(AgsMidiBuilder *midi_builder, guint delta_time, guint song_select); void (*append_tune_request)(AgsMidiBuilder *midi_builder, guint delta_time); /* meta events */ void (*append_sequence_number)(AgsMidiBuilder *midi_builder, guint delta_time, guint sequence); void (*append_smtpe)(AgsMidiBuilder *midi_builder, guint delta_time, guint rr, guint hr, guint mn, guint se, guint fr); void (*append_tempo)(AgsMidiBuilder *midi_builder, guint delta_time, guint tempo); void (*append_time_signature)(AgsMidiBuilder *midi_builder, guint delta_time, guint nn, guint dd, guint cc, guint bb); void (*append_key_signature)(AgsMidiBuilder *midi_builder, guint delta_time, guint sf, guint mi); void (*append_sequencer_meta_event)(AgsMidiBuilder *midi_builder, guint delta_time, guint len, guint id, guint data); void (*append_text_event)(AgsMidiBuilder *midi_builder, guint delta_time, gchar *text, guint length); };
Signal Details
The “append-header”
signal
void user_function (AgsMidiBuilder *midi_builder,guint offset,guint format,guint track_count,guint division,guint times,guint bpm,guint clicks,gpointer user_data)
The ::append-header signal is emited during building of header.
Parameters
midi_builder |
the builder |
|
offset |
start delta-time |
|
format |
format 0, 1 or 2 |
|
track_count |
the number of tracks |
|
division |
timing division |
|
times |
pulses per quarter note |
|
bpm |
beats per minute |
|
clicks |
timing clicks |
|
user_data |
user data set when the signal handler was connected. |
Flags:
Since:
The “append-track”
signal
void user_function (AgsMidiBuilder *midi_builder,char *track_name,gpointer user_data)
The ::append-track signal is emited during building of track.
Parameters
midi_builder |
the builder |
|
track_name |
the trach name |
|
user_data |
user data set when the signal handler was connected. |
Flags:
Since:
The “change-channel-pressure”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,guint arg3,gpointer user_data)
Flags:
The “change-parameter”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,guint arg3,guint arg4,gpointer user_data)
Flags:
The “change-pitch-bend”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,guint arg3,guint arg4,gpointer user_data)
Flags:
The “change-program”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,guint arg3,gpointer user_data)
Flags:
The “key-off”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,guint arg3,guint arg4,gpointer user_data)
Flags:
The “key-on”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,guint arg3,guint arg4,gpointer user_data)
Flags:
The “key-pressure”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,guint arg3,guint arg4,gpointer user_data)
Flags:
The “key-signature”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,gboolean arg3,gpointer user_data)
Flags:
The “midi-putc”
signal
void user_function (AgsMidiBuilder *midi_builder,int error,gpointer user_data)
The ::midi-putc signal is emited during putting char to file.
Parameters
midi_builder |
the builder |
|
error |
the |
|
user_data |
user data set when the signal handler was connected. |
Flags:
Since:
The “on-error”
signal
void user_function (AgsMidiBuilder *midi_builder,gpointer error,gpointer user_data)
The ::on-error signal is emited during building of event.
Parameters
midi_builder |
the builder |
|
error |
the |
|
user_data |
user data set when the signal handler was connected. |
Flags:
Since:
The “quarter-frame”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,guint arg3,gpointer user_data)
Flags:
The “sequence-number”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,gpointer user_data)
Flags:
The “sequencer-meta-event”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,guint arg3,guint arg4,gpointer user_data)
Flags:
The “smtpe”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,guint arg3,guint arg4,guint arg5,guint arg6,gpointer user_data)
Flags:
The “song-position”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,gpointer user_data)
Flags:
The “song-select”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,gpointer user_data)
Flags:
The “sysex”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,gpointer arg2,guint arg3,gpointer user_data)
Flags:
The “tempo”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,gpointer user_data)
Flags:
The “text-event”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,char *arg2,guint arg3,gpointer user_data)
Flags:
The “time-signature”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,guint arg2,guint arg3,guint arg4,guint arg5,gpointer user_data)
Flags:
The “tune-request”
signal
void user_function (AgsMidiBuilder *agsmidibuilder,guint arg1,gpointer user_data)
Flags: