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:
parent
af4e943293
commit
22013bd23a
@ -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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user