Skip to main content

('iBroadcast plugin for Beets',)

Project description

Build Status Coverage Status

Beets iBroadcast Plugin

This plugin lets you upload music from your beets library to the iBroadcast streaming service.

Setup

  1. Install the plugin into your local environment with:

    pip install beets-ibroadcast
    
  2. Enable the plugin by adding ibroadcast to your plugins: section in your beets config file.

  3. Configure your iBroadcast credentials:

    ibroadcast:
      username: <your email address>
      password: <your password>
    

    Be sure to put quotes around your password if it includes any special characters.

Usage

beet ibroadcast <query>

All tracks matching the query will be uploaded as needed:

  • Tracks previously uploaded by beets-ibroadcast will already have ib_uploadtime and ib_trackid flexible attributes attached; if the track's mtime is older than its ib_uploadtime, the track is assumed to be up to date, and the upload is skipped.

  • For tracks where mtime is newer, the track is uploaded again, and the previous track ID is trashed. As such, obsolete previous versions of tracks will appear in your iBroadcast trash until it is emptied.

  • Regardless: before uploading, the track's MD5 checksum is computed, and if the server already has a track with that checksum, the upload is skipped. As such, if you upload tracks with a different uploader than beets-ibroadcast, they will still be skipped (although as of this writing, beets-ibroadcast will read such files to compute their checksums every time they match a query, which will impact performance).

Tags

If you use the usertag plugin to manage tags on your items, those tags will be mirrored up to iBroadcast.

  • Add a tag locally:

    beet addtag -t favorites title:imagine
    
  • Remove a tag locally:

    beet rmtag -t favorites title:imagine
    
  • Upload all items with a particular tag:

    beet ibroadcast usertags:favorites
    
  • Refresh the remote tags of an item set:

    beet ibroadcast title:imagine
    

Note that this plugin will never modify your local beets usertags metadata in response to differences on the iBroadcast side; it is assumed that you do your tagging within beets, and want that configuration mirrored to iBroadcast.

Local items without a usertags flexible attribute will be left untouched by this plugin, even if they are tagged on the iBroadcast side -- so if you would rather not use the usertag plugin, and just do all your tagging directly on iBroadcast, you can do so safely. But you won't be able to use beets queries with your tags, then.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

beets-ibroadcast-0.3.0.tar.gz (8.4 kB view hashes)

Uploaded Source

Built Distribution

beets_ibroadcast-0.3.0-py3-none-any.whl (10.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page