Twinkle ringer sound volume too loud, too high? Want to mute ringtone while ringing? Here's a little "patch" to create a volume control slider residing inside your mixer. Just download and run ONCE from xterm/console of your choice the setup script file twinkle_ringer_softvol, #OR copy and paste to xterm the file-listing below (you don't have to create a script out of it. In web forum set "fixed font", "no wrap"!). After this you may delete the file, it's no longer needed. Prerequisites: xterm, which is running the script / pasted cmds, must have the same user (=login) as twinkle. NO root, sudo or anything! You have already configured twinkle audio for a working ALSA(!) ringer device, i.e. ringtone can be heard and is played out by ALSA. Please write down or screenshot your mixer settings - all three tabs! - prior to running the script! It seems they are mangled sometimes by creation of a new slider. On running the script, you should get a msg, last lines similar to this: > patching Twinkle ringer device in twinkle.sys: > dev_ringtone=alsa:default > dev_ringtone=alsa:vol:TwinkleRinger,"default" Please note: - the script is quiting twinkle, so you have to restart it. From then on there should be a slider named TwinkleRinger in your mixer's "out"-tab. - softvol, as nearly all the volume settings which do not control your analog mixer hardware, has no option to _raise_ volume to above 100%. Digital audio data is supposed to be always maximum level, so usually there is no use to boost it. - If the script stalls for some reason, and you want to run it a second time, you may get the message "do not run twice!". This is to avoid spoiling .asoundrc or your twinkle audio settings. To "undo" the modifications of this script, check if ~/.twinkle/twinkle.sys~ is of recent date and if so, rename this backup to the original by removing the trailing ~, also remove from ~/.asoundrc the tailing lines starting with "pcm.vol {". After this, you may run the script again. - if you force the script to run twice, it will probably mangle your twinkle ringer device settings. Restore them to normal via twinkle's system editor. See previous note. Please report any problems or drop me a "ok" ;-) Enjoy jOERG Ps: you may use same device definition for speaker "other device", just copy&paste from ringer "other device"; change the name "TwinkleRinger " to something different, e.g "Headset" and check the slave plugin. No need to modify .asoundrc a second time! ----------- X8 ------ snip ---------- 8X -------- #!/bin/sh #set -v set -e grep -q jOERG ~/.asoundrc && echo "do not run twice!" && exit grep -q "dev_ringtone=alsa" ~/.twinkle/twinkle.sys || (\ echo 'you are NOT using ALSA for ringer device!' && exit) echo "inserting device vol definition to .asoundrc" cat >>${HOME}/.asoundrc <<'ETX' pcm.softvol { @args.0 NAME @args.1 SLAVE @args.NAME { type string default "jOERG" } @args.SLAVE { type string default "default" } type softvol # Soft Volume conversion PCM slave.pcm $SLAVE # Slave name control { name "$NAME"; # control element id string card "0" # control card index # [iface STR] # interface of the element # [index INT] # index of the element # [device INT] # device number of the element # [subdevice INT] # subdevice number of the element # [count INT] # control channels 1 or 2 (default: 2) } min_dB -33.0; # minimal dB value (default: -51.0) # [resolution INT] # resolution (default: 256) } ETX echo "stopping Twinkle to release system config file" while killall twinkle 2>/dev/null; do sleep 1; done echo "patching Twinkle ringer device in twinkle.sys:" sedc='s/dev_ringtone=alsa:\(.*\)/dev_ringtone=alsa:vol:TwinkleRinger,"\1"/' sedi="${HOME}/.twinkle/twinkle.sys" sedo="${sedi}.new" grep "dev_ringtone=alsa" $sedi sed $sedc $sedi >$sedo cp $sedi "${sedi}~" mv $sedo $sedi grep "dev_ringtone=alsa" $sedi #end of file