[RELEASE - Stable beta] DI.fm - Digitally Imported 0.7 - electronic music - bitcrusher01 - 2011-07-25 10:48
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-digitally-imported-xbmc-plugin-v0-71/
Screenshots:
![[Image: xbmc-difm-01.jpg]](http://qualisoft.dk/wp-content/uploads/2011/07/xbmc-difm-01.jpg)
![[Image: xbmc-difm-03.jpg]](http://qualisoft.dk/wp-content/uploads/2011/07/xbmc-difm-03.jpg)
![[Image: xbmc-difm-02.jpg]](http://qualisoft.dk/wp-content/uploads/2011/07/xbmc-difm-02.jpg)
- bitcrusher01 - 2011-07-25 22:53
Just updated the plugin to version 0.71
- Rygrath - 2011-07-25 23:35
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.
- bitcrusher01 - 2011-07-26 00:13
Glad to hear it Rygrath 
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 
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
- moosenoz - 2011-07-26 02:18
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.
- philneko - 2012-01-04 05:24
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
- bitcrusher01 - 2012-01-04 10:20
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
- bitcrusher01 - 2012-01-05 01:19
*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
RE: [RELEASE - Stable beta] DI.fm - Digitally Imported 0.7 - electronic music - Xencored - 2013-05-10 13:21
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<--
|