
/* Test program for PlayIt AOF interface

   by Rick Hudson, 1999

*/


#ifndef _playit_test_c
#define _playit_test_c

#include <stdio.h>
#include <stdlib.h>

#include "kernel.h"
#include "playitap.h"


static void stderror(playit_error *err)
{
  if (err) {
    printf("%s\n",err->errmess);
    exit(-1);
  }
}

int main(int argc, char *argv[])
{
  int size,version;
  playit_statusbits status;
  char *name,*descr,*sver;
  int rate,frames,bstart,bend;
  playit_format fmt;

  stderror(xplayit_ensure(145,"<PlayIt$Dir>",0,&version));
  printf("PlayIt %d.%02d is loaded.\n",version/100,version%100);
  stderror(xplayit_config_discbuffer(PLAYIT_READ_BUFF,&size));
  printf("Buffer size is %dK\n",size/1024);
  stderror(xplayit_status(&status,NULL));
  if (!(status & PLAYIT_STAT_OPEN)) if (argc>1)
    stderror(xplayit_autoplay(argv[1]));
  stderror(xplayit_driver_info(&name,&descr,&sver,NULL,NULL));
  printf("Current driver is %s: %s (%s)\n",name ? name:"<none>",
    descr ? descr:"<none>",sver ? sver:"<none>");
  stderror(xplayit_status(&status,NULL));
  if (status & PLAYIT_STAT_PLAYING) printf("PlayIt is playing\n");
  else if (status & PLAYIT_STAT_PAUSED) printf("PlayIt is paused\n");
  else printf("PlayIt is idle\n");
  if (!xplayit_sample_info(&name,&fmt,&rate,&bstart,&bend,&frames)) {
    printf("File playing is %s\n",name);
    printf("Playing %d frames at %d frames/second\n",frames,rate);
    printf("Byte range is %d-%d\n",bstart,bend);
    printf("Format is 0x%X\n",fmt.i);
    printf("File type is %s\n",playit_FILE_TYPE_NAME(fmt));
  }
}


#endif
