Lines Matching defs:Info

362 Mixer::_InitGainLimits(multi_mix_control& Control, GainInfo& Info)
364 float base = Info.fBase >> Info.fOff;
365 float max = Info.fMask >> Info.fOff;
367 float min_gain = Info.fMult * (0.0 - base);
368 float max_gain = Info.fMult * (max - base);
370 Control.gain.min_gain = (Info.fMult > 0) ? min_gain : max_gain;
371 Control.gain.max_gain = (Info.fMult > 0) ? max_gain : min_gain;
372 Control.gain.granularity = Info.fMult;
375 uint8 gran = (uint8)(Info.fMult * 10.);
377 Control.id |= (Info.fBase << baseShift);
380 Info.fBase, Info.fMask, Info.fMult);
403 Mixer::_CorrectMIXControlInfo(MIXControlInfo& Info, GainInfo& gainInfo)
409 switch (Info.fAC97Reg) {
412 Info.fNameId = S_HEADPHONE;
413 Info.fName = NULL;
450 if (_CheckRegFeatures(Info.fAC97Reg, testMask, testResult)) {
463 int32 parentIndex, MIXControlInfo& Info)
467 GainInfo gainInfo = *Info.fInfo;
468 if (!_CorrectMIXControlInfo(Info, gainInfo))
471 int32 IdReg = Info.fAC97Reg << regShift;
475 = Controls[index].id = IdReg | Info.fType;
478 Controls[index].string = Info.fNameId;
479 if (Info.fName != NULL)
480 strlcpy(Controls[index].name, Info.fName,
484 if (Info.fType & MIX_Mute) {
486 Controls[index].id |= Info.fInfo->fEnaOff << baseShift;
495 if (Info.fType & MIX_Enable) {
496 int32 IdExReg = Info.fExAC97Reg << regShift;
498 Controls[index].id |= (Info.fExOff << baseShift);
501 Controls[index].string = Info.fExNameId;
502 if (Info.fExName != NULL)
503 strlcpy(Controls[index].name, Info.fExName,
511 if (Info.fType & MIX_LGain) {
521 if (Info.fType & MIX_RGain) {
531 if (Info.fType & MIX_Boost) {
533 Controls[index].id |= (Info.fExOff << baseShift);
536 Controls[index].string = Info.fExNameId;
537 if (Info.fExName != NULL)
538 strlcpy(Controls[index].name, Info.fExName,
545 if (Info.fType & MIX_MUX) {
546 int32 IdMUXReg = Info.fExAC97Reg << regShift;
552 if (Info.fExName != NULL)
553 strlcpy(Controls[index].name, Info.fExName,
577 Mixer::ListMixControls(multi_mix_control_info* Info)
580 multi_mix_control* Controls = Info->controls;
589 _CreateMIXControlGroup(Info, index, mixerGroup, OutputControls[i]);
600 _CreateMIXControlGroup(Info, index, inputGroup, InputControls[i]);
612 _CreateMIXControlGroup(Info, index, recordGroup, RecordControls[i]);
615 Info->control_count = index;
622 Mixer::GetMix(multi_mix_value_info *Info)
624 for (int32 i = 0; i < Info->item_count; i++) {
626 int32 Id= Info->values[i].id;
638 Info->values[i].enable = (RegValue & mask) == mask;
640 Reg, Info->values[i].enable, RegValue);
645 Info->values[i].mux = (RegValue | (RegValue >> 8)) & 0x7;
647 Reg, Info->values[i].mux, RegValue);
656 Info->values[i].gain = mult * gain - base;
658 Reg, Info->values[i].gain, mult, base, gain);
664 Info->values[i].gain = mult * gain - base;
666 Reg, Info->values[i].gain, mult, base, gain);
675 Mixer::SetMix(multi_mix_value_info *Info)
677 for (int32 i = 0; i < Info->item_count; i++) {
679 int32 Id = Info->values[i].id;
691 if (Info->values[i].enable)
696 Reg, Info->values[i].enable, RegValue);
700 uint8 mux = Info->values[i].mux & 0x7;
703 Reg, Info->values[i].mux, RegValue);
709 float gain = (Info->values[i].gain + base) / mult;
718 Reg, Info->values[i].gain, mult, base, gainValue);
725 Reg, Info->values[i].gain, mult, base, gainValue);