use amixer for volume adjustment
parent
b7c1e0d4f0
commit
2122663317
|
@ -4,31 +4,13 @@
|
||||||
# http://www.freak-search.com/en/thread/4707111/q_volume_control,_xfce
|
# http://www.freak-search.com/en/thread/4707111/q_volume_control,_xfce
|
||||||
|
|
||||||
# Find default sink
|
# Find default sink
|
||||||
sink=$(pacmd info|grep "Default sink name"|awk '{print $4}')
|
|
||||||
|
|
||||||
# Now we need to get mute status of default sink
|
mute_cmd=$(amixer set Master toggle | egrep 'Playback.*?\[o' | head -n 1)
|
||||||
# get line# of start of definition for default sink (plus 1, actually)
|
mute=$(echo "$mute_cmd" | egrep -o '\[o.+\]')
|
||||||
|
volume=$(echo "$mute_cmd" | sed '{s/://}' | awk '{print $4}')
|
||||||
let line=$(pacmd list-sinks|grep -n $sink|sed '{s/://}'|awk '{print $1}')
|
let volume=($volume * 100 / 65536)
|
||||||
# add 12 for "muted" line
|
if [[ "$mute" == "[on]" ]]; then
|
||||||
|
|
||||||
let line=($line + 10)
|
|
||||||
|
|
||||||
# extract mute status from that line
|
|
||||||
mute=$(pacmd list-sinks|awk 'NR==i"'"$line"'"{print $2}')
|
|
||||||
|
|
||||||
if [[ "$mute" == "yes" ]]; then
|
|
||||||
# show the volume
|
# 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
|
volnoti-show $volume
|
||||||
fi
|
fi
|
||||||
[[ "$mute" == "no" ]] && pacmd set-sink-mute "$sink" 1 > /dev/null 2>&1 && volnoti-show -m
|
[[ "$mute" == "[off]" ]] && volnoti-show -m
|
||||||
|
|
|
@ -1,23 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Credit to Roland Latour
|
|
||||||
# http://www.freak-search.com/en/thread/4707111/q_volume_control,_xfce
|
|
||||||
|
|
||||||
# lower volume by 1%
|
# lower volume by 1%
|
||||||
|
volume=$(amixer set Master playback 1%- | grep "t: Playback" | sed '{s/://}' | awk '{print $5}' | head -n 1 | cut -c2- | rev | cut -c3- | rev)
|
||||||
# Find default sink
|
volnoti-show $volume
|
||||||
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))
|
|
||||||
|
|
|
@ -1,23 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Credit to Roland Latour
|
# Raise volume by 1%
|
||||||
# http://www.freak-search.com/en/thread/4707111/q_volume_control,_xfce
|
|
||||||
|
|
||||||
# raise volume by 1%
|
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
|
||||||
# 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))
|
|
||||||
|
|
Loading…
Reference in New Issue