/* -*-c-*-
*
- * $Id: main.c,v 1.2 2002/01/30 09:27:55 mdw Exp $
+ * $Id: main.c,v 1.3 2002/02/02 19:21:53 mdw Exp $
*
* Main program
*
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: main.c,v $
- * Revision 1.2 2002/01/30 09:27:55 mdw
- * Parse tracing options on the command-line.
- *
- * Revision 1.1 2002/01/25 19:34:45 mdw
- * Initial revision
- *
- */
-
/*----- Header files ------------------------------------------------------*/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <mLib/report.h>
#include <mLib/trace.h>
+#include "au.h"
#include "err.h"
#include "jog.h"
#include "rxglue.h"
static void tidy(void)
{
txsu_shutdown();
+ au_shutdown();
}
static void sigtidy(int sig)
static void usage(FILE *fp)
{
pquis(fp, "\
-Usage: $ [-t TRANSPORT] [-f FILE] [-c CONFIG] SCRIPT ARG...\n\
+Usage: $ [-t TRANSPORT] [-f FILE] [-c CONFIG] [-a AUDIR] [-x SIZE]\n\
+ SCRIPT ARG...\n\
");
}
-t, --transport=NAME Use transport type NAME.\n\
-f, --tx-file=FILE Communicate using the named FILE.\n\
-c, --tx-config=CONFIG Use CONFIG as transport configuration.\n\
+\n\
+-a, --audio=DIR Set directory containing audio samples.\n\
+-x, --cache-max=SIZE Maximum size for audio sample cache.\n\
",
fp);
}
unsigned f = 0;
int rc = 0;
int i;
+ const char *audir = 0;
+ size_t aumax = AU_CACHEMAX;
#define f_bogus 1u
{ "txfile", OPTF_ARGREQ, 0, 'f' },
{ "file", OPTF_ARGREQ, 0, 'f' },
+ /* --- Audio configuration stuff --- */
+
+ { "audio-directory",
+ OPTF_ARGREQ, 0, 'a' },
+ { "audio-cache-max",
+ OPTF_ARGREQ, 0, 'x' },
+ { "cache-max",
+ OPTF_ARGREQ, 0, 'x' },
+
/* --- Debugging stuff --- */
#ifndef NTRACE
static const trace_opt tropt[] = {
{ 'x', T_TX, "transport layer" },
{ 's', T_TXSYS, "low-level transport" },
+ { 'a', T_AU, "audio subsystem" },
+ { 'y', T_AUSYS, "system-specific audio" },
{ 'A', T_ALL, "all of the above" },
{ 0, 0, 0 }
};
#endif
- i = mdwopt(argc, argv, "hvu" "t:c:f:" T("T:"), opt, 0, 0, 0);
+ i = mdwopt(argc, argv, "hvu" "t:c:f:" "a:x:" T("T:"), opt, 0, 0, 0);
if (i < 0)
break;
txfile = optarg;
break;
+ /* --- Audio configuration stuff --- */
+
+ case 'a':
+ audir = optarg;
+ break;
+ case 'x':
+ aumax = strtoul(optarg, 0, 0);
+ break;
+
/* --- Tracing --- */
#ifndef NTRACE
exit(EXIT_FAILURE);
}
+ au_init(audir, aumax);
rc = rx_runfile(argv[optind],
argc - optind - 1, (const char *const *)argv + optind + 1);
return (rc ? EXIT_FAILURE : 0);