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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file beets-ibroadcast-0.3.0.tar.gz.

File metadata

  • Download URL: beets-ibroadcast-0.3.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.6.0.post20201009 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for beets-ibroadcast-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6075638888c12ea9f1bfb028eab98395d13118d0d091b8769cc1a2890c1ea8c4
MD5 0d06bbe5e95dc24015b87ba56ea9ca1e
BLAKE2b-256 9ed4dadddf5ae4051e42a3ef7ab2f5a7d9c738e3a3674fc0deeb9268164ce86b

See more details on using hashes here.

File details

Details for the file beets_ibroadcast-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: beets_ibroadcast-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.6.0.post20201009 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for beets_ibroadcast-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59da66280324237e5746e6ef3e2fb9e67c462d354e11a5357457f548237f1e44
MD5 44d428d2d39fad9a10dd786b690dc77b
BLAKE2b-256 9cb6805c98e97cfdbc8a34471f8489bf7dbe5c36b9290f21a0b40d249cd20b5d

See more details on using hashes here.

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