### Install beetcamp in beets virtual environment Source: https://github.com/snejus/beetcamp/blob/main/README.md Installs the beetcamp plugin directly into the active beets virtual environment. This is an alternative to the pipx installation method. ```bash pip install beetcamp ``` -------------------------------- ### Install beets with pipx Source: https://github.com/snejus/beetcamp/blob/main/README.md Installs the beets music tagger using pipx for isolated environment management. ```bash pipx install beets ``` -------------------------------- ### Command Line Search Example Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Initiates a search on Bandcamp from the command line. Use flags like -a, -l, or -t to specify search type. Results are returned as a JSON list. ```sh beetcamp [ [-alt] QUERY | RELEASE-URL ] ``` ```sh beetcamp -h ``` ```sh beetcamp 'black sands' ``` -------------------------------- ### Include Genre Patterns Source: https://github.com/snejus/beetcamp/blob/main/README.md Specify genre patterns that should always be included, overriding the default mode. This example ensures all genres ending with 'core' are matched. ```yaml genre: always_include: - "core$" ``` -------------------------------- ### Inject beetcamp and dependencies with pipx Source: https://github.com/snejus/beetcamp/blob/main/README.md Injects the beetcamp plugin and other optional dependencies into the beets installation managed by pipx. The --include-apps flag is necessary for command-line availability. ```bash pipx inject --include-apps beets beetcamp [python-mpd2 ...] ``` -------------------------------- ### Parse Catalog Numbers with VA Prefix Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Parses catalog numbers starting with 'VA' correctly, unless followed by numbers. ```yaml # VA02 is ignored # VAHELLO001 is parsed correctly ``` -------------------------------- ### Search Results JSON Output Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Example of JSON output from a Bandcamp search query, displaying album details such as name, artist, date, and URL. The output is typically truncated using jq. ```json $ beetcamp 'black sands' | jq '.[:2]' [ { "type": "album", "name": "Black Sands", "artist": "Bonobo", "date": "2010 March 29", "tracks": "12", "url": "https://bonobomusic.bandcamp.com/album/black-sands", "label": "bonobomusic", "similarity": 1 }, { "type": "album", "name": "Black Sands", "artist": "Appalachian Terror Unit", "date": "2011 August 01", "tracks": "4", "url": "https://appalachianterrorunit.bandcamp.com/album/black-sands", "label": "appalachianterrorunit", "similarity": 1 } ] ``` -------------------------------- ### Beetcamp CLI usage help Source: https://github.com/snejus/beetcamp/blob/main/README.md Displays the help message for the beetcamp command-line tool, outlining its usage, arguments, and options for searching Bandcamp releases, albums, labels, and tracks. ```xml usage: beetcamp [-h] [-a] [-l] [-t] [-o INDEX] [-p PAGE] (release_url | query) Get bandcamp release metadata from the given or perform bandcamp search with . Anything that does not start with https:// will be assumed to be a query. Search type flags: -a for albums, -l for labels and artists, -t for tracks. By default, all types are searched. positional arguments: release_url Release URL, starting with https:// OR query Search query optional arguments: -h, --help show this help message and exit -a, --album Search albums -l, --label Search labels and artists -t, --track Search tracks -o INDEX, --open INDEX Open search result indexed by INDEX in the browser -p PAGE, --page PAGE The results page to show, 1 by default ``` -------------------------------- ### Run Beetcamp from CLI Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Obtain Bandcamp metadata directly as JSON by running the beetcamp entrypoint from your PATH. This is useful in scripts for bridging metadata gaps. ```bash beetcamp # {"album": "some album", ..., "tracks": [{"title": ...}, ... ]} ``` -------------------------------- ### Beetcamp Configuration for Genre Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Configure how genre and style tags are processed. Options include capitalization, maximum number of genres, always included genres, and the mode for genre matching. ```yaml bandcamp: ... genre: capitalise: no maximum: 0 # no limit always_include: [] mode: progressive # classical, progressive or psychedelic ``` -------------------------------- ### Configure Cover Art URL Source Source: https://github.com/snejus/beetcamp/blob/main/README.md Configure the `cover_art_url` source in your `fetchart` configuration for Beetcamp versions 2.4.0 and above. ```yaml fetchart: sources: - cover_art_url ... your other sources ``` -------------------------------- ### Beetcamp Configuration for Comments Separator Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Set a custom separator for comments to distinguish release descriptions, media details, and credits. The default is a newline followed by '---' and another newline. ```yaml comments_separator: "\n---\n" ``` -------------------------------- ### Beetcamp default configuration Source: https://github.com/snejus/beetcamp/blob/main/README.md Shows the default configuration settings for the beetcamp plugin. These settings control aspects like including digital-only tracks, search limits, art fetching, comment formatting, and genre processing. ```yaml bandcamp: include_digital_only_tracks: true search_max: 2 art: yes comments_separator: "\n---\n" truncate_comments: no exclude_extra_fields: [] genre: capitalize: no maximum: 0 always_include: [] mode: progressive # classical, progressive or psychedelic ``` -------------------------------- ### Handle Track Alternates Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Correctly parses track alternates, moving them to the artist field when not present elsewhere. ```yaml # name: B2 - Some Title title: Some Title -> Some Title track_alt: B2 -> artist: -> B2 ``` -------------------------------- ### Allow Non-Capital Track Alternates Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Allows non-capital letters (e.g., 'a1') to be parsed as track alternates and converts them to capitals. ```yaml # track_alt: a1 -> A1 ``` -------------------------------- ### Remove Album Suffixes Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Removes '(album)' and '(digital album)' suffixes from album names. ```yaml Some Album (album) -> Some Album ``` -------------------------------- ### Parse Track Names with Custom Delimiters Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Parses track names using custom delimiters like '|' to extract track_alt, artist, and title. ```plaintext A1 | WHITESHADOWHURTS x TOXICSPIKEBACK | Arcadia A2 | WHITESHADOWHURTS | Corrupted Entity A3 | WHITESHADOWHURTS | Colosseo B1 | TOXICSPIKEBACK | Eclipse B2 | TOXICSPIKEBACK | Eclipse [DJ LINT's Tribe Mix] B3 | WHITESHADOWHURTS | Corrupted Entity [OAT.M's Oldschool Mix] ``` -------------------------------- ### Move Featuring Artists to Artist Field Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Moves featuring artists from the title field to the artist field. ```yaml artist: Artist -> Artist ft. Some title: Title ft. Some -> Title ``` -------------------------------- ### Catalog Number Search Pattern Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md A regular expression pattern used to search for catalog numbers in various text fields. ```perl ( [A-Z .]+\d{3} # HANDS D300 | [A-z ][ ]0\d{2,3} # Persephonic Sirens 012 | [A-Z-]{2,}\d+ # RIV4 | [A-Z]+[A-Z.$-]+\d{2,} # USE201, HEY-101, LI$025 | [A-Z.]{2,}[ ]\d{1,3} # OBS.CUR 9 | \w+[A-z]0\d+ # 1ØPILLS018, fa036 | [a-z]+(cd|lp)\d+ # ostgutlp45 | [A-z]+\d+-\d+ # P90-003 ) ( # optionally followed by [ ]?[A-Z] # IBM001V | .[0-9]+ # ISMVA002.1 | -?[A-Z]+ # PLUS8024CD )? ``` -------------------------------- ### Remove Remixers from Artists Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Removes remixers from the artist field, keeping the original artist and title. ```yaml title: Choone (Some Remix) -> title: Choone (Some Remix) artist: Artist, Some -> artist: Artist ``` -------------------------------- ### Strip Quotes from Label Source: https://github.com/snejus/beetcamp/blob/main/CHANGELOG.md Strips quotes from the label field if it is sourced from the description. ```yaml label: "Some Label" -> label: Some Label ``` -------------------------------- ### Exclude Specific Metadata Fields Source: https://github.com/snejus/beetcamp/blob/main/README.md Exclude fields like 'lyrics' and 'comments' from being included in the metadata. This configuration is part of the `bandcamp` plugin settings. ```yaml bandcamp: search_max: 5 exclude_extra_fields: - lyrics - comments ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.