Coder Social home page Coder Social logo

beetbox / beets Goto Github PK

View Code? Open in Web Editor NEW
12.7K 400.0 1.8K 26.72 MB

music library manager and MusicBrainz tagger

Home Page: http://beets.io/

License: MIT License

Python 95.80% Shell 0.35% JavaScript 3.59% CSS 0.12% HTML 0.14%
music musicbrainz python music-library cli hacktoberfest

beets's Introduction

https://github.com/beetbox/beets/workflows/ci/badge.svg?branch=master

beets

Beets is the media library management system for obsessive music geeks.

The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes. It then provides a bouquet of tools for manipulating and accessing your music.

Here's an example of beets' brainy tag corrector doing its thing:

$ beet import ~/music/ladytron
Tagging:
    Ladytron - Witching Hour
(Similarity: 98.4%)
 * Last One Standing      -> The Last One Standing
 * Beauty                 -> Beauty*2
 * White Light Generation -> Whitelightgenerator
 * All the Way            -> All the Way...

Because beets is designed as a library, it can do almost anything you can imagine for your music collection. Via plugins, beets becomes a panacea:

If beets doesn't do what you want yet, writing your own plugin is shockingly simple if you know a little Python.

Install

You can install beets by typing pip install beets or directly from Github (see details here). Beets has also been packaged in the software repositories of several distributions. Check out the Getting Started guide for more information.

Contribute

Thank you for considering contributing to beets! Whether you're a programmer or not, you should be able to find all the info you need at CONTRIBUTING.rst.

Read More

Learn more about beets at its Web site. Follow @b33ts on Mastodon for news and updates.

Contact

  • Encountered a bug you'd like to report? Check out our issue tracker!
    • If your issue hasn't already been reported, please open a new ticket and we'll be in touch with you shortly.
    • If you'd like to vote on a feature/bug, simply give a 👍 on issues you'd like to see prioritized over others.
  • Need help/support, would like to start a discussion, have an idea for a new feature, or would just like to introduce yourself to the team? Check out GitHub Discussions!

Authors

Beets is by Adrian Sampson with a supporting cast of thousands.

beets's People

Contributors

arcresu avatar arogl avatar arsaboo avatar brunal avatar diego-plan9 avatar discopatrick avatar djl avatar dosoe avatar duailibe avatar grahamcobb avatar holzhaus avatar jackwilsdon avatar jesseweinstein avatar jmwatte avatar joj0 avatar jtpavlock avatar kraymer avatar mried avatar mrmachine avatar multikatt avatar pedros avatar pkess avatar pscn avatar rhlahuja avatar sampsyo avatar serene-arc avatar snejus avatar tomjaspers avatar wisp3rwind avatar ybnd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

beets's Issues

mbcollection: Catch MusicBrainz errors

grostim@Vesta:~# beet mbupdate
Traceback (most recent call last):
  File "/usr/local/bin/beet", line 9, in <module>
    load_entry_point('beets==1.1.0-beta.2', 'console_scripts', 'beet')()
  File "/usr/local/lib/python2.7/dist-packages/beets/ui/__init__.py", line 771, in main
    _raw_main(args)
  File "/usr/local/lib/python2.7/dist-packages/beets/ui/__init__.py", line 763, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/usr/local/lib/python2.7/dist-packages/beetsplug/mbcollection.py", line 41, in update_collection
    collections = musicbrainz._mb_request('collection', 'GET', True, True)
  File "/usr/local/lib/python2.7/dist-packages/musicbrainzngs/musicbrainz.py", line 300, in __call__
    return self.fun(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/musicbrainzngs/musicbrainz.py", line 463, in _mb_request
    f = _safe_open(opener, req, body)
  File "/usr/local/lib/python2.7/dist-packages/musicbrainzngs/musicbrainz.py", line 365, in _safe_open
    raise ResponseError(cause=exc)
musicbrainzngs.musicbrainz.ResponseError: caused by: HTTP Error 400: Bad Request

Any idea ?

Missing files

As per issue 4 here:

Verrus/beets-plugin-featInTitle#4

Should all updates to the library force a check on the path to ensure missing files are not having their tags or files updated, and therefore causing an exception?

Andrew.

Unicode path error in convert plugin

grostim@Vesta:~# beet convert format:flac
The Beatles - A Hard Day’s Night - A Hard Day’s Night
The Beatles - A Hard Day’s Night - I Should Have Known Better
The Beatles - A Hard Day’s Night - If I Fell
The Beatles - A Hard Day’s Night - I’m Happy Just to Dance With You
The Beatles - A Hard Day’s Night - And I Love Her
[...]
Simon & Garfunkel - Bridge Over Troubled Water - The Boxer
Simon & Garfunkel - Bridge Over Troubled Water - Baby Driver
Simon & Garfunkel - Bridge Over Troubled Water - The Only Living Boy In New York
Simon & Garfunkel - Bridge Over Troubled Water - Why Don't You Write Me
Simon & Garfunkel - Bridge Over Troubled Water - Bye Bye Love
Simon & Garfunkel - Bridge Over Troubled Water - Song For The Asking
Convert? (Y/n) Y
Traceback (most recent call last):
  File "/usr/local/bin/beet", line 9, in <module>
    load_entry_point('beets==1.1.0-beta.2', 'console_scripts', 'beet')()
  File "/usr/local/lib/python2.7/dist-packages/beets/ui/__init__.py", line 771, in main
    _raw_main(args)
  File "/usr/local/lib/python2.7/dist-packages/beets/ui/__init__.py", line 763, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/usr/local/lib/python2.7/dist-packages/beetsplug/convert.py", line 105, in convert_func
    pipe.run_parallel()
  File "/usr/local/lib/python2.7/dist-packages/beets/util/pipeline.py", line 288, in run
    self.coro.send(msg)
  File "/usr/local/lib/python2.7/dist-packages/beetsplug/convert.py", line 56, in convert_item
    if os.path.exists(dest):
  File "/usr/lib/python2.7/genericpath.py", line 18, in exists
    os.stat(path)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 44: ordinal not in range(128)

Any idea ?

Path format if for unset attributes returns "None"

Sorry I don't have time to provide more details or fix it myself at the moment.

I wanted to add the disctitle to the path if disctitle is set. I thought adding something like the following to the path would be enough: /Disc$disc%if{$disctitle,($disctitle)}/
But I ended up with "/Disc01(None)/" for releases without a disctitle. This happens for initial as well as re-imports.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.