forked from rgcr/m-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvolume
executable file
·80 lines (69 loc) · 1.53 KB
/
volume
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/usr/bin/env bash
help(){
cat<<__EOF__
usage: m volume [ level(0-100) | change(-n|+n) | up | down | mute | unmute | ismute ]
Examples:
m volume 70 # set the volume to 70 %
m volume +5 # increase the volume by 5 (up to 100)
m volume -10 # decrease the volume by 10 (down to 0)
m volume up # increase the volume by 6.25
m volume down # decrease the volume by 6.25
m volume # get the volume level
m volume mute # set mute
m volume unmute # unset mute
m volume ismute # check the volume status
__EOF__
}
mute(){
osascript -e "set volume output muted true"
echo "Vol, Mute: true "
}
unmute(){
osascript -e "set volume output muted false"
echo "Vol, Mute: false"
}
is_mute(){
VALUE=$(osascript -e 'output muted of (get volume settings)')
echo "Vol, is mute: ${VALUE}"
}
set_vol(){
osascript -e "set volume output volume $1"
echo "Vol: $1"
}
adj_vol(){
osascript -e "set volume output volume (get output volume of (get volume settings) $1)"
get_vol
}
get_vol(){
VALUE=$(osascript -e "output volume of (get volume settings)")
echo "Vol: $VALUE"
}
case $1 in
[0-9]*)
set_vol $1
;;
+[0-9]*|-[0-9]*)
adj_vol $1
;;
up)
adj_vol +6.25
;;
down)
adj_vol -6.25
;;
mute)
mute
;;
unmute)
unmute
;;
ismute)
is_mute
;;
help)
help
;;
*)
get_vol
;;
esac