chiark / gitweb /
missing samples_written assign
[disorder] / lib / configuration.h
index 4af3cad8aa89e58c7135a419b5db02775838a050..5f0b8cce96c3a236e1303abdc1ae0e09d220f6b5 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * This file is part of DisOrder.
- * Copyright (C) 2004, 2005, 2006 Richard Kettlewell
+ * Copyright (C) 2004, 2005, 2006, 2007 Richard Kettlewell
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -21,6 +21,8 @@
 #ifndef CONFIGURATION_H
 #define CONFIGURATION_H
 
+#include <ao/ao.h>
+
 struct real_pcre;
 
 /* Configuration is kept in a @struct config@; the live configuration
@@ -97,6 +99,13 @@ struct config {
   int lock;                            /* server takes a lock */
   long nice_server;                    /* nice value for server */
   long nice_speaker;                   /* nice value for speaker */
+  const char *speaker_command;         /* command for speaker to run */
+  ao_sample_format sample_format;      /* sample format to enforce */
+  long sox_generation;                 /* sox syntax generation */
+  int speaker_backend;                 /* speaker backend */
+#define BACKEND_ALSA 0
+#define BACKEND_COMMAND 1
+#define BACKEND_NETWORK 2
   /* shared client/server config */
   const char *home;                    /* home directory for state files */
   /* client config */
@@ -107,6 +116,8 @@ struct config {
   const char *url;                     /* canonical URL */
   long refresh;                                /* maximum refresh period */
   unsigned restrictions;               /* restrictions */
+  long queue_pad;                      /* how far to pad queue with
+                                        * random tracks */
 #define RESTRICT_SCRATCH 1
 #define RESTRICT_REMOVE 2
 #define RESTRICT_MOVE 4
@@ -115,6 +126,9 @@ struct config {
   const char *device;                  /* ALSA output device */
   struct transformlist transform;      /* path name transformations */
 
+  struct stringlist broadcast;         /* audio broadcast address */
+  struct stringlist broadcast_from;    /* audio broadcast source address */
+
   /* derived values: */
   int nparts;                          /* number of distinct name parts */
   char **parts;                                /* name part list  */