aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/tools/musicplayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/tools/musicplayer.cpp')
-rw-r--r--engines/sci/tools/musicplayer.cpp114
1 files changed, 54 insertions, 60 deletions
diff --git a/engines/sci/tools/musicplayer.cpp b/engines/sci/tools/musicplayer.cpp
index 34024ddf15..b90caf2bc7 100644
--- a/engines/sci/tools/musicplayer.cpp
+++ b/engines/sci/tools/musicplayer.cpp
@@ -41,8 +41,7 @@
#define DUMMY_SOUND_HANDLE 0xdeadbeef
static song_iterator_t *
-build_iterator(resource_mgr_t *resmgr, int song_nr, int type, songit_id_t id)
-{
+build_iterator(resource_mgr_t *resmgr, int song_nr, int type, songit_id_t id) {
resource_t *song = scir_find_resource(resmgr, sci_sound, song_nr, 0);
if (!song)
@@ -51,65 +50,60 @@ build_iterator(resource_mgr_t *resmgr, int song_nr, int type, songit_id_t id)
return songit_new(song->data, song->size, type, id);
}
-int main(int argc, char** argv)
-{
- resource_mgr_t *resmgr;
- sfx_state_t sound;
- int res_version = SCI_VERSION_AUTODETECT;
- int sound_nr;
- song_handle_t dummy1;
- int dummy2;
- int arg;
- int it_type = SCI_SONG_ITERATOR_TYPE_SCI0;
- song_iterator_t *base, *ff;
-
- printf("FreeSCI %s music player Copyright (C) 1999-2007\n", VERSION);
- printf(" Dmitry Jemerov, Christopher T. Lansdown, Sergey Lapin, Rickard Lind,\n"
- " Carl Muckenhoupt, Christoph Reichenbach, Magnus Reftel, Lars Skovlund,\n"
- " Rink Springer, Petr Vyhnak, Solomon Peachy, Matt Hargett, Alex Angas\n"
- " Walter van Niftrik, Rainer Canavan, Ruediger Hanke, Hugues Valois\n"
- "This program is free software. You can copy and/or modify it freely\n"
- "according to the terms of the GNU general public license, v2.0\n"
- "or any later version, at your option.\n"
- "It comes with ABSOLUTELY NO WARRANTY.\n");
- if (argc < 3)
- {
- fprintf(stderr,"Syntax: %s <resource dir> <sound number> [<sound number> ...]\n", argv[0]);
- return 1;
- }
-
- if (!(resmgr = scir_new_resource_manager(argv[1], res_version,
- 0, 1024*128))) {
- fprintf(stderr,"Could not find any resources; quitting.\n");
- return 2;
- }
-
- if (resmgr->sci_version >= SCI_VERSION_01)
- it_type = SCI_SONG_ITERATOR_TYPE_SCI1;
-
- sfx_init(&sound, resmgr, 0);
- sfx_set_volume(&sound, 127);
-
- arg = 2 - 1;
- while (++arg < argc)
- {
- sound_nr = atoi(argv[arg]);
- base = ff = build_iterator(resmgr, sound_nr, it_type,
- DUMMY_SOUND_HANDLE);
- printf("Playing resource %d...\n", sound_nr);
- if (sfx_add_song(&sound, ff,
- 0, DUMMY_SOUND_HANDLE, sound_nr))
- {
- fprintf(stderr, "Could not start sound resource. Does it exist?\n");
- return 2;
+int main(int argc, char** argv) {
+ resource_mgr_t *resmgr;
+ sfx_state_t sound;
+ int res_version = SCI_VERSION_AUTODETECT;
+ int sound_nr;
+ song_handle_t dummy1;
+ int dummy2;
+ int arg;
+ int it_type = SCI_SONG_ITERATOR_TYPE_SCI0;
+ song_iterator_t *base, *ff;
+
+ printf("FreeSCI %s music player Copyright (C) 1999-2007\n", VERSION);
+ printf(" Dmitry Jemerov, Christopher T. Lansdown, Sergey Lapin, Rickard Lind,\n"
+ " Carl Muckenhoupt, Christoph Reichenbach, Magnus Reftel, Lars Skovlund,\n"
+ " Rink Springer, Petr Vyhnak, Solomon Peachy, Matt Hargett, Alex Angas\n"
+ " Walter van Niftrik, Rainer Canavan, Ruediger Hanke, Hugues Valois\n"
+ "This program is free software. You can copy and/or modify it freely\n"
+ "according to the terms of the GNU general public license, v2.0\n"
+ "or any later version, at your option.\n"
+ "It comes with ABSOLUTELY NO WARRANTY.\n");
+ if (argc < 3) {
+ fprintf(stderr, "Syntax: %s <resource dir> <sound number> [<sound number> ...]\n", argv[0]);
+ return 1;
}
- sfx_song_set_status(&sound, DUMMY_SOUND_HANDLE, SOUND_STATUS_PLAYING);
- while (sfx_poll(&sound, &dummy1, &dummy2) != SI_FINISHED)
- {};
- }
- sfx_exit(&sound);
- scir_free_resource_manager(resmgr);
- return 0;
+
+ if (!(resmgr = scir_new_resource_manager(argv[1], res_version,
+ 0, 1024 * 128))) {
+ fprintf(stderr, "Could not find any resources; quitting.\n");
+ return 2;
+ }
+
+ if (resmgr->sci_version >= SCI_VERSION_01)
+ it_type = SCI_SONG_ITERATOR_TYPE_SCI1;
+
+ sfx_init(&sound, resmgr, 0);
+ sfx_set_volume(&sound, 127);
+
+ arg = 2 - 1;
+ while (++arg < argc) {
+ sound_nr = atoi(argv[arg]);
+ base = ff = build_iterator(resmgr, sound_nr, it_type,
+ DUMMY_SOUND_HANDLE);
+ printf("Playing resource %d...\n", sound_nr);
+ if (sfx_add_song(&sound, ff,
+ 0, DUMMY_SOUND_HANDLE, sound_nr)) {
+ fprintf(stderr, "Could not start sound resource. Does it exist?\n");
+ return 2;
+ }
+ sfx_song_set_status(&sound, DUMMY_SOUND_HANDLE, SOUND_STATUS_PLAYING);
+ while (sfx_poll(&sound, &dummy1, &dummy2) != SI_FINISHED) {};
+ }
+ sfx_exit(&sound);
+ scir_free_resource_manager(resmgr);
+ return 0;
}