1
0
mirror of https://github.com/ericonr/sndio.git synced 2024-02-18 04:45:21 -06:00

use static functions

This commit is contained in:
Alexandre Ratchov 2014-11-17 08:23:42 +01:00
parent af4e943293
commit 22013bd23a

View File

@ -41,15 +41,6 @@
*/ */
#define VOL_INC 9 #define VOL_INC 9
void mixer_setvol(unsigned int);
void mixer_ondesc(void *, struct siomix_desc *, int);
void mixer_onctl(void *, unsigned int, unsigned int);
int mixer_connect(void);
void mixer_disconnect(void);
void grab_keys(void);
void ungrab_keys(void);
void usage(void);
char *dev_name; char *dev_name;
struct pollfd pfds[16]; struct pollfd pfds[16];
struct siomix_hdl *hdl; struct siomix_hdl *hdl;
@ -64,10 +55,82 @@ Display *dpy;
KeyCode inc_code, dec_code; KeyCode inc_code, dec_code;
KeySym *inc_map, *dec_map; KeySym *inc_map, *dec_map;
/*
* new control
*/
static void
mixer_ondesc(void *unused, struct siomix_desc *desc, int val)
{
if (desc == NULL)
return;
if (master_found)
return;
if (strcmp(desc->chan0.str, "master0") == 0 &&
strcmp(desc->grp, "softvol") == 0) {
master_found = 1;
master_addr = desc->addr;
master_val = val;
if (verbose)
fprintf(stderr, "%s: master at addr %u, value = %u\n",
dev_name, master_addr, master_val);
}
}
/*
* control value changed
*/
static void
mixer_onctl(void *unused, unsigned int addr, unsigned int val)
{
if (addr == master_addr) {
if (verbose)
fprintf(stderr, "master changed %u -> %u\n", master_val, val);
master_val = val;
}
}
/*
* if there's an error, close connection to sndiod
*/
static void
mixer_disconnect(void)
{
if (!siomix_eof(hdl))
return;
if (verbose)
fprintf(stderr, "%s: mixer device disconnected\n", dev_name);
siomix_close(hdl);
hdl = NULL;
}
/*
* connect to sndiod
*/
static int
mixer_connect(void)
{
if (hdl != NULL)
return 1;
hdl = siomix_open(dev_name, SIOMIX_READ | SIOMIX_WRITE, 0);
if (hdl == NULL) {
if (verbose)
fprintf(stderr, "%s: couldn't open mixer device\n",
dev_name);
return 0;
}
master_found = 0;
siomix_ondesc(hdl, mixer_ondesc, NULL);
siomix_onctl(hdl, mixer_onctl, NULL);
if (!master_found)
fprintf(stderr, "%s: warning, couldn't find master control\n",
dev_name);
return 1;
}
/* /*
* send master volume message and to the server * send master volume message and to the server
*/ */
void static void
mixer_incrvol(int incr) mixer_incrvol(int incr)
{ {
int vol; int vol;
@ -92,82 +155,10 @@ mixer_incrvol(int incr)
} }
} }
/*
* new control
*/
void
mixer_ondesc(void *unused, struct siomix_desc *desc, int val)
{
if (desc == NULL)
return;
if (master_found)
return;
if (strcmp(desc->chan0.str, "master0") == 0 &&
strcmp(desc->grp, "softvol") == 0) {
master_found = 1;
master_addr = desc->addr;
master_val = val;
if (verbose)
fprintf(stderr, "%s: master at addr %u, value = %u\n",
dev_name, master_addr, master_val);
}
}
/*
* control value changed
*/
void
mixer_onctl(void *unused, unsigned int addr, unsigned int val)
{
if (addr == master_addr) {
if (verbose)
fprintf(stderr, "master changed %u -> %u\n", master_val, val);
master_val = val;
}
}
/*
* connect to sndiod
*/
int
mixer_connect(void)
{
if (hdl != NULL)
return 1;
hdl = siomix_open(dev_name, SIOMIX_READ | SIOMIX_WRITE, 0);
if (hdl == NULL) {
if (verbose)
fprintf(stderr, "%s: couldn't open mixer device\n",
dev_name);
return 0;
}
master_found = 0;
siomix_ondesc(hdl, mixer_ondesc, NULL);
siomix_onctl(hdl, mixer_onctl, NULL);
if (!master_found)
fprintf(stderr, "%s: warning, couldn't find master control\n",
dev_name);
return 1;
}
/*
* if there's an error, close connection to sndiod
*/
void
mixer_disconnect(void)
{
if (!siomix_eof(hdl))
return;
if (verbose)
fprintf(stderr, "%s: mixer device disconnected\n", dev_name);
siomix_close(hdl);
hdl = NULL;
}
/* /*
* register hot-keys in X * register hot-keys in X
*/ */
void static void
grab_keys(void) grab_keys(void)
{ {
unsigned int i, scr, nscr; unsigned int i, scr, nscr;
@ -208,7 +199,7 @@ grab_keys(void)
/* /*
* unregister hot-keys * unregister hot-keys
*/ */
void static void
ungrab_keys(void) ungrab_keys(void)
{ {
unsigned int scr, nscr; unsigned int scr, nscr;
@ -224,13 +215,6 @@ ungrab_keys(void)
XUngrabKey(dpy, AnyKey, AnyModifier, RootWindow(dpy, scr)); XUngrabKey(dpy, AnyKey, AnyModifier, RootWindow(dpy, scr));
} }
void
usage(void)
{
fprintf(stderr, "usage: xvolkeys [-Dv] [-f device]\n");
exit(1);
}
int int
main(int argc, char **argv) main(int argc, char **argv)
{ {
@ -259,13 +243,15 @@ main(int argc, char **argv)
dev_name = optarg; dev_name = optarg;
break; break;
default: default:
usage(); goto bad_usage;
} }
} }
argc -= optind; argc -= optind;
argv += optind; argv += optind;
if (argc > 0) if (argc > 0) {
usage(); bad_usage:
fprintf(stderr, "usage: xvolkeys [-Dv] [-f device]\n");
}
dpy = XOpenDisplay(NULL); dpy = XOpenDisplay(NULL);
if (dpy == 0) { if (dpy == 0) {