AcousticBrainz Submit Plugin
****************************

The "absubmit" plugin lets you submit acoustic analysis results to an
AcousticBrainz server. This plugin is now deprecated since the
AcousicBrainz project has been shut down.

As an alternative the beets-xtractor plugin can be used.


Warning
=======

The AcousticBrainz project has shut down. To use this plugin you must
set the "base_url" configuration option to a server offering the
AcousticBrainz API.


Installation
============

The "absubmit" plugin requires the streaming_extractor_music program
to run. Its source can be found on GitHub, and while it is possible to
compile the extractor from source, AcousticBrainz would prefer if you
used their binary (see the AcousticBrainz FAQ).

The "absubmit" plugin also requires requests, which you can install
using pip by typing:

   pip install requests

After installing both the extractor binary and requests you can enable
the plugin "absubmit" in your configuration (see Using Plugins).


Submitting Data
===============

To run the analysis program and upload its results, type:

   beet absubmit [-f] [-d] [QUERY]

By default, the command will only look for AcousticBrainz data when
the tracks don't already have it; the "-f" or "--force" switch makes
it refetch data even when it already exists. You can use the "-d" or "
--dry" switch to check which files will be analyzed, before you start
a longer period of processing.

The plugin works on music with a MusicBrainz track ID attached. The
plugin will also skip music that the analysis tool doesn't support.
streaming_extractor_music currently supports files with the extensions
"mp3", "ogg", "oga", "flac", "mp4", "m4a", "m4r", "m4b", "m4p", "aac",
"wma", "asf", "mpc", "wv", "spx", "tta", "3g2", "aif", "aiff" and
"ape".


Configuration
=============

To configure the plugin, make a "absubmit:" section in your
configuration file. The available options are:

* **auto**: Analyze every file on import. Otherwise, you need to use
  the "beet absubmit" command explicitly. Default: "no"

* **extractor**: The absolute path to the streaming_extractor_music
  binary. Default: search for the program in your "$PATH"

* **force**: Analyze items and submit of AcousticBrainz data even for
  tracks that already have it. Default: "no".

* **pretend**: Do not analyze and submit of AcousticBrainz data but
  print out the items which would be processed. Default: "no".

* **base_url**: The base URL of the AcousticBrainz server. The plugin
  has no function if this option is not set. Default: None
