*/
#include "disobedience.h"
+#include "regexp.h"
#include "version.h"
#include <getopt.h>
#include <locale.h>
-#include <pcre.h>
#include <gcrypt.h>
/* Apologies for the numerous de-consting casts, but GLib et al do not seem to
/** @brief Right channel volume */
int volume_r;
-/** @brief Audio backend */
-const struct uaudio *backend;
-
double goesupto = 10; /* volume upper bound */
/** @brief True if a NOP is in flight */
}
last = now;
#endif
- if(rtp_supported && backend && backend->get_volume) {
+ if(rtp_supported) {
int nl, nr;
- backend->get_volume(&nl, &nr);
- if(nl != volume_l || nr != volume_r) {
+ if (!rtp_getvol(&nl, &nr) && (nl != volume_l || nr != volume_r)) {
volume_l = nl;
volume_r = nr;
event_raise("volume-changed", 0);
};
/* display usage message and terminate */
-static void help(void) {
+static void attribute((noreturn)) help(void) {
xprintf("Disobedience - GUI client for DisOrder\n"
"\n"
"Usage:\n"
mem_init();
/* garbage-collect PCRE's memory */
- pcre_malloc = xmalloc;
- pcre_free = xfree;
+ regexp_setup();
if(!setlocale(LC_CTYPE, "")) disorder_fatal(errno, "error calling setlocale");
gtkok = gtk_init_check(&argc, &argv);
while((n = getopt_long(argc, argv, "hVc:dtHC", options, 0)) >= 0) {
D(("create main loop"));
mainloop = g_main_loop_new(0, 0);
if(config_read(0, NULL)) disorder_fatal(0, "cannot read configuration");
- /* we'll need mixer support */
- backend = uaudio_default(uaudio_apis, UAUDIO_API_CLIENT);
- if(backend->configure)
- backend->configure();
- if(backend->open_mixer)
- backend->open_mixer();
/* create the clients */
if(!(client = gtkclient())
|| !(logclient = gtkclient()))