Lines Matching defs:vol
109 initvol(struct sioctl_sun_hdl *hdl, struct volume *vol, char *cn, char *dn)
123 vol->nch = dev.un.v.num_channels;
124 vol->level_idx = dev.index;
125 vol->mute_idx = initmute(hdl, &dev);
127 vol->nch, vol->mute_idx >= 0 ? "mute" : "no mute");
131 vol->level_idx = vol->mute_idx = -1;
181 setvol(struct sioctl_sun_hdl *hdl, struct volume *vol, int addr, int val)
186 addr -= vol->base_addr;
187 if (vol->level_idx >= 0 && addr >= 0 && addr < vol->nch) {
188 if (vol->level_val[addr] == val) {
192 vol->level_val[addr] = val;
193 ctrl.dev = vol->level_idx;
195 ctrl.un.value.num_channels = vol->nch;
196 for (i = 0; i < vol->nch; i++)
197 ctrl.un.value.level[i] = vol->level_val[i];
198 DPRINTF("vol %d setting to %d\n", addr, vol->level_val[addr]);
203 _sioctl_onval_cb(&hdl->sioctl, vol->base_addr + addr, val);
208 if (vol->mute_idx >= 0 && addr >= 0 && addr < vol->nch) {
210 if (vol->mute_val == val) {
214 vol->mute_val = val;
215 ctrl.dev = vol->mute_idx;
223 for (i = 0; i < vol->nch; i++) {
225 vol->base_addr + 32 + i, val);
233 scanvol(struct sioctl_sun_hdl *hdl, struct volume *vol)
240 if (vol->level_idx >= 0) {
241 ctrl.dev = vol->level_idx;
243 ctrl.un.value.num_channels = vol->nch;
253 strlcpy(desc.node0.name, vol->name, SIOCTL_NAMEMAX);
254 for (i = 0; i < vol->nch; i++) {
256 desc.addr = vol->base_addr + i;
258 vol->level_val[i] = val;
262 if (vol->mute_idx >= 0) {
263 ctrl.dev = vol->mute_idx;
274 strlcpy(desc.node0.name, vol->name, SIOCTL_NAMEMAX);
276 vol->mute_val = val;
277 for (i = 0; i < vol->nch; i++) {
279 desc.addr = vol->base_addr + 32 + i;
287 updatevol(struct sioctl_sun_hdl *hdl, struct volume *vol, int idx)
292 if (idx == vol->mute_idx)
296 ctrl.un.value.num_channels = vol->nch;
304 if (idx == vol->mute_idx) {
306 if (vol->mute_val == val)
308 vol->mute_val = val;
309 for (i = 0; i < vol->nch; i++) {
311 vol->base_addr + 32 + i, val);
314 for (i = 0; i < vol->nch; i++) {
316 if (vol->level_val[i] == val)
318 vol->level_val[i] = val;
320 vol->base_addr + i, val);
494 struct volume *vol;
518 vol = &hdl->output;
521 vol = &hdl->input;
525 if (!updatevol(hdl, vol, idx))