initial commit, can toggle play-pause in mpc
This commit is contained in:
parent
780a31bc88
commit
9acffaa658
|
@ -0,0 +1,46 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
# https://python-mpd2.readthedocs.io/en/latest
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from mpd import MPDClient
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
|
||||||
|
def fade(way, current_vol, client):
|
||||||
|
""" gracefull fading """
|
||||||
|
if way == 'out':
|
||||||
|
steps = int(current_vol / 2)
|
||||||
|
amount = -2
|
||||||
|
elif way == 'in':
|
||||||
|
steps = 50
|
||||||
|
amount = +2
|
||||||
|
for i in range(steps):
|
||||||
|
client.volume(amount)
|
||||||
|
sleep(0.03)
|
||||||
|
|
||||||
|
|
||||||
|
def mpc_toggle():
|
||||||
|
""" toggles play status """
|
||||||
|
client = MPDClient()
|
||||||
|
client.connect("localhost", 6600)
|
||||||
|
client_status = client.status()
|
||||||
|
# switch
|
||||||
|
current_vol = int(client_status['volume'])
|
||||||
|
if client_status['state'] == 'play':
|
||||||
|
fade('out', current_vol, client)
|
||||||
|
client.pause()
|
||||||
|
elif client_status['state'] == 'pause':
|
||||||
|
client.setvol(0)
|
||||||
|
client.play()
|
||||||
|
fade('in', current_vol, client)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
""" main parser for args """
|
||||||
|
mpc_command = sys.argv[1]
|
||||||
|
if mpc_command == 'toggle':
|
||||||
|
mpc_toggle()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
Loading…
Reference in New Issue