fediplug/README.md
2023-02-22 14:14:25 +01:00

2.6 KiB

fediplug

A Mastodon client that automatically plays your friends' music as they toot links to it.

What's new in 2.2

If you've been using fediplug before, the all-new version 2.2 will be a little different!

  • You now specify the instance you want to stream from on the command line, instead of setting it in the environment. fediplug has been upgraded with the power of Click to give it a more modern command-line interface.

  • We use appdirs to keep downloaded music files in your operating system's user cache directory.

  • We use keyring to store your client credentials and access token, securely if your operating system supports it. If you already have .secret files from an earlier version, we'll migrate them automatically for you.

Be sure to follow all the instructions, including re-running pipenv install to update the installed dependencies.

Getting started

fediplug comes configured to use ffplay from FFmpeg to actually play music.

  • On macOS, ffplay is part of the Homebrew ffmpeg package, but you need to build it with brew install ffmpeg --with-sdl2.

  • On Windows, ffplay is part of the Scoop ffmpeg package.

Use pipenv install from Pipenv to install the Python dependencies and set up the fediplug script inside the virtual environment.

You can use the fediplug script with either pipenv run fediplug or by entering the Pipenv shell with pipenv shell and just running fediplug.

Registering and logging in

To register fediplug to your instance, use fediplug register example.com.

To log in to your instance, use fediplug login example.com.

Streaming

Use fediplug stream example.com to start the stream. You'll need to log in the first time.

Toots that include the hashtag #fediplug and have as their first link something that youtube-dl can play, will!

If new #fediplug toots come in while music is playing, they'll be downloaded immediately and queued to be played later.

Since version 2.2, thanks to @bbonf, if there's a recent #fediplug toot in your timeline, it'll be pulled up and played before the stream starts. Great if you just missed a song before starting your stream!

Filtering

Since version 2.2, you can also, thanks to @Jenkyrados, specify users to filter! Just add them to the command line after the server name, e.g. fediplug stream example.com @user @otheruser@example.net.