#include #include #include "randcmd.h" struct MsgPort *CreatePort(); struct MsgPort *cmdport,*replyport; struct MsgPort *FindPort(); struct commandrequest cmdreq,*messback; struct SampleData *sam; struct Values *var; long no; char RandSamVers[50] = {"Randsam v1.1 , by Steven Lagerweij 030490"}; VOID main(argc,argv) int argc; char *argv[]; { printf("Cmd program for randsam by Steven Lagerweij\n"); if(argc < 2) { printf("Usage : %s keyword\n",argv[0]); printf("Keywords : \n"); printf(" quit\tQuit signal\n"); printf(" play\tPlay all samples\n"); printf(" conf\tDisplay the current config\n"); exit(0); } if((replyport=CreatePort("replyport randsam",0))==NULL) { printf("Couldn't create port\n"); exit(0); }; cmdreq.cmd_Msg.mn_Node.ln_Type = NT_MESSAGE; cmdreq.cmd_Msg.mn_ReplyPort = replyport; cmdreq.cmd_Msg.mn_Length = sizeof(struct commandrequest); if(stcpma("play",argv[1])) cmdreq.Command = COM_PLAY; else if(stcpma("conf",argv[1])) cmdreq.Command = COM_CONF; else cmdreq.Command = COM_QUIT; cmdport = FindPort(CMDPORTNAME); if(!cmdport) { printf("Couldn't contact program!\n"); DeletePort(replyport); exit(0); } PutMsg(cmdport,&cmdreq); WaitPort(replyport); messback = (struct commandrequest *)GetMsg(replyport); DeletePort(replyport); if(cmdreq.Command == COM_CONF) { sam = (struct SampleData *)cmdreq.data1; var = (struct Values *)cmdreq.data2; no = var->vl_cur; printf("\fRandsam settings\n"); printf( "----------------\n"); printf("Next sound will be in +/- %ld seconds\n",var->vl_waittime); printf("Min delay %-4ld, Max delay %-4ld\n",var->vl_mindelay,var->vl_maxdelay); printf("Min cycles %-4ld, Max cycles %-4ld\n",var->vl_mincyc,var->vl_maxcyc); printf("Maximum diff %d\n",var->vl_maxdiff); printf("Number of samples available is %ld\n",var->vl_num); printf("Using random seed : %ld\n",var->vl_randseed); printf("Last played sample %ld\n",no); printf("Name : %s, period %d Cycles %d Volume %d\n", sam->Name,sam->Period,sam->Cycles,sam->Vol); } exit(0); }