chiark / gitweb /
document new choose screen properly
[disorder] / lib / configuration.h
index 78c31ef361c35bcd51d62e4080fb3c531316ebf4..4b22fdbdf1d002985a0af913e3d615c00f41a4e6 100644 (file)
@@ -183,12 +183,24 @@ struct config {
    * BACKEND_NETWORK.
    */
   int api;
+
+/* These values had better be non-negative */
 #define BACKEND_ALSA 0                 /**< Use ALSA (Linux only) */
 #define BACKEND_COMMAND 1              /**< Execute a command */
 #define BACKEND_NETWORK 2              /**< Transmit RTP  */
 #define BACKEND_COREAUDIO 3            /**< Use Core Audio (Mac only) */
 #define BACKEND_OSS 4                  /**< Use OSS */
 
+#if HAVE_ALSA_ASOUNDLIB_H
+# define DEFAULT_BACKEND BACKEND_ALSA
+#elif HAVE_SYS_SOUNDCARD_H || EMPEG_HOST
+# define DEFAULT_BACKEND BACKEND_OSS
+#elif HAVE_COREAUDIO_AUDIOHARDWARE_H
+# define DEFAULT_BACKEND BACKEND_COREAUDIO
+#else
+# error Cannot choose a default backend
+#endif
+
   /** @brief Home directory for state files */
   const char *home;