Metadata-Version: 2.1
Name: beets-ibroadcast
Version: 0.2.0
Summary: ('iBroadcast plugin for Beets',)
Home-page: https://github.com/ctrueden/beets-ibroadcast
Author: Curtis Rueden
Author-email: ctrueden@gmail.com
License: Unlicense
Platform: ALL
Classifier: Topic :: Multimedia :: Sound/Audio
Classifier: License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
Classifier: Environment :: Console
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: beets (>=1.4.9)
Requires-Dist: requests (>=2.24.0)

[![Build Status](https://api.travis-ci.com/ctrueden/beets-ibroadcast.svg?branch=master)](https://travis-ci.com/github/ctrueden/beets-ibroadcast)
[![Coverage Status](https://coveralls.io/repos/github/ctrueden/beets-ibroadcast/badge.svg?branch=master)](https://coveralls.io/github/ctrueden/beets-ibroadcast?branch=master)

# Beets iBroadcast Plugin

This plugin lets you upload music from your [beets](https://beets.io)
library to the [iBroadcast](https://www.ibroadcast.com/) 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:
   ```yaml
   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).


