Lines Matching defs:str

89 	} str[2];
220 return s->str[dir].min;
221 n = (int64_t) (value - c->min) * (s->str[dir].max - s->str[dir].min);
222 return s->str[dir].min + (n + (c->max - c->min) / 2) / (c->max - c->min);
228 if (s->str[dir].max == s->str[dir].min)
230 n = (int64_t) (value - s->str[dir].min) * (c->max - c->min);
231 return c->min + (n + (s->str[dir].max - s->str[dir].min) / 2) / (s->str[dir].max - s->str[dir].min);
242 for (idx = 0; idx < s->str[dir].channels; idx++) {
246 s->str[dir].vol[idx] =
261 for (idx = 0; idx < s->str[dir].channels; idx++) {
266 s->str[dir].sw &= ~(1 << idx);
279 for (idx = 0; idx < s->str[dir].channels; idx++) {
285 s->str[dir].sw &= ~(1 << idx);
308 for (idx = 0; idx < s->str[0].channels; idx++) {
312 s->str[0].vol[idx] =
329 memcpy(pvol, s->str[SM_PLAY].vol, sizeof(pvol));
330 memset(&s->str[SM_PLAY].vol, 0, sizeof(s->str[SM_PLAY].vol));
331 psw = s->str[SM_PLAY].sw;
332 s->str[SM_PLAY].sw = ~0U;
333 memcpy(cvol, s->str[SM_CAPT].vol, sizeof(cvol));
334 memset(&s->str[SM_CAPT].vol, 0, sizeof(s->str[SM_CAPT].vol));
335 csw = s->str[SM_CAPT].sw;
336 s->str[SM_CAPT].sw = ~0U;
371 s->str[SM_PLAY].sw = 0;
413 s->str[SM_CAPT].sw = 0;
448 for (idx = 0; idx < s->str[SM_CAPT].channels; idx++) {
454 s->str[SM_CAPT].sw &= ~(1 << idx);
459 if (memcmp(pvol, s->str[SM_PLAY].vol, sizeof(pvol)) ||
460 psw != s->str[SM_PLAY].sw ||
461 memcmp(cvol, s->str[SM_CAPT].vol, sizeof(cvol)) ||
462 csw != s->str[SM_CAPT].sw)
477 from_user(s, dir, c, s->str[dir].vol[idx]));
493 !!(s->str[dir].sw & (1 << idx)));
526 !!(s->str[dir].sw & (1 << idx)));
552 (unsigned int)s->str[0].vol[idx]);
635 if (s->str[SM_CAPT].sw & (1 << idx))
666 free(simple->str[0].db_info);
667 free(simple->str[1].db_info);
875 simple->str[SM_PLAY].channels = pchannels;
876 if (!simple->str[SM_PLAY].range) {
877 simple->str[SM_PLAY].min = pmin != LONG_MAX ? pmin : 0;
878 simple->str[SM_PLAY].max = pmax != LONG_MIN ? pmax : 0;
880 simple->str[SM_CAPT].channels = cchannels;
881 if (!simple->str[SM_CAPT].range) {
882 simple->str[SM_CAPT].min = cmin != LONG_MAX ? cmin : 0;
883 simple->str[SM_CAPT].max = cmax != LONG_MIN ? cmax : 0;
970 if ((unsigned int) channel >= s->str[dir].channels)
972 if (value < s->str[dir].min || value > s->str[dir].max)
977 if (value != s->str[dir].vol[channel]) {
978 s->str[dir].vol[channel] = value;
987 if ((unsigned int) channel >= s->str[dir].channels)
993 if (!(s->str[dir].sw & (1 << channel))) {
994 s->str[dir].sw |= 1 << channel;
998 if (s->str[dir].sw & (1 << channel)) {
999 s->str[dir].sw &= ~(1 << channel);
1021 return s->str[dir].channels == 1;
1024 return (unsigned int) val < s->str[dir].channels;
1065 *min = s->str[dir].min;
1066 *max = s->str[dir].max;
1076 s->str[dir].range = 1;
1077 s->str[dir].min = min;
1078 s->str[dir].max = max;
1090 if ((unsigned int) channel >= s->str[dir].channels)
1092 *value = s->str[dir].vol[channel];
1189 return get_dB_range(c->elem, &s->str[dir], min, max);
1213 int res = convert_to_dB(c->elem, &s->str[dir], value, dBvalue);
1234 if ((err = convert_to_dB(c->elem, &s->str[dir], volume, &db_gain)) < 0)
1248 if ((unsigned int) channel >= s->str[dir].channels)
1250 *value = !!(s->str[dir].sw & (1 << channel));
1277 return convert_from_dB(c->elem, &s->str[dir], dbValue, value, xdir);
1294 err = convert_from_dB(c->elem, &s->str[dir], db_gain, &value, xdir);
1360 if ((unsigned int) channel >= s->str[0].channels)
1382 if ((unsigned int) channel >= s->str[0].channels) {