[RELEASE - Stable beta] DI.fm - Digitally Imported 0.7 - electronic music
#1
Rainbow 
Hi guys

It seems I've posted this in the wrong forum at first, so I thought I'd try to rectify that.

### Updated to version 0.71
### Fixed a bug with the cache refresh option, that made it so it was either never or after 60 minutes it would refresh the cache

I've cooked up at plugin for all those electronic music lovers out there, that scrapes di.fm for streams and servers them directly to you in XBMC.
For now it's a stable beta, as I haven't added all the features I wish to add, but have no bugs to my knowledge.

For now it's just located at my blog, but I plan to add it to the XBMC repo later on.

Get it here if your interested: http://qualisoft.dk/2011/07/di-fm-digita...gin-v0-71/

Screenshots:
Image

Image

Image

Image
Reply
#2
Just updated the plugin to version 0.71
Reply
#3
Been running this non-stop since you released it. It's been running smooth with no issues that I can find after that cache reset in the first release. Look forward to some of the features you plan to implement, but have to say.. off to a great start.
Reply
#4
Glad to hear it Rygrath Smile
I actually looked into choosing between MP3, accPlus or WMA streams and actually had the regexes and methods made for them all, but apparently XBMC dosen't support neither accPlus or WMA, so I'm gonna stick with MP3.

What I features I want to add in future versions:
  • Login to get Premiums streams (256k/sec)
  • Use ones Favorites list (only the channels you want to hear, only for Premium users)
  • Choose to get each playlist (3-5 servers per channel), instead of the first stream from each playlist (which it does now) - getting the first server would be default behavior though
I'll probably get around to doing that when I have my late summer holiday in week 32, after I've been at Chaos Communication Camp hacker festival around Berlin of course Wink

After I've made those features though, I'm unsure what else to add to the plugin.
Any ideas?

Also, as DI.fm also owns sky.fm, I plan to make a simliar plugin for that as well... even though it is hardly my style Wink
Reply
#5
i'm a big fan of the "genre"

downloaded and installed your plugin. been listening for a while now. everything streams really smooth. great stuff.

cheers.
Reply
#6
Hey bitcrusher,

If you are still around, over the last few days i am getting a error when trying to run the addon "Error Script Failed!: plugin.audio.di.fm"

Any ideas on this issue would be great!

Thanks
Reply
#7
Yes, I know it doesn't work. They changed the design on di.fm around New Years Eve - I wasn't quite sure how many would notice, or how many actually uses the plugin.
I had actually started working on making premium and favourites work a couple of days before.
I think I'll release a WIP (Work In Progress) version, before the new features are 100% done though, with the public channels working and premium support with a few kinks.
Around 18 GMT+1, I'll be home and be able to post the WIP version to my blog at http://qualisoft.dk
Reply
#8
*Professor Farnsworth voice* Good news everyone!
I figured out the last bug I was having trouble figuring out, was because one of Digitally Importeds Premium servers was streaming corrupted MP3.

I told DIs support, they restarted it, and everything works fine now.

Changelog, link, screenshots etc. can be found here: forum.xbmc.org/showthread.php?p=978796#post978796
Reply
#9
Now than, I am getting 'Script Failed!: plugin.audio.di.fm' on the raspberry pi this morning

Have they changed something?

Cheers great plugin btw!

Code:
712:16:35 T:2938442816  NOTICE: Thread XBPyThread start, auto delete: false
12:16:36 T:2938442816  NOTICE: -->Python Interpreter Initialized<--
12:16:36 T:2913276992   ERROR: COMXImage::ReadFile special://skin/backgrounds/default.jpg not found
12:16:36 T:2913276992   ERROR: Texture manager unable to load file: special://skin/backgrounds/default.jpg
12:16:38 T:2938442816  NOTICE: It has not been 1440 minutes since /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_lastcheckin.dat was last updated
12:16:38 T:2938442816  NOTICE: [PLUGIN] Digitally Imported v2.1.0 (8. December 2012)
12:16:38 T:2938442816  NOTICE: The cachefile /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_streamlist.dat does not exist
12:16:38 T:2938442816  NOTICE: Going for Public streams
12:16:39 T:2938442816  NOTICE: Channelart for Mainstage not found in cache at /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/art_mainstage.png
12:16:42 T:2938442816   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.IndexError'>
                                            Error Contents: list index out of range
                                            Traceback (most recent call last):
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 414, in <module>
                                                MusicAddonInstance.start()
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 170, in start
                                                streamList = self.customizeStreamListAddMenuitem(jsonList, "") # sending a blank string as listenkey
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 226, in customizeStreamListAddMenuitem
                                                self.getChannelArt( channel['id'], "art_" + channel['key'] )
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 258, in getChannelArt
                                                xbmcgui.Dialog().ok( ADDON.getLocalizedString(30160), ADDON.getLocalizedString(30161), ADDON.getLocalizedString(30162) + channelartDict[0] )
                                            IndexError: list index out of range
                                            -->End of Python script error report<--
12:16:42 T:3040981632   ERROR: GetDirectory - Error getting plugin://plugin.audio.di.fm
12:16:42 T:3040981632   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.di.fm) failed
12:16:49 T:2938442816  NOTICE: Thread XBPyThread start, auto delete: false
12:16:50 T:2938442816  NOTICE: -->Python Interpreter Initialized<--
12:16:53 T:2938442816  NOTICE: Thread XBPyThread start, auto delete: false
12:16:54 T:2938442816  NOTICE: -->Python Interpreter Initialized<--
12:16:56 T:2938442816  NOTICE: It has not been 1440 minutes since /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_lastcheckin.dat was last updated
12:16:56 T:2938442816  NOTICE: [PLUGIN] Digitally Imported v2.1.0 (8. December 2012)
12:16:56 T:2938442816  NOTICE: The cachefile /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_streamlist.dat does not exist
12:16:56 T:2938442816  NOTICE: Going for Public streams
12:16:57 T:2938442816  NOTICE: Channelart for Mainstage not found in cache at /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/art_mainstage.png
12:16:58 T:2938442816   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.IndexError'>
                                            Error Contents: list index out of range
                                            Traceback (most recent call last):
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 414, in <module>
                                                MusicAddonInstance.start()
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 170, in start
                                                streamList = self.customizeStreamListAddMenuitem(jsonList, "") # sending a blank string as listenkey
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 226, in customizeStreamListAddMenuitem
                                                self.getChannelArt( channel['id'], "art_" + channel['key'] )
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 258, in getChannelArt
                                                xbmcgui.Dialog().ok( ADDON.getLocalizedString(30160), ADDON.getLocalizedString(30161), ADDON.getLocalizedString(30162) + channelartDict[0] )
                                            IndexError: list index out of range
                                            -->End of Python script error report<--
12:16:59 T:3040981632   ERROR: GetDirectory - Error getting plugin://plugin.audio.di.fm
12:16:59 T:3040981632   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.di.fm) failed
12:17:03 T:2790257728   ERROR: Unable to find plugin
12:17:03 T:3040981632   ERROR: GetDirectory - Error getting plugin://
12:17:03 T:3040981632   ERROR: CGUIMediaWindow::GetDirectory(plugin://) failed
12:17:03 T:2938442816  NOTICE: Thread Background Loader start, auto delete: false
12:17:04 T:2938442816  NOTICE: Thread XBPyThread start, auto delete: false
12:17:04 T:2938442816  NOTICE: -->Python Interpreter Initialized<--
12:17:35 T:2938442816  NOTICE: Thread XBPyThread start, auto delete: false
12:17:35 T:2938442816  NOTICE: -->Python Interpreter Initialized<--
12:17:36 T:3040981632   ERROR: Control 51 in window 10501 has been asked to focus, but it can't
12:17:37 T:2938442816  NOTICE: It has not been 1440 minutes since /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_lastcheckin.dat was last updated
12:17:37 T:2938442816  NOTICE: [PLUGIN] Digitally Imported v2.1.0 (8. December 2012)
12:17:37 T:2938442816  NOTICE: The cachefile /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_streamlist.dat does not exist
12:17:37 T:2938442816  NOTICE: Going for Public streams
12:17:38 T:2938442816  NOTICE: Channelart for Mainstage not found in cache at /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/art_mainstage.png
12:17:40 T:2938442816   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.IndexError'>
                                            Error Contents: list index out of range
                                            Traceback (most recent call last):
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 414, in <module>
                                                MusicAddonInstance.start()
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 170, in start
                                                streamList = self.customizeStreamListAddMenuitem(jsonList, "") # sending a blank string as listenkey
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 226, in customizeStreamListAddMenuitem
                                                self.getChannelArt( channel['id'], "art_" + channel['key'] )
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 258, in getChannelArt
                                                xbmcgui.Dialog().ok( ADDON.getLocalizedString(30160), ADDON.getLocalizedString(30161), ADDON.getLocalizedString(30162) + channelartDict[0] )
                                            IndexError: list index out of range
                                            -->End of Python script error report<--
12:17:40 T:3040981632   ERROR: GetDirectory - Error getting plugin://plugin.audio.di.fm
12:17:40 T:3040981632   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.di.fm) failed
12:17:40 T:3040981632   ERROR: Control 51 in window 10501 has been asked to focus, but it can't
12:18:02 T:2938442816   ERROR: Previous line repeats 1 times.
12:18:02 T:2938442816  NOTICE: Thread XBPyThread start, auto delete: false
12:18:03 T:2938442816  NOTICE: -->Python Interpreter Initialized<--
12:18:24 T:2938442816  NOTICE: Thread XBPyThread start, auto delete: false
12:18:25 T:2938442816  NOTICE: -->Python Interpreter Initialized<--
12:18:28 T:2938442816  NOTICE: It has not been 1440 minutes since /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_lastcheckin.dat was last updated
12:18:28 T:2938442816  NOTICE: [PLUGIN] Digitally Imported v2.1.0 (8. December 2012)
12:18:28 T:2938442816  NOTICE: The cachefile /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_streamlist.dat does not exist
12:18:28 T:2938442816  NOTICE: Going for Public streams
12:18:28 T:2938442816  NOTICE: Channelart for Mainstage not found in cache at /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/art_mainstage.png
12:18:29 T:2938442816   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.IndexError'>
                                            Error Contents: list index out of range
                                            Traceback (most recent call last):
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 414, in <module>
                                                MusicAddonInstance.start()
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 170, in start
                                                streamList = self.customizeStreamListAddMenuitem(jsonList, "") # sending a blank string as listenkey
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 226, in customizeStreamListAddMenuitem
                                                self.getChannelArt( channel['id'], "art_" + channel['key'] )
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 258, in getChannelArt
                                                xbmcgui.Dialog().ok( ADDON.getLocalizedString(30160), ADDON.getLocalizedString(30161), ADDON.getLocalizedString(30162) + channelartDict[0] )
                                            IndexError: list index out of range
                                            -->End of Python script error report<--
12:18:30 T:3040981632   ERROR: GetDirectory - Error getting plugin://plugin.audio.di.fm
12:18:30 T:3040981632   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.di.fm) failed
12:18:30 T:3040981632   ERROR: Control 51 in window 10501 has been asked to focus, but it can't
12:18:42 T:2938442816   ERROR: Previous line repeats 1 times.
12:18:42 T:2938442816  NOTICE: Thread XBPyThread start, auto delete: false
12:18:42 T:2938442816  NOTICE: -->Python Interpreter Initialized<--
12:18:43 T:2896233536  NOTICE: Thread XBPyThread start, auto delete: false
12:18:44 T:2896233536  NOTICE: -->Python Interpreter Initialized<--
12:18:46 T:2896233536  NOTICE: It has not been 1440 minutes since /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_lastcheckin.dat was last updated
12:18:46 T:2896233536  NOTICE: [PLUGIN] Digitally Imported v2.1.0 (8. December 2012)
12:18:46 T:2896233536  NOTICE: The cachefile /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_streamlist.dat does not exist
12:18:46 T:2896233536  NOTICE: Going for Public streams
12:18:46 T:2896233536  NOTICE: Channelart for Mainstage not found in cache at /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/art_mainstage.png
12:18:54 T:2896233536   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.IndexError'>
                                            Error Contents: list index out of range
                                            Traceback (most recent call last):
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 414, in <module>
                                                MusicAddonInstance.start()
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 170, in start
                                                streamList = self.customizeStreamListAddMenuitem(jsonList, "") # sending a blank string as listenkey
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 226, in customizeStreamListAddMenuitem
                                                self.getChannelArt( channel['id'], "art_" + channel['key'] )
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 258, in getChannelArt
                                                xbmcgui.Dialog().ok( ADDON.getLocalizedString(30160), ADDON.getLocalizedString(30161), ADDON.getLocalizedString(30162) + channelartDict[0] )
                                            IndexError: list index out of range
                                            -->End of Python script error report<--
12:18:54 T:3040981632   ERROR: GetDirectory - Error getting plugin://plugin.audio.di.fm
12:18:54 T:3040981632   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.di.fm) failed
12:18:54 T:3040981632   ERROR: Control 51 in window 10501 has been asked to focus, but it can't
12:19:07 T:2896233536   ERROR: Previous line repeats 1 times.
12:19:07 T:2896233536  NOTICE: Thread XBPyThread start, auto delete: false
12:19:08 T:2896233536  NOTICE: -->Python Interpreter Initialized<--
12:19:09 T:2896233536  NOTICE: Thread XBPyThread start, auto delete: false
12:19:09 T:2896233536  NOTICE: -->Python Interpreter Initialized<--
12:19:11 T:2896233536  NOTICE: It has not been 1440 minutes since /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_lastcheckin.dat was last updated
12:19:11 T:2896233536  NOTICE: [PLUGIN] Digitally Imported v2.1.0 (8. December 2012)
12:19:11 T:2896233536  NOTICE: The cachefile /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/cache_streamlist.dat does not exist
12:19:11 T:2896233536  NOTICE: Going for Public streams
12:19:12 T:2896233536  NOTICE: Channelart for Mainstage not found in cache at /home/pi/.xbmc/userdata/addon_data/plugin.audio.di.fm/art_mainstage.png
12:19:14 T:2896233536   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.IndexError'>
                                            Error Contents: list index out of range
                                            Traceback (most recent call last):
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 414, in <module>
                                                MusicAddonInstance.start()
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 170, in start
                                                streamList = self.customizeStreamListAddMenuitem(jsonList, "") # sending a blank string as listenkey
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 226, in customizeStreamListAddMenuitem
                                                self.getChannelArt( channel['id'], "art_" + channel['key'] )
                                              File "/home/pi/.xbmc/addons/plugin.audio.di.fm/default.py", line 258, in getChannelArt
                                                xbmcgui.Dialog().ok( ADDON.getLocalizedString(30160), ADDON.getLocalizedString(30161), ADDON.getLocalizedString(30162) + channelartDict[0] )
                                            IndexError: list index out of range
                                            -->End of Python script error report<--
12:19:14 T:3040981632   ERROR: GetDirectory - Error getting plugin://plugin.audio.di.fm
12:19:14 T:3040981632   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.audio.di.fm) failed
12:19:14 T:3040981632   ERROR: Control 51 in window 10501 has been asked to focus, but it can't
12:21:30 T:2913276992   ERROR: Previous line repeats 1 times.
12:21:30 T:2913276992  NOTICE: Thread XBPyThread start, auto delete: false
12:21:30 T:2790257728  NOTICE: Thread Jobworker start, auto delete: true
12:21:30 T:2913276992  NOTICE: -->Python Interpreter Initialized<--
Reply
#10
Same here... Used to work yesterday, but since, today: script error.

Anybody has a fix?

Thanks!
Reply
#11
There has been an issue with the plugin since DI.fm updated their webpage.
This causes the getChannelArt function to crash.
This issue will only appear if cache is reset (and new album art needs to be downloaded).

If you grab the master branch from https://github.com/Bitcrusher/Digitally-...BMC-plugin you'll get a version (2.1.2) with updated regex in place.
Bitcrusher is currently working on submitting this to the official repo.
Reply

Logout Mark Read Team Forum Stats Members Help
[RELEASE - Stable beta] DI.fm - Digitally Imported 0.7 - electronic music0