home *** CD-ROM | disk | FTP | other *** search
- /* main - karl's smus loader */
-
- /* Copyright (C) 1989 by Karl Lehenbauer, All Rights Reserved */
-
- #include <exec/types.h>
- #include <exec/memory.h>
- #include <exec/nodes.h>
- #include <exec/lists.h>
- #include <functions.h>
- #include <devices/audio.h>
- #include <workbench/workbench.h>
- #include <workbench/startup.h>
- #include <fcntl.h>
- #include <stdio.h>
-
- #include "smus_requests.h"
-
-
- extern struct MsgPort *player_request_port;
-
- #define YES 1
- #define NO 0
-
- main(argc,argv)
- int argc;
- char *argv[];
- {
- int songnameindex;
- int i;
- void *songptr;
- void *LoadSong();
-
- printf("Lehenbauer SMUS player V2.2 beta\nCopyright 1989 Karl Lehenbauer, All Rights Reserved\n");
-
- SMUSInitServer();
-
- docommands();
-
- SMUSTerminateServer();
-
- cleanup();
- exit(0);
- }
-
- docommands()
- {
- char cmd[80];
- int Running = YES;
- void *songptr = NULL;
-
- while (Running)
- {
- printf("command (a q l L p i t u f A z P C s S ?): ");
- if (gets(cmd) == NULL)
- {
- printf("EOF -- goodbye\n");
- Running = NO;
- }
-
- switch(cmd[0])
- {
- case 'a':
- if (songptr)
- AttachSamples(songptr);
- else
- printf("no current song\n");
- break;
-
- case 'q':
- Running = NO;
- break;
-
- case 'l':
- songptr = LoadSong(&cmd[2]);
- break;
-
- case 'L':
- LoadCATArchive(&cmd[2]);
- break;
-
- case 'p':
- if (songptr)
- PlaySong(songptr);
- else
- printf("no current song\n");
- break;
-
- case 'i':
- if (songptr)
- StartSong(songptr);
- else
- printf("no current song\n");
- break;
-
- case 'u':
- if (songptr)
- {
- UnloadSong(songptr);
- songptr = NULL;
- }
- else
- printf("no current song\n");
- break;
-
- case 't':
- TerminateServerWhenFinished();
- Running = NO;
- break;
-
- case 'f':
- StartFadeOut();
- break;
-
- case 'A':
- AbortSongImmediately();
- break;
-
- case 'z':
- WaitTilSongFinishes();
- break;
-
- case 'P':
- PurgeUntaggedSamples();
- break;
-
- case 'C':
- ClearSampleTags();
- break;
-
- case 's':
- SetSampleTag(&cmd[2]);
- break;
-
- case 'S':
- if (songptr)
- SetSampleTagsOfSong(songptr);
- else
- printf("no current song\n");
- break;
-
- case '?':
- default:
- printf("a attach samples for current song\n");
- printf("f start fade-out\n");
- printf("i start song (play with immediate return)\n");
- printf("l file load song 'file'\n");
- printf("s name set sample tag of named sample\n");
- printf("t terminate server when song is finished\n");
- printf("u unload current song\n");
- printf("L file load samples from IFF CAT 'file'\n");
- printf("p play current song\n");
- printf("q quit, terminating servers\n");
- printf("z wait 'til song finishes\n");
- printf("\n");
- printf("A abort song immediately\n");
- printf("C clear all sample tags\n");
- printf("P purge all untagged samples\n");
- printf("S set tags for samples of current song\n");
- break;
- }
- }
- }
-
-
-
-
-