Kodi Community Forum
Headphones - Music albums & artists auto download program - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Supplementary Tools for Kodi (https://forum.kodi.tv/forumdisplay.php?fid=116)
+--- Thread: Headphones - Music albums & artists auto download program (/showthread.php?tid=103688)



- HenryFord - 2012-01-21

lpallard Wrote:Any idea when the MusicBrainz database will be accessible again?? Im still adding artists and getting "None" for the albums..
The mirror is up and running, you can use it - see the instructions in this thread... when musicbrainz.org will be accessible again is still unclear.


- steve1977 - 2012-01-21

Euruproktos Wrote:[signed up today over here. I run plex at my house because I was brainwashed by apple many years ago due my mother being a school teacher.]

Give XBMC for Mac a try. I find it a lot better than Plex.

(pls do not take above as an invitation for a Plex/XBMC discussion)


- steve1977 - 2012-01-21

First of all, thanks Henryford for setting up the mirror. This sounds fantastic! Would love to do the same, but understand from you that this may be more difficult?

I have made the following changes: I manually added Henryford's mirror and changed scan interval to once a week to avoid "killing" the mirror.

Just started a manual scan and unfortunately getting an error message:

> Exception of thread Thread-14:
> Traceback (most recent call last):
> File "C:\python27\lib\threading.py", line 554, in ___bootstrap_innerself.run()
followed by some more errors


Any thoughts?


- kriso - 2012-01-21

HenryFord, thank you for providing the mirror!! I've made the scheduling changes to hopefully avoid hammering your server.


- MrHaugen - 2012-01-21

Anyone else having problems with duplicate Artists in the "Manage New Artists"?

A few examples:

Bob Marley & The Wailers
Bob Marley & the Wailers
Big Bang
BigBang
Dido
Dido
Fugees (Refugee Camp)
Fugees (Tranzlator Crew)
G Unit
G-Unit
Groove Armada
Groove Armada
Guns N' Roses
Guns N' Roses

Where is this taken from? It comes from the tags? Because I have ONLY one single Artist folder for each.

I understand the problem with the ones that have different names. I can update and write the tag info again and start over with a new Headphones DB. But the ones with the same name I don't get. How the heck can the program wick up two different "Dido"?

*EDIT*
I tried to check it more closely now and I figured out that it picks up the folder name as well as the tag names. Which was different in some of my cases. I'm still really wondering why it picks up the exact same names twice though.


- steve1977 - 2012-01-21

HenryFord Wrote:It should reside in
headphones_root/lib/musicbrainz2/webservice.py

There you should find a class "class WebService(IWebService)" with an init-method. This init-method should define the musicbrainz-host + port (probably also the realm which is uninteresting because there is no auth on my server needed). Change it to the following:
host=tbueter.com
port=3000

Tried to change the following lines. Somehow it does not work yet. Am I missing anything? Anything to do with "realm"?


def __init__(self, host='tbueter.com', port=3000, pathPrefix='/ws',
username=None, password=None, realm='musicbrainz.org',
opener=None):
"""Constructor.


- Ecwfrk - 2012-01-22

Quote: I'm still really wondering why it picks up the exact same names twice though.

They probably aren't exactly the same where ever they are getting picked up from. They only appear to be named exactly the same once rendered in HTML. HP is really exact in picking things up from existing files and any tiny deviation will be seen as completely different.

It'd be nice if HP was better at ignoring things like the difference between &/and or Beyonce/Beyoncé and matching "This Song (Ft. This Guy).mp3" with "This Song.mp3".
But for now if you already have a large music collection that deviates from MB tagging, the only choices are to redo everything with a MB based program like Picard (and you may have to change some album versions in Headphones to match the one you actually have if you let it add them automatically when you add the artist), rewrite the scanning and tag lookup functions in Headphones or manually mark everything you already have as downloaded and let HP just handle new releases.
The first didn't work for me for various reasons, the second is way beyond my skill set, so I used the 3rd.


- lpallard - 2012-01-22

steve1977 Wrote:Tried to change the following lines. Somehow it does not work yet. Am I missing anything? Anything to do with "realm"?


def __init__(self, host='tbueter.com', port=3000, pathPrefix='/ws',
username=None, password=None, realm='musicbrainz.org',
opener=None):
"""Constructor.

Hey Steve1977, I changed the /headphones/lib/musicbrainz2/webservice.py to the very same you have, and refreshed the whole collection, but it seems that after a few artists that were previously marked with "None", it stopped refreshing...

Nothing in the logs saying about communication timeout, errors or anything else...

Any clues?


- steve1977 - 2012-01-22

lpallard Wrote:Hey Steve1977, I changed the /headphones/lib/musicbrainz2/webservice.py to the very same you have, and refreshed the whole collection

Refreshing also works for me. After changing to the mirror, the "scan music library" function stops working and gives me the errors posted above. Have you tried and is it working for you? My guess is that there are additional places where I need to replace musicbrainz with the mirror, but I don't know where.

Maybe henryford or some of the others who succeeded working with the mirror can comment?


lpallard Wrote:But it seems that after a few artists that were previously marked with "None", it stopped refreshing...

Nothing in the logs saying about communication timeout, errors or anything else...

This is also a known bug, but has nothing to do with the mirror. SleepyP is trying to fix this, but was taking a bit more time as musicbrainz started blocking requests.


- Nogood5 - 2012-01-22

Rembo10 just commented on Github that he will look into this and that he will fix it today. Big Grin
Fingers crossed Smile


- michaelcdf - 2012-01-22

Hello,

first of all thanks a lot for this application.
Just tried it and after configuring it, I launch a scan of my itunes folder
and here is log with the problem/bug
After that the scan just continue nomally

22-janv.-2012 13:09:10 - INFO :: MainThread : Headphones is already up-to-date.
22-janv.-2012 13:09:11 - INFO :: MainThread : Starting Headphones on port: 8181
22-janv.-2012 13:09:22 - INFO :: Thread-12 : Scanning music directory: X:\ITunes

C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WOAR: 'w\x00w\x00.\x00R\x00N\x00B\x00x\x00B\x00e\x00a\x0
0t\x00z\x00.\x00c\x00o\x00m\x00' (from '\x01\xff\xfew\x00w\x00w\x00.\x00R\x00N\x
00B\x00x\x00B\x00e\x00a\x00t\x00z\x00.\x00c\x00o\x00m\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WOAS: 'w\x00w\x00.\x00R\x00N\x00B\x00x\x00B\x00e\x00a\x0
0t\x00z\x00.\x00c\x00o\x00m\x00' (from '\x01\xff\xfew\x00w\x00w\x00.\x00R\x00N\x
00B\x00x\x00B\x00e\x00a\x00t\x00z\x00.\x00c\x00o\x00m\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WOAF: 'w\x00w\x00.\x00R\x00N\x00B\x00x\x00B\x00e\x00a\x0
0t\x00z\x00.\x00c\x00o\x00m\x00' (from '\x01\xff\xfew\x00w\x00w\x00.\x00R\x00N\x
00B\x00x\x00B\x00e\x00a\x00t\x00z\x00.\x00c\x00o\x00m\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WCOM: 'w\x00w\x00.\x00R\x00N\x00B\x00x\x00B\x00e\x00a\x0
0t\x00z\x00.\x00c\x00o\x00m\x00' (from '\x01\xff\xfew\x00w\x00w\x00.\x00R\x00N\x
00B\x00x\x00B\x00e\x00a\x00t\x00z\x00.\x00c\x00o\x00m\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WCOP: 'w\x00w\x00.\x00R\x00N\x00B\x00x\x00B\x00e\x00a\x0
0t\x00z\x00.\x00c\x00o\x00m\x00' (from '\x01\xff\xfew\x00w\x00w\x00.\x00R\x00N\x
00B\x00x\x00B\x00e\x00a\x00t\x00z\x00.\x00c\x00o\x00m\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WPUB: 'w\x00w\x00.\x00R\x00N\x00B\x00x\x00B\x00e\x00a\x0
0t\x00z\x00.\x00c\x00o\x00m\x00' (from '\x01\xff\xfew\x00w\x00w\x00.\x00R\x00N\x
00B\x00x\x00B\x00e\x00a\x00t\x00z\x00.\x00c\x00o\x00m\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WORS: 'w\x00w\x00.\x00R\x00N\x00B\x00x\x00B\x00e\x00a\x0
0t\x00z\x00.\x00c\x00o\x00m\x00' (from '\x01\xff\xfew\x00w\x00w\x00.\x00R\x00N\x
00B\x00x\x00B\x00e\x00a\x00t\x00z\x00.\x00c\x00o\x00m\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WCOM: '4\x001\x003\x003\x005\x006\x005\x001\x008\x009\x0
07\x009\x00' (from '\x01\xff\xfe5\x004\x001\x003\x003\x005\x006\x005\x001\x008\x
009\x007\x009\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WOAR: 'E\x00A\x00U\x00R\x00I\x00F\x00D\x00U\x003\x000\x0
0' (from '\x01\xff\xfeB\x00E\x00A\x00U\x00R\x00I\x00F\x00D\x00U\x003\x000\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WOAS: 'E\x00A\x00U\x00R\x00I\x00F\x00D\x00U\x003\x000\x0
0' (from '\x01\xff\xfeB\x00E\x00A\x00U\x00R\x00I\x00F\x00D\x00U\x003\x000\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WOAF: 'E\x00A\x00U\x00R\x00I\x00F\x00D\x00U\x003\x000\x0
0' (from '\x01\xff\xfeB\x00E\x00A\x00U\x00R\x00I\x00F\x00D\x00U\x003\x000\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WOAR: 'w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x0
0i\x00l\x00l\x00i\x00a\x00m\x00p\x00r\x00o\x00d\x00u\x00c\x00t\x00i\x00o\x00n\x0
0.\x00c\x00o\x00m\x00]\x00[\x00w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x0
0i\x00l\x00l\x00i\x00a\x00m\x00.\x00c\x00o\x00m\x00]\x00' (from '\x01\xff\xfe[\x
00w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x00i\x00l\x00l\x00i\x00a\x00m\x
00p\x00r\x00o\x00d\x00u\x00c\x00t\x00i\x00o\x00n\x00.\x00c\x00o\x00m\x00]\x00[\x
00w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x00i\x00l\x00l\x00i\x00a\x00m\x
00.\x00c\x00o\x00m\x00]\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WOAS: 'w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x0
0i\x00l\x00l\x00i\x00a\x00m\x00p\x00r\x00o\x00d\x00u\x00c\x00t\x00i\x00o\x00n\x0
0.\x00c\x00o\x00m\x00]\x00[\x00w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x0
0i\x00l\x00l\x00i\x00a\x00m\x00.\x00c\x00o\x00m\x00]\x00' (from '\x01\xff\xfe[\x
00w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x00i\x00l\x00l\x00i\x00a\x00m\x
00p\x00r\x00o\x00d\x00u\x00c\x00t\x00i\x00o\x00n\x00.\x00c\x00o\x00m\x00]\x00[\x
00w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x00i\x00l\x00l\x00i\x00a\x00m\x
00.\x00c\x00o\x00m\x00]\x00')
ID3Warning)
C:\Users\Michael\Desktop\rembo10-headphones-0a13c92\lib\mutagen\id3.py:1021: ID3
Warning: Leftover data: WOAF: 'w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x0
0i\x00l\x00l\x00i\x00a\x00m\x00p\x00r\x00o\x00d\x00u\x00c\x00t\x00i\x00o\x00n\x0
0.\x00c\x00o\x00m\x00]\x00[\x00w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x0
0i\x00l\x00l\x00i\x00a\x00m\x00.\x00c\x00o\x00m\x00]\x00' (from '\x01\xff\xfe[\x
00w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x00i\x00l\x00l\x00i\x00a\x00m\x
00p\x00r\x00o\x00d\x00u\x00c\x00t\x00i\x00o\x00n\x00.\x00c\x00o\x00m\x00]\x00[\x
00w\x00w\x00w\x00.\x00w\x00i\x00l\x00l\x00y\x00w\x00i\x00l\x00l\x00i\x00a\x00m\x
00.\x00c\x00o\x00m\x00]\x00')
ID3Warning)


- MrHaugen - 2012-01-22

Ecwfrk Wrote:They probably aren't exactly the same where ever they are getting picked up from. They only appear to be named exactly the same once rendered in HTML. HP is really exact in picking things up from existing files and any tiny deviation will be seen as completely different.

It'd be nice if HP was better at ignoring things like the difference between &/and or Beyonce/Beyoncé and matching "This Song (Ft. This Guy).mp3" with "This Song.mp3".
But for now if you already have a large music collection that deviates from MB tagging, the only choices are to redo everything with a MB based program like Picard (and you may have to change some album versions in Headphones to match the one you actually have if you let it add them automatically when you add the artist), rewrite the scanning and tag lookup functions in Headphones or manually mark everything you already have as downloaded and let HP just handle new releases.
The first didn't work for me for various reasons, the second is way beyond my skill set, so I used the 3rd.

I fixed the duplicates. The problems was two:
1. The directory was named something different from the Artist Tag
2. The Media Center I used had set the Artist name for the tag "Album Artist". This was picked up as a different artist than "Artist" tag. Removing this "Album Artist" tag fixed the problem.

Artists is now fixed. It took "only" 4 hours. I'll now add the artists and look at what a mess the identification of the albums is. I'm scared.... Confused


- DGMayor - 2012-01-22

MrHaugen Wrote:I fixed the duplicates. The problems was two:
1. The directory was named something different from the Artist Tag
2. The Media Center I used had set the Artist name for the tag "Album Artist". This was picked up as a different artist than "Artist" tag. Removing this "Album Artist" tag fixed the problem.

Artists is now fixed. It took "only" 4 hours. I'll now add the artists and look at what a mess the identification of the albums is. I'm scared.... Confused

Depending on what you use for your music player, it's always a good idea to have the Album Artist set as well. A good example is for compilations. You can set the Album Artist to something like "various artists" and then set each individual song as the proper artist of that song. This ensures they get grouped properly in many music players.

How Headphones handles that, I don't know, but my guess is that most people wouldn't be using headphones with compilations like this.


- aoaaron - 2012-01-22

can you update headphones via the interface like sickbeard/couchpotato or is it like sabnzbd?


also is anyone here running it on unraid 4.7?


oh and does it post process artists/album/songs and rename/tag (maybe asking a bit too much?!)


- MrHaugen - 2012-01-22

DGMayor Wrote:Depending on what you use for your music player, it's always a good idea to have the Album Artist set as well. A good example is for compilations. You can set the Album Artist to something like "various artists" and then set each individual song as the proper artist of that song. This ensures they get grouped properly in many music players.

How Headphones handles that, I don't know, but my guess is that most people wouldn't be using headphones with compilations like this.

I know. But this field is only used for my various artist albums. And those are not included in my headphones setup. I use Artist, Album Artist as well as Album Artist (Auto) to get full control of the collection albums in JRMC.