use amixer for volume adjustment

auto-flake-update
Yorick van Pelt 2013-11-20 22:52:38 +01:00
parent b7c1e0d4f0
commit 2122663317
3 changed files with 11 additions and 65 deletions

View File

@ -4,31 +4,13 @@
# http://www.freak-search.com/en/thread/4707111/q_volume_control,_xfce
# Find default sink
sink=$(pacmd info|grep "Default sink name"|awk '{print $4}')
# Now we need to get mute status of default sink
# get line# of start of definition for default sink (plus 1, actually)
let line=$(pacmd list-sinks|grep -n $sink|sed '{s/://}'|awk '{print $1}')
# add 12 for "muted" line
let line=($line + 10)
# extract mute status from that line
mute=$(pacmd list-sinks|awk 'NR==i"'"$line"'"{print $2}')
if [[ "$mute" == "yes" ]]; then
mute_cmd=$(amixer set Master toggle | egrep 'Playback.*?\[o' | head -n 1)
mute=$(echo "$mute_cmd" | egrep -o '\[o.+\]')
volume=$(echo "$mute_cmd" | sed '{s/://}' | awk '{print $4}')
let volume=($volume * 100 / 65536)
if [[ "$mute" == "[on]" ]]; then
# show the volume
# Now we need to find volume of default sink
# get line# of start of definition for default sink (plus 1, actually)
let line=$(pacmd list-sinks|grep -n $sink|sed '{s/://}'|awk '{print $1}')
# index down a bit for volume line
let line=($line + 6)
volume=$(pacmd list-sinks|awk 'NR=="'"$line"'"{print $3}'|sed '{s/%//}')
pacmd set-sink-mute "$sink" 0 > /dev/null 2>&1
volnoti-show $volume
fi
[[ "$mute" == "no" ]] && pacmd set-sink-mute "$sink" 1 > /dev/null 2>&1 && volnoti-show -m
[[ "$mute" == "[off]" ]] && volnoti-show -m

View File

@ -1,23 +1,5 @@
#!/bin/bash
# Credit to Roland Latour
# http://www.freak-search.com/en/thread/4707111/q_volume_control,_xfce
# lower volume by 1%
# Find default sink
sink=$(pacmd info|grep "Default sink name"|awk '{print $4}')
# Now we need to find volume of default sink
# get line# of start of definition for default sink (plus 1, actually)
let line=$(pacmd list-sinks|grep -n $sink|sed '{s/://}'|awk '{print $1}')
# index down a bit for volume line
let line=($line + 6)
volume=$(pacmd list-sinks|awk 'NR=="'"$line"'"{print $3}'|sed '{s/%//}')
# pacmd returns volume as %, but demands setting as range: 0-65535
let volume=($volume - 1)
let volume=($volume * 65536);let volume=($volume / 100)
[[ $volume -lt 0 ]] && let volume=0
pacmd set-sink-volume $sink $volume > /dev/null 2>&1
volnoti-show $(((volume * 100) / 65536))
volume=$(amixer set Master playback 1%- | grep "t: Playback" | sed '{s/://}' | awk '{print $5}' | head -n 1 | cut -c2- | rev | cut -c3- | rev)
volnoti-show $volume

View File

@ -1,23 +1,5 @@
#!/bin/bash
# Credit to Roland Latour
# http://www.freak-search.com/en/thread/4707111/q_volume_control,_xfce
# Raise volume by 1%
# raise volume by 1%
# Find default sink
sink=$(pacmd info|grep "Default sink name"|awk '{print $4}')
# Now we need to find volume of default sink
# get line# of start of definition for default sink (plus 1, actually)
let line=$(pacmd list-sinks|grep -n $sink|sed '{s/://}'|awk '{print $1}')
# index down a bit for volume line
let line=($line + 6)
volume=$(pacmd list-sinks|awk 'NR=="'"$line"'"{print $3}'|sed '{s/%//}')
# pacmd returns volume as %, but demands setting as range: 0-65535
let volume=($volume + 1)
let volume=($volume * 65536);let volume=($volume / 100)
[[ $volume -gt 65536 ]] && let volume=65536
pacmd set-sink-volume $sink $volume > /dev/null 2>&1
volnoti-show $(((volume * 100) / 65536))
volume=$(amixer set Master playback 1%+ | grep "t: Playback" | sed '{s/://}' | awk '{print $5}' | head -n 1 | cut -c2- | rev | cut -c3- | rev)
volnoti-show $volume