Show exmidi.c syntax highlighted
/*
* Example program for the Allegro library, by Shawn Hargreaves.
*
* This program demonstrates how to play AL_MIDI files.
*/
#include "allegro.h"
int main(int argc, char *argv[])
{
AL_MIDI *the_music;
allegro_init();
if (argc != 2) {
al_show_message("Usage: 'exmidi filename.mid'\n");
return 1;
}
al_install_keyboard();
al_install_timer();
/* install a AL_MIDI sound driver */
if (al_install_sound(DIGI_AUTODETECT, AL_MIDI_AUTODETECT, argv[0]) != 0) {
al_show_message("Error initialising sound system\n%s\n", al_error);
return 1;
}
/* read in the AL_MIDI file */
the_music = al_load_midi(argv[1]);
if (!the_music) {
al_show_message("Error reading AL_MIDI file '%s'\n", argv[1]);
return 1;
}
if (al_set_gfx_mode(AL_GFX_SAFE, 320, 200, 0, 0) != 0) {
al_set_gfx_mode(AL_GFX_NONE, 0, 0, 0, 0);
al_show_message("Unable to set any graphic mode\n%s\n", al_error);
return 1;
}
al_set_palette(al_desktop_palette);
al_clear_to_color(al_screen, al_make_color(255, 255, 255));
al_text_mode(-1);
al_printf_text_centre(al_screen, al_font_8x8, AL_SCREEN_W/2, AL_SCREEN_H/3, al_make_color(0, 0, 0),
"Driver: %s", midi_driver->name);
al_printf_text_centre(al_screen, al_font_8x8, AL_SCREEN_W/2, AL_SCREEN_H/2, al_make_color(0, 0, 0),
"Playing %s", argv[1]);
/* start up the AL_MIDI file */
al_play_midi(the_music, TRUE);
/* wait for a keypress */
al_read_key();
/* destroy the AL_MIDI file */
al_destroy_midi(the_music);
return 0;
}
AL_END_OF_MAIN();
See more files for this project here