diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | HAL-afb/HDA-intel/IntelHdaHAL.c | 87 | ||||
-rw-r--r-- | nbproject/configurations.xml | 21 |
3 files changed, 67 insertions, 42 deletions
@@ -3,3 +3,4 @@ CMakeCache.txt Makefile *.so nbproject/private +.~lock* diff --git a/HAL-afb/HDA-intel/IntelHdaHAL.c b/HAL-afb/HDA-intel/IntelHdaHAL.c index e169baa..4f79f60 100644 --- a/HAL-afb/HDA-intel/IntelHdaHAL.c +++ b/HAL-afb/HDA-intel/IntelHdaHAL.c @@ -26,33 +26,78 @@ #include "audio-common.h" +// Define few private tag for not standard functions +#define PCM_Volume_Multimedia 1000 +#define PCM_Volume_Navigation 1001 +#define PCM_Volume_Emergency 1002 + // Default Values for MasterVolume Ramping -STATIC halVolRampT volRampMaster = { - .mode = RAMP_VOL_NORMAL, - .slave = Master_Playback_Volume, - .delay = 100 * 1000, // ramping delay in us - .stepDown = 1, - .stepUp = 1, +STATIC halVolRampT volRampMaster= { + .mode = RAMP_VOL_NORMAL, + .slave = Master_Playback_Volume, + .delay = 100*1000, // ramping delay in us + .stepDown=1, + .stepUp =1, +}; + +STATIC halVolRampT volRampMultimedia= { + .slave = PCM_Volume_Multimedia, + .delay = 100*1000, // ramping delay in us + .stepDown= 2, + .stepUp = 1, +}; + +STATIC halVolRampT volRampNavigation= { + .slave = PCM_Volume_Navigation, + .delay = 100*1000, // ramping delay in us + .stepDown= 4, + .stepUp = 2, +}; +// Default Values for MasterVolume Ramping +STATIC halVolRampT volRampEmergency= { + .slave = PCM_Volume_Emergency, + .delay = 50*1000, // ramping delay in us + .stepDown= 6, + .stepUp = 3, }; // Map HAL hight sndctl with Alsa numid and optionally with a custom callback for non Alsa supported functionalities. -STATIC alsaHalMapT alsaHalMap[] = { - { .tag = Master_Playback_Volume, . ctl = - { .name = "Master Playback Volume"}}, - { .tag = PCM_Playback_Volume, .ctl = - { .name = "PCM Playback Volume"}}, - { .tag = PCM_Playback_Switch, .ctl = - { .name = "Master Playback Switch"}}, - { .tag = Capture_Volume, .ctl = - { .name = "Capture Volume"}}, +STATIC alsaHalMapT alsaHalMap[]= { + { .tag=Master_Playback_Volume, . ctl={.name="PCM Playback Volume", .value=50 } }, + { .tag=PCM_Playback_Volume , .ctl={.name="PCM Playback Volume", .value=50 } }, + { .tag=PCM_Playback_Switch , .ctl={.name="PCM Playback Switch" } }, + { .tag=Capture_Volume , .ctl={.name="Mic Capture Volume" } }, - { .tag = Master_Playback_Volume, .cb = - {.callback = volumeRamp, .handle = &volRampMaster}, .info = "ramp volume linearly according to current ramp setting", - .ctl = - {.numid = 0, .type = SND_CTL_ELEM_TYPE_INTEGER, .count = 1, .minval = 0, .maxval = 100, .step = 1, .name = "Hal-VolRamp"}}, + // Sound card does not have hardware volume ramping + { .tag=Master_Playback_Ramp , .cb={.callback=volumeRamp, .handle=&volRampMaster}, .info="ramp volume linearly according to current ramp setting", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER, .count=1, .minval=0, .maxval=100, .step=1, .name="Rampup Master"} + }, - { .tag = EndHalCrlTag} /* marker for end of the array */ -}; + // Implement Rampup Volume for Virtual Channels + { .tag=Navigation_Playback_Volume, .cb={.callback=volumeRamp, .handle=&volRampNavigation}, .info="RampUp Navigation Volume", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER,.name="Playback Navigation Ramp", .value=80 } + }, + { .tag=Emergency_Playback_Volume, .cb={.callback=volumeRamp, .handle=&volRampEmergency}, .info="Rampup Emergency Volume", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER,.name="Playback Emergency Ramp", .value=80 } + }, + + // Sound Card does not support hardware channel volume mixer (note softvol default range 0-256) + { .tag=Multimedia_Playback_Volume, .cb={.callback=volumeRamp, .handle=&volRampMultimedia}, .info="Ramp-up Multimedia Volume", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER, .name="Playback Multimedia Ramp", .value=80 } + }, + { .tag=PCM_Volume_Multimedia, .info="Playback Multimedia Softvol", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER, .count=2, .maxval=255, .value=200, .name="Playback Multimedia"} + }, + { .tag=PCM_Volume_Navigation, .info="Playback Navigation Softvol", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER, .count=2, .maxval=255,.value=200, .name="Playback Navigation"} + }, + { .tag=PCM_Volume_Emergency, .info="Playback Emergency Softvol", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER, .count=2, .maxval=255, .value=200, .name="Playback Emergency"} + }, + + + { .tag=EndHalCrlTag} /* marker for end of the array */ +} ; // HAL sound card mapping info STATIC alsaHalSndCardT alsaHalSndCard = { diff --git a/nbproject/configurations.xml b/nbproject/configurations.xml index 6f1cc2b..9cec85a 100644 --- a/nbproject/configurations.xml +++ b/nbproject/configurations.xml @@ -14,13 +14,6 @@ <in>Alsa-Ucm.c</in> </df> <df name="Alsa-Plugin"> - <df name="_Alsa-Hal-plugin"> - <in>AlsaHalPlugCb.c</in> - <in>AlsaHalPlugCtl.c</in> - </df> - <df name="_Alsa-Hook-Plugin"> - <in>AlsaHookPlug.c</in> - </df> <df name="Alsa-Policy-Hook"> <in>PolicyHookCb.c</in> </df> @@ -30,20 +23,6 @@ <in>filescan-utils.c</in> <in>wrap-json.c</in> </df> - <df name="build"> - <df name="CMakeFiles"> - <df name="3.5.2"> - <df name="CompilerIdC"> - <in>CMakeCCompilerId.c</in> - </df> - <df name="CompilerIdCXX"> - <in>CMakeCXXCompilerId.cpp</in> - </df> - </df> - <in>feature_tests.c</in> - <in>feature_tests.cxx</in> - </df> - </df> <df name="Common"> <in>AudioCommonLib.c</in> </df> |