verrus / beets-plugin-featintitle Goto Github PK
View Code? Open in Web Editor NEWA plugin for beets by sampsyo : which cleans the artist field in ID3 tags to contain only the main artist.
A plugin for beets by sampsyo : which cleans the artist field in ID3 tags to contain only the main artist.
A couple of artists have chosen to list their featuring artists with an & character.
e.g.:
Brad Paisley & Alison Krauss
Tim McGraw & Faith Hill
Other artists have a 'band-name' with the same format.
e.g. :
Chase & Status
Mumford & Sons
The script now searches the artist field for "featuring ft with feat" and in the future i would like to add & . The straightforward approuch to just add the & to the regex will not work for how do you check if this is the actual recording artist
When parsing the artist "Within Temptation", the plugin remove the entire artist field and append "feat.in Temptation" to all the track titles. This should be really easy to fix.
Thanks :)
Added the following line at 46
pathInTitle = track.__getattr__("path")
and then update the if and elif lines:
New Line 47
if featInTitle==None and regxRes[0].strip()==track.getattr("albumartist").strip() and pathInTitle:
New Line 52
elif featInTitle!=None and regxRes[0].strip()==track.getattr("albumartist").strip() and pathInTitle:
Thanks Andrew.
Currently, the ftintitle step must be run after the importation. If one imports his music folder again, every change made by the plugin will be lost, and it can take a huge time to retag all the songs.
It would be awesome to have this plugin integrated in the import step. I don't know if it's currently possible with Beets plugin architecture, it's more an idea than a real feature request. I'll dig into it if I have some time!
When running beet ftintitle, I have many errors like this one:
/Adele/19/22 - Many Shades of Black.mp3
artist: Adele & The Raconteurs -> Adele
Traceback (most recent call last):
File "/usr/bin/beet", line 9, in <module>
load_entry_point('beets==1.3.1', 'console_scripts', 'beet')()
File "/usr/share/beets/beets/ui/__init__.py", line 773, in main
_raw_main(args)
File "/usr/share/beets/beets/ui/__init__.py", line 765, in _raw_main
subcommand.func(lib, suboptions, subargs)
File "/usr/share/beets/beetsplug/ftintitle.py", line 119, in func
ft_in_title(item)
File "/usr/share/beets/beetsplug/ftintitle.py", line 105, in ft_in_title
update_metadata(item, feat_part)
File "/usr/share/beets/beetsplug/ftintitle.py", line 58, in update_metadata
item.artist_sort, _ = split_on_feat(item.artist_sort) # Strip featured.
File "/usr/share/beets/beetsplug/ftintitle.py", line 33, in split_on_feat
1, # Only split on the first "feat".
File "/usr/lib/python2.7/re.py", line 167, in split
return _compile(pattern, flags).split(string, maxsplit)
TypeError: expected string or buffer
Is it possible to find out what happens?
Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.