Skip to content

Latest commit

 

History

History
52 lines (35 loc) · 1.15 KB

README.rst

File metadata and controls

52 lines (35 loc) · 1.15 KB

MPD (Music Player Daemon) client for asyncio

Usage example:

#!/usr/bin/env python3.7

import asyncio
import aiompd

URLS = [
    "http://bb24.sonixcast.com:20038/stream",
    "http://198.58.98.83:8258/stream",
]
PLAY_TIME = 15


async def nexter(mpc):
    await mpc.clear()

    for url in URLS:
        await mpc.add(url)

    for n in range(len(URLS)):
        print("Playing track", n)
        await mpc.play(track=n)
        await asyncio.sleep(PLAY_TIME)


async def volumer(mpc):
    timeout = (len(URLS) * PLAY_TIME) / 200

    for volume in range(0, 101, 1):
        await mpc.set_volume(volume)
        await asyncio.sleep(timeout)

    for volume in range(100, -1, -1):
        await mpc.set_volume(volume)
        await asyncio.sleep(timeout)


async def main():
    mpc = await aiompd.Client.make_connection()
    tasks = [nexter(mpc), volumer(mpc)]
    await asyncio.gather(*tasks)


if __name__ == '__main__':
    asyncio.run(main())