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)



- r3v0ss - 2011-06-21

Great initiative! I've installed it on my server, works great. However, I still have some questions:

- Is there a logfile I can see? The 'history' page is empty.
- When does headphones search? Can I set an interval?
- I miss a restart button.
- headphones seems to ignore the retention time I've entered. I've entered 400 days, but it throws nzb's to SAB that are older, much older. Like 500 days.

I know that it is work in pogress, is there support for notifications coming? Like twitter, growl, etc? Just asking. You can look to AlbumIdentify for postprocessing.

Anyway, keep up the good work! Nod


- IAmNotAUser - 2011-06-21

I admit I have just seen this and am not in a position to get onto my SABnbzd+ machine to install this, but can it access iTunes folders hosted on Samba or NFS shares to scan them?

Another vote for joining forces with Audio-Matic from me too Smile

Looks great though, I am looking forward to having a chance to play with it and hopefully give some feedback.


- HarryRosen - 2011-06-21

Is it possible to make a win32 build just like sickbeard and couchpotato?


- rembo10 - 2011-06-21

r3v0ss Wrote:Great initiative! I've installed it on my server, works great. However, I still have some questions:

- Is there a logfile I can see? The 'history' page is empty.
- When does headphones search? Can I set an interval?
- I miss a restart button.
- headphones seems to ignore the retention time I've entered. I've entered 400 days, but it throws nzb's to SAB that are older, much older. Like 500 days.

I know that it is work in pogress, is there support for notifications coming? Like twitter, growl, etc? Just asking. You can look to AlbumIdentify for postprocessing.

Anyway, keep up the good work! Nod

-Working on logging now, should be coming soon, like today-ish.

-Search happens every 12 hours, but I will definitely add an option to change the search interval.

-I was messing around with a restart button at one point, but I couldn't get it to work (I think the way I have my threads set up). The next version will be a lot more elegant.

-I use a 'maxage' parameter when searching the providers, but I know for sure NZBMatrix ignores it in their rss search.

And notifications are a must, so that is also on my todo list.

@IAmNotAUser - it can scan any folder/xml file as long as you can provide a path to the folder (i.e. you could put in '/Volumes/myshare/iTunes Library.xml' or just a folder: 'Volumes/myshare/mymusic')

@HarryRosen - yup. I can do this. If it's not done within the next few days definitely remind me.


- HarryRosen - 2011-06-21

Awesome, I have the python working on my WHS using firedaemon, so no rush on the win32,

this is an awesome program, can't wait for post-processing


- Dezie - 2011-06-21

Excuse me if this has already been asked, but: would it be possible to have music quality options? (i.e. always download lossless first, if unavailable, download 320kbps MP3, etc.)
I'm a music quality whore/audiophile so this is a critical feature to me. Thanks!


- rembo10 - 2011-06-21

Dezie Wrote:Excuse me if this has already been asked, but: would it be possible to have music quality options? (i.e. always download lossless first, if unavailable, download 320kbps MP3, etc.)
I'm a music quality whore/audiophile so this is a critical feature to me. Thanks!

That's basically what the "Include Lossless" option does in settings. I think a better phrasing would be "Prefer Lossless" - it will do exactly what you want: try for lossless, if unavailable try the highest quality mp3.

I'm kind of coding stuff up now so if you guys have any requests for additional features post 'em here


- HarryRosen - 2011-06-21

I just noticed that itunes will sort and process your music for you automatically using there "Automatically Add to iTunes" folder, when you put an album into the folder it will sort it into your default music filder as follows

Artist\album\song it renames the files too.

going to try it more with headphones later tonight, but this might be a good temp fix until the post processing is done


- HarryRosen - 2011-06-21

It seems to work, pretty well as long as the music you download tags are correct. And itunes has to be running for it to sort and move the files


- indy5 - 2011-06-22

I'm getting the following error when I click to import my music library. I do not use itunes, my music is just organized my artist on a network share.

500 Internal Server Error

The server encountered an unexpected condition which prevented it from fulfilling the request.

Traceback (most recent call last):
File "/mnt/cache/.custom/headphones/cherrypy/_cprequest.py", line 645, in respond
response.body = self.handler()
File "/mnt/cache/.custom/headphones/cherrypy/lib/encoding.py", line 188, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "/mnt/cache/.custom/headphones/cherrypy/_cpdispatch.py", line 29, in __call__
return self.callable(*self.args, **self.kwargs)
File "/mnt/cache/.custom/headphones/webServer.py", line 329, in importItunes
itunesimport.itunesImport(path)
File "/mnt/cache/.custom/headphones/itunesimport.py", line 35, in itunesImport
artist = ws.Query().getArtistById(artistid, inc)
File "/mnt/cache/.custom/headphones/musicbrainz2/webservice.py", line 972, in getArtistById
result = self._getFromWebService('artist', uuid, include)
File "/mnt/cache/.custom/headphones/musicbrainz2/webservice.py", line 1179, in _getFromWebService
stream = self._ws.get(entity, id_, includeParams, filterParams)
File "/mnt/cache/.custom/headphones/musicbrainz2/webservice.py", line 285, in get
raise WebServiceError(str(e), e)
WebServiceError: HTTP Error 403: Forbidden


- rembo10 - 2011-06-22

indy5 Wrote:I'm getting the following error when I click to import my music library. I do not use itunes, my music is just organized my artist on a network share.

500 Internal Server Error

The server encountered an unexpected condition which prevented it from fulfilling the request.

Traceback (most recent call last):
File "/mnt/cache/.custom/headphones/cherrypy/_cprequest.py", line 645, in respond
...
...
WebServiceError: HTTP Error 403: Forbidden

Do you have the latest version from github? There was a problem with importing 'Various Artists' that threw back the 403 error from MusicBrainz but it's been fixed.

If you do have the latest, maybe pm me and I can check out your artist list to see what else might be causing the error. Thanks


- r3v0ss - 2011-06-22

I don't know if this is the right place to leave requests, but is it possible to insert multiple newsnab providers? So that I can use nzb.su and spotweb as providers.


- indy5 - 2011-06-22

rembo10 Wrote:Do you have the latest version from github? There was a problem with importing 'Various Artists' that threw back the 403 error from MusicBrainz but it's been fixed.

If you do have the latest, maybe pm me and I can check out your artist list to see what else might be causing the error. Thanks

I am running headphones on an unraid server. Has anyone been successful with this setup? My python version is 2.6.5.


- compcentral - 2011-06-22

The latest version does seem to run for me now, however I got this error when trying to manually add an artist while importing from a folder:

Quote:500 Internal Server Error

The server encountered an unexpected condition which prevented it from fulfilling the request.

Traceback (most recent call last):
File "C:\headphones\cherrypy\_cprequest.py", line 645, in respond
response.body = self.handler()
File "C:\headphones\cherrypy\lib\encoding.py", line 188, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "C:\headphones\cherrypy\_cpdispatch.py", line 29, in __call__
return self.callable(*self.args, **self.kwargs)
File "C:\headphones\webServer.py", line 209, in addArtist
c.execute('INSERT INTO artists VALUES( ?, ?, ?, CURRENT_DATE, ?)', (artistid, artist.name, artist.sortName, 'Active'))
OperationalError: database is locked

Looks like both operations were attempting to update the database at the same time.

Also, from using this a little, does Headphones check to see if you already have any songs or no?


- Dezie - 2011-06-23

rembo10 Wrote:That's basically what the "Include Lossless" option does in settings. I think a better phrasing would be "Prefer Lossless" - it will do exactly what you want: try for lossless, if unavailable try the highest quality mp3.

I'm kind of coding stuff up now so if you guys have any requests for additional features post 'em here

Amazing. Love it.
One more thing. When multiple genres and artists in post-processing (whenever that's finished), offer custom delimeters. I personally use a "/" character with no spaces. Just a suggestion, anyway. Shouldn't be too hard to implement.