replace pactl based volume control with mpris based volume control
methods
This commit is contained in:
parent
0f12aee5e9
commit
fbc1110d8f
|
@ -1,16 +0,0 @@
|
|||
package player
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os/exec"
|
||||
)
|
||||
|
||||
// VolUp uses pactl to increase the volume of the default sink
|
||||
func VolUp(percent uint) error {
|
||||
return exec.Command("pactl", "set-sink-volume", "@DEFAULT_SINK@", fmt.Sprintf("+%d%%", percent)).Run()
|
||||
}
|
||||
|
||||
// VolDown uses pactl to decrease the volume of the default sink
|
||||
func VolDown(percent uint) error {
|
||||
return exec.Command("pactl", "set-sink-volume", "@DEFAULT_SINK@", fmt.Sprintf("-%d%%", percent)).Run()
|
||||
}
|
|
@ -107,6 +107,46 @@ func Prev() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func VolUp(percent uint) error {
|
||||
|
||||
player, err := getPlayerObj()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if player != nil {
|
||||
currentVal, err := player.GetProperty("org.mpris.MediaPlayer2.Player.Volume")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
newVal := currentVal.Value().(float64) + (float64(percent) / 100)
|
||||
err = player.SetProperty("org.mpris.MediaPlayer2.Player.Volume", newVal)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func VolDown(percent uint) error {
|
||||
|
||||
player, err := getPlayerObj()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if player != nil {
|
||||
currentVal, err := player.GetProperty("org.mpris.MediaPlayer2.Player.Volume")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
newVal := currentVal.Value().(float64) - (float64(percent) / 100)
|
||||
err = player.SetProperty("org.mpris.MediaPlayer2.Player.Volume", newVal)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type ChangeType int
|
||||
|
||||
const (
|
||||
|
|
Loading…
Reference in a new issue