|
smf_t * | smf_new (void) WARN_UNUSED_RESULT |
|
void | smf_delete (smf_t *smf) |
|
int | smf_set_format (smf_t *smf, int format) WARN_UNUSED_RESULT |
|
int | smf_set_ppqn (smf_t *smf, uint16_t ppqn) WARN_UNUSED_RESULT |
|
char * | smf_decode (const smf_t *smf) WARN_UNUSED_RESULT |
|
smf_track_t * | smf_get_track_by_number (const smf_t *smf, int track_number) WARN_UNUSED_RESULT |
|
smf_event_t * | smf_peek_next_event (smf_t *smf) WARN_UNUSED_RESULT |
|
smf_event_t * | smf_get_next_event (smf_t *smf) WARN_UNUSED_RESULT |
|
void | smf_skip_next_event (smf_t *smf) |
|
void | smf_rewind (smf_t *smf) |
|
int | smf_seek_to_seconds (smf_t *smf, double seconds) WARN_UNUSED_RESULT |
|
int | smf_seek_to_pulses (smf_t *smf, size_t pulses) WARN_UNUSED_RESULT |
|
int | smf_seek_to_event (smf_t *smf, const smf_event_t *event) WARN_UNUSED_RESULT |
|
size_t | smf_get_length_pulses (const smf_t *smf) WARN_UNUSED_RESULT |
|
double | smf_get_length_seconds (const smf_t *smf) WARN_UNUSED_RESULT |
|
int | smf_event_is_last (const smf_event_t *event) WARN_UNUSED_RESULT |
|
void | smf_add_track (smf_t *smf, smf_track_t *track) |
|
void | smf_track_remove_from_smf (smf_track_t *track) |
|
smf_track_t * | smf_track_new (void) WARN_UNUSED_RESULT |
|
void | smf_track_delete (smf_track_t *track) |
|
smf_event_t * | smf_track_get_next_event (smf_track_t *track) WARN_UNUSED_RESULT |
|
smf_event_t * | smf_track_get_event_by_number (const smf_track_t *track, size_t num) WARN_UNUSED_RESULT |
|
smf_event_t * | smf_track_get_last_event (const smf_track_t *track) WARN_UNUSED_RESULT |
|
void | smf_track_add_event_delta_pulses (smf_track_t *track, smf_event_t *event, uint32_t delta) |
|
void | smf_track_add_event_pulses (smf_track_t *track, smf_event_t *event, size_t pulses) |
|
void | smf_track_add_event_seconds (smf_track_t *track, smf_event_t *event, double seconds) |
|
int | smf_track_add_eot_delta_pulses (smf_track_t *track, uint32_t delta) WARN_UNUSED_RESULT |
|
int | smf_track_add_eot_pulses (smf_track_t *track, size_t pulses) WARN_UNUSED_RESULT |
|
int | smf_track_add_eot_seconds (smf_track_t *track, double seconds) WARN_UNUSED_RESULT |
|
void | smf_event_remove_from_track (smf_event_t *event) |
|
smf_event_t * | smf_event_new (void) WARN_UNUSED_RESULT |
|
smf_event_t * | smf_event_new_from_pointer (const void *midi_data, size_t len) WARN_UNUSED_RESULT |
|
smf_event_t * | smf_event_new_from_bytes (int byte1, int byte2, int byte3) WARN_UNUSED_RESULT |
|
smf_event_t * | smf_event_new_textual (int type, const char *text) |
|
void | smf_event_delete (smf_event_t *event) |
|
int | smf_event_is_valid (const smf_event_t *event) WARN_UNUSED_RESULT |
|
int | smf_event_is_metadata (const smf_event_t *event) WARN_UNUSED_RESULT |
|
int | smf_event_is_system_realtime (const smf_event_t *event) WARN_UNUSED_RESULT |
|
int | smf_event_is_system_common (const smf_event_t *event) WARN_UNUSED_RESULT |
|
int | smf_event_is_sysex (const smf_event_t *event) WARN_UNUSED_RESULT |
|
int | smf_event_is_eot (const smf_event_t *event) WARN_UNUSED_RESULT |
|
int | smf_event_is_textual (const smf_event_t *event) WARN_UNUSED_RESULT |
|
char * | smf_event_decode (const smf_event_t *event) WARN_UNUSED_RESULT |
|
char * | smf_event_extract_text (const smf_event_t *event) WARN_UNUSED_RESULT |
|
int | smf_format_vlq (unsigned char *buf, int length, unsigned long value) |
|
int | smf_extract_vlq (const unsigned char *buf, const size_t buffer_length, uint32_t *value, uint32_t *len) |
|
smf_t * | smf_load (FILE *) WARN_UNUSED_RESULT |
|
smf_t * | smf_load_from_memory (const void *buffer, const size_t buffer_length) WARN_UNUSED_RESULT |
|
int | smf_save (smf_t *smf, FILE *file) WARN_UNUSED_RESULT |
|
smf_tempo_t * | smf_get_tempo_by_pulses (const smf_t *smf, size_t pulses) WARN_UNUSED_RESULT |
|
smf_tempo_t * | smf_get_tempo_by_seconds (const smf_t *smf, double seconds) WARN_UNUSED_RESULT |
|
smf_tempo_t * | smf_get_tempo_by_number (const smf_t *smf, size_t number) WARN_UNUSED_RESULT |
|
smf_tempo_t * | smf_get_last_tempo (const smf_t *smf) WARN_UNUSED_RESULT |
|
const char * | smf_get_version (void) WARN_UNUSED_RESULT |
|
Public interface declaration for libsmf, Standard MIDI File format library.
Definition in file smf.h.
smf_event_t* smf_event_new_from_bytes |
( |
int |
first_byte, |
|
|
int |
second_byte, |
|
|
int |
third_byte |
|
) |
| |
Allocates an smf_event_t structure and fills it with at most three bytes of data. For example, if you need to create Note On event, do something like this:
smf_event_new_from_bytes(0x90, 0x3C, 0x7f);
To create event for MIDI message that is shorter than three bytes, do something like this:
smf_event_new_from_bytes(0xC0, 0x42, -1);
- Parameters
-
first_byte | First byte of MIDI message. Must be valid status byte. |
second_byte | Second byte of MIDI message or -1, if message is one byte long. |
third_byte | Third byte of MIDI message or -1, if message is two bytes long. |
- Returns
- Event containing MIDI data or NULL.
Definition at line 290 of file smf.c.
int smf_track_add_eot_delta_pulses |
( |
smf_track_t * |
track, |
|
|
uint32_t |
delta |
|
) |
| |
Add End Of Track metaevent. Using it is optional, libsmf will automatically add EOT to the tracks during smf_save, with delta_pulses 0. If you try to add EOT in the middle of the track, it will fail and nonzero value will be returned. If you try to add EOT after another EOT event, it will be added, but the existing EOT event will be removed.
- Returns
- 0 if everything went ok, nonzero otherwise.
Definition at line 531 of file smf.c.