Lines Matching defs:portControl

325 /* Sets portControl to a pointer to the next free array element in the PortControl (pointer)
327 free slot. In this case, portControl is not altered */
328 static int getControlSlot(PortMixer* portMixer, PortControl** portControl) {
332 *portControl = &(portMixer->controls[portMixer->numControls]);
354 PortControl* portControl,
370 control = (creator->newFloatControl)(creator, portControl, CONTROL_TYPE_VOLUME, 0.0F, +1.0F, precision, "");
379 PortControl* portControl;
418 if (getControlSlot(portMixer, &portControl)) {
419 portControl->elem = elem;
420 portControl->portType = portMixer->types[portIndex];
421 portControl->controlType = CONTROL_TYPE_VOLUME;
423 portControl->channel = CHANNELS_MONO;
425 portControl->channel = CHANNELS_STEREO;
427 control = createVolumeControl(creator, portControl, elem, isPlayback);
436 if (getControlSlot(portMixer, &portControl)) {
437 portControl->elem = elem;
438 portControl->portType = portMixer->types[portIndex];
439 portControl->controlType = CONTROL_TYPE_VOLUME;
440 portControl->channel = channel;
441 control = createVolumeControl(creator, portControl, elem, isPlayback);
458 if (getControlSlot(portMixer, &portControl)) {
459 portControl->elem = elem;
460 portControl->portType = portMixer->types[portIndex];
461 portControl->controlType = CONTROL_TYPE_BALANCE;
462 portControl->channel = CHANNELS_STEREO;
464 control = (creator->newFloatControl)(creator, portControl, CONTROL_TYPE_BALANCE, -1.0F, 1.0F, 0.01F, "");
472 if (getControlSlot(portMixer, &portControl)) {
474 portControl->elem = elem;
475 portControl->portType = portMixer->types[portIndex];
476 portControl->controlType = type;
477 control = (creator->newBooleanControl)(creator, portControl, type);
496 PortControl* portControl = (PortControl*) controlIDV;
500 if (portControl != NULL) {
501 switch (portControl->channel) {
511 channel = portControl->channel;
513 if (portControl->controlType == CONTROL_TYPE_MUTE ||
514 portControl->controlType == CONTROL_TYPE_SELECT) {
515 if (isPlaybackFunction(portControl->portType)) {
516 snd_mixer_selem_get_playback_switch(portControl->elem, channel, &value);
518 snd_mixer_selem_get_capture_switch(portControl->elem, channel, &value);
520 if (portControl->controlType == CONTROL_TYPE_MUTE) {
525 portControl->controlType);
533 PortControl* portControl = (PortControl*) controlIDV;
536 if (portControl != NULL) {
537 if (portControl->controlType == CONTROL_TYPE_MUTE) {
540 if (portControl->controlType == CONTROL_TYPE_MUTE ||
541 portControl->controlType == CONTROL_TYPE_SELECT) {
542 if (isPlaybackFunction(portControl->portType)) {
543 snd_mixer_selem_set_playback_switch_all(portControl->elem, value);
545 snd_mixer_selem_set_capture_switch_all(portControl->elem, value);
549 portControl->controlType);
565 float getRealVolume(PortControl* portControl,
572 if (isPlaybackFunction(portControl->portType)) {
573 snd_mixer_selem_get_playback_volume_range(portControl->elem,
575 snd_mixer_selem_get_playback_volume(portControl->elem,
578 snd_mixer_selem_get_capture_volume_range(portControl->elem,
580 snd_mixer_selem_get_capture_volume(portControl->elem,
588 void setRealVolume(PortControl* portControl,
594 if (isPlaybackFunction(portControl->portType)) {
595 snd_mixer_selem_get_playback_volume_range(portControl->elem,
598 snd_mixer_selem_set_playback_volume(portControl->elem,
601 snd_mixer_selem_get_capture_volume_range(portControl->elem,
604 snd_mixer_selem_set_capture_volume(portControl->elem,
610 static float getFakeBalance(PortControl* portControl) {
614 volL = getRealVolume(portControl, SND_MIXER_SCHN_FRONT_LEFT);
615 volR = getRealVolume(portControl, SND_MIXER_SCHN_FRONT_RIGHT);
626 static float getFakeVolume(PortControl* portControl) {
631 valueL = getRealVolume(portControl, SND_MIXER_SCHN_FRONT_LEFT);
632 valueR = getRealVolume(portControl, SND_MIXER_SCHN_FRONT_RIGHT);
643 static void setFakeVolume(PortControl* portControl, float vol, float bal) {
654 setRealVolume(portControl, SND_MIXER_SCHN_FRONT_LEFT, volumeLeft);
655 setRealVolume(portControl, SND_MIXER_SCHN_FRONT_RIGHT, volumeRight);
660 PortControl* portControl = (PortControl*) controlIDV;
663 if (portControl != NULL) {
664 if (portControl->controlType == CONTROL_TYPE_VOLUME) {
665 switch (portControl->channel) {
667 value = getRealVolume(portControl, SND_MIXER_SCHN_MONO);
671 value = getFakeVolume(portControl);
675 value = getRealVolume(portControl, portControl->channel);
677 } else if (portControl->controlType == CONTROL_TYPE_BALANCE) {
678 if (portControl->channel == CHANNELS_STEREO) {
679 value = getFakeBalance(portControl);
685 portControl->controlType);
693 PortControl* portControl = (PortControl*) controlIDV;
695 if (portControl != NULL) {
696 if (portControl->controlType == CONTROL_TYPE_VOLUME) {
697 switch (portControl->channel) {
699 setRealVolume(portControl, SND_MIXER_SCHN_MONO, value);
703 setFakeVolume(portControl, value, getFakeBalance(portControl));
707 setRealVolume(portControl, portControl->channel, value);
709 } else if (portControl->controlType == CONTROL_TYPE_BALANCE) {
710 if (portControl->channel == CHANNELS_STEREO) {
711 setFakeVolume(portControl, getFakeVolume(portControl), value);
717 portControl->controlType);