Kodi Community Forum

Full Version: [RELEASE] Random and last items smartplaylist script for Skins
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I don't understand. I think that you are not using the last release (2.1.5) because

Code:
_setProperty( "%s.%d.RunningTime"   % ( PROPERTIE, _count ), runtime)

does not exist any more in python code.

Can you try with this ZIP :

https://github.com/XBMC-Addons/script.ra...master.zip
(2013-06-03, 16:21)mikebzh44 Wrote: [ -> ]I don't understand. I think that you are not using the last release (2.1.5) because

Code:
_setProperty( "%s.%d.RunningTime"   % ( PROPERTIE, _count ), runtime)

does not exist any more in python code.

Can you try with this ZIP :

https://github.com/XBMC-Addons/script.ra...master.zip

yeah maybe marcos (ace creator) intentionally use v1.2.5 because it doesnt work with 2.1.5?

Hmm the one you gave me didn't give any error in logfile
but it still won't show recent songs from playlists though...
mikebzh44, the error is associated with the lack of type of playlist. I do not determine the type because this will be read from path (according to its documentation), works perfectly up to version 2.1.2 but has error in 2.1.5.
Marcos, playlisttype property is returned even in latest release (2.1.6 for the moment).

You can add some debug print in log to check :

randomandlastitems.py before :

Code:
def _setMusicProperties ( _artists, _albums, _songs ):
    global PROPERTY
    global WINDOW
    global TYPE
    # Set window Properties
    _setProperty ( "%s.Artists" % ( PROPERTY ), str( _artists ) )
    _setProperty ( "%s.Albums" % ( PROPERTY ), str( _albums ) )
    _setProperty ( "%s.Songs" % ( PROPERTY ), str( _songs ) )
    _setProperty ( "%s.Type" % ( PROPERTY ), TYPE )

def _setVideoProperties ( _total, _watched, _unwatched ):
    global PROPERTY
    global WINDOW
    global TYPE
    # Set window Properties
    _setProperty ( "%s.Count" % ( PROPERTY ), str( _total ) )
    _setProperty ( "%s.Watched" % ( PROPERTY ), str( _watched ) )
    _setProperty ( "%s.Unwatched" % ( PROPERTY ), str( _unwatched ) )
    _setProperty ( "%s.Type" % ( PROPERTY ), TYPE )

randomandlastitems.py after :

Code:
def _setMusicProperties ( _artists, _albums, _songs ):
    global PROPERTY
    global WINDOW
    global TYPE
    # Set window Properties
    _setProperty ( "%s.Artists" % ( PROPERTY ), str( _artists ) )
    _setProperty ( "%s.Albums" % ( PROPERTY ), str( _albums ) )
    _setProperty ( "%s.Songs" % ( PROPERTY ), str( _songs ) )
    _setProperty ( "%s.Type" % ( PROPERTY ), TYPE )
    print ( "##### %s.Type" % ( PROPERTY ), TYPE )

def _setVideoProperties ( _total, _watched, _unwatched ):
    global PROPERTY
    global WINDOW
    global TYPE
    # Set window Properties
    _setProperty ( "%s.Count" % ( PROPERTY ), str( _total ) )
    _setProperty ( "%s.Watched" % ( PROPERTY ), str( _watched ) )
    _setProperty ( "%s.Unwatched" % ( PROPERTY ), str( _unwatched ) )
    _setProperty ( "%s.Type" % ( PROPERTY ), TYPE )
    print ( "##### %s.Type" % ( PROPERTY ), TYPE )

Running my script with Aeon Nox 4.1.9 produce this output in LOG file :

13:33:08 T:4876 NOTICE: ('##### SmartPlaylist2.Type', 'Movie')
13:33:09 T:7124 NOTICE: ('##### SmartPlaylist1.Type', 'Movie')
13:33:10 T:6632 NOTICE: ('##### SmartPlaylist3.Type', 'Movie')
@mike

I think this is the relevant properties for music playlist in ace :

(Audio Playlist 1)

Is there anything that's not correct?
PHP Code:
    <!-- ################################################################################ Playlists de Musica 1 ################################################################################ -->
    
<include name="mf_contentapl1">
    <
control type="group">
    <
posx>0</posx>
    <
posy>60</posy>
    <
control type="panel" id="510"><!--- Playlist de Musica 1 Recentes -->
    <include 
condition="SubString(skin.string(menu),vertical)">panel_music_v</include>
    <include 
condition="SubString(skin.string(menu),horizontal)">panel_music_h</include>
    <
visible>Container(9000).HasFocus(41)</visible>
    <include>
panel_musiclayout</include>
    <
content>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.1.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.1.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.1.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.1.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.1.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.1.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.1.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.1.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.1.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.1.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.2.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.2.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.2.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.2.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.2.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.2.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.2.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.2.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.2.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.2.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.3.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.3.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.3.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.3.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.3.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.3.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.3.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.3.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.3.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.3.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.4.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.4.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.4.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.4.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.4.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.4.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.4.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.4.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.4.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.4.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.5.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.5.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.5.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.5.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.5.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.5.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.5.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.5.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.5.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.5.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.6.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.6.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.6.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.6.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.6.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.6.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.6.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.6.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.6.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.6.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.7.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.7.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.7.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.7.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.7.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.7.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.7.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.7.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.7.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.7.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.8.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.8.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.8.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.8.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.8.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.8.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.8.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.8.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.8.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.8.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.9.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.9.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.9.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.9.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.9.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.9.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.9.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.9.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.9.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.9.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.10.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.10.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.10.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.10.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.10.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.10.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.10.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.10.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.10.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.10.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.11.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.11.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.11.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.11.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.11.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.11.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.11.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.11.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.11.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.11.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMusicMenu41.12.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMusicMenu41.12.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMusicMenu41.12.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMusicMenu41.12.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMusicMenu41.12.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMusicMenu41.12.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMusicMenu41.12.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMusicMenu41.12.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistLastMusicMenu41.12.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.12.Title))</visible>
    </
item>
    <
item>
    <
icon>DefaultAudioCover.png</icon>
    <
onclick>noop</onclick>
    <
visible>IsEmpty(Window(0).Property(PlaylistLastMusicMenu41.1.Title))</visible>
    </
item>
    </
content>
    </
control>
    <
control type="panel" id="510"><!--- Playlist de Musica 1 Random -->
    <include 
condition="SubString(skin.string(menu),vertical)">panel_music_v</include>
    <include 
condition="SubString(skin.string(menu),horizontal)">panel_music_h</include>
    <
visible>Container(9000).HasFocus(41) + SubString(skin.string(mfapl1_list),random)</visible>
    <include>
panel_musiclayout</include>
    <
content>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.1.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.1.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.1.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.1.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.1.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.1.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.1.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.1.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.1.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.1.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.2.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.2.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.2.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.2.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.2.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.2.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.2.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.2.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.2.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.2.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.3.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.3.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.3.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.3.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.3.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.3.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.3.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.3.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.3.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.3.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.4.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.4.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.4.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.4.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.4.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.4.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.4.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.4.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.4.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.4.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.5.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.5.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.5.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.5.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.5.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.5.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.5.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.5.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.5.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.5.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.6.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.6.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.6.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.6.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.6.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.6.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.6.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.6.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.6.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.6.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.7.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.7.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.7.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.7.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.7.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.7.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.7.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.7.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.7.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.7.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.8.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.8.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.8.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.8.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.8.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.8.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.8.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.8.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.8.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.8.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.9.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.9.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.9.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.9.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.9.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.9.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.9.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.9.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.9.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.9.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.10.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.10.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.10.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.10.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.10.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.10.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.10.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.10.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.10.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.10.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.11.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.11.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.11.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.11.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.11.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.11.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.11.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.11.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.11.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.11.Title))</visible>
    </
item>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.12.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.12.Artist)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.12.Art(thumb))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.12.Art(fanart))]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.12.Rating)]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.12.Genre)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.12.Description)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMusicMenu41.12.Year)]</property>
    <
onclick>$INFO[Window(0).Property(PlaylistRandomMusicMenu41.12.Play)]</onclick>
    <
onclick condition="!Skin.HasSetting(novisartistslideshow) + System.HasAddon(script.artistslideshow)">AlarmClock(artistslideshow,RunScript(script.artistslideshow),0:01,true)</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.12.Title))</visible>
    </
item>
    <
item>
    <
icon>DefaultAudioCover.png</icon>
    <
onclick>noop</onclick>
    <
visible>IsEmpty(Window(0).Property(PlaylistRandomMusicMenu41.1.Title))</visible>
    </
item>
    </
content>
    </
control>
    </
control>
    </include> 
I have put a debug print :

print ( "##### %s.Type" % ( PROPERTY ), TYPE )

fro both method :

_setMusicProperties called when smartplaylist is for music (only Albums for the moment)

_setVideoProperties called for movies, episodes and TV shows smartplaylists
Mike, see the error in 2.1.5:

http://pastebin.com/hsQjSGx6

In 2.1.2 works fine both audio or video playlists.
Problem solved. After a few emails, mike found that my playlist had no name (filter rule), and for this reason the script returned error. I edited the playlist and now works perfectly for audio and video in version 2.1.5.

No skin error and no script error.

mikebzh44, thank you very much.
I think that the code should handle this kind of error. I will have a look.
Property Name fixed on GITHUB

If smart playlist with no name set is used, %s.Name property is not set.

Or do you think it's better to set a default value (like Undefined or N/A) ?
(2013-06-07, 16:59)mikebzh44 Wrote: [ -> ]Property Name fixed on GITHUB

If smart playlist with no name set is used, %s.Name property is not set.

Or do you think it's better to set a default value (like Undefined or N/A) ?

Hmm.. I don't get it, what was the problem then?

The latest script //still doesn't work..
My music playlists all have a name...

The script no longer crashes but it still won't show recent songs from music playlists...
The log does not show any error related to the script

Quote:11:39:54 T:5440 NOTICE: -----------------------------------------------------------------------
11:39:54 T:5440 NOTICE: Starting XBMC (12.2 Git:20130502-32b1a5e), Platform: WindowsXP Professional SP3 32-bit, build 2600. Built on May 2 2013 (compiler 1600)
11:39:54 T:5440 NOTICE: Intel® Core™2 Duo CPU T7500 @ 2.20GHz
11:39:54 T:5440 NOTICE: Desktop Resolution: 1280x800 32Bit at 63Hz
11:39:54 T:5440 NOTICE: Running with administrator rights
11:39:54 T:5440 NOTICE: Aero is disabled
11:39:54 T:5440 NOTICE: special://xbmc/ is mapped to: C:\Program Files\XBMC
11:39:54 T:5440 NOTICE: special://xbmcbin/ is mapped to: C:\Program Files\XBMC
11:39:54 T:5440 NOTICE: special://masterprofile/ is mapped to: C:\Documents and Settings\user\Application Data\XBMC\userdata
11:39:54 T:5440 NOTICE: special://home/ is mapped to: C:\Documents and Settings\user\Application Data\XBMC\
11:39:54 T:5440 NOTICE: special://temp/ is mapped to: C:\Documents and Settings\user\Application Data\XBMC\cache
11:39:54 T:5440 NOTICE: The executable running is: C:\Program Files\XBMC\XBMC.exe
11:39:54 T:5440 NOTICE: Local hostname: user-d4aa531d11
11:39:54 T:5440 NOTICE: Log File is located: C:\Documents and Settings\user\Application Data\XBMC\xbmc.log
11:39:54 T:5440 NOTICE: -----------------------------------------------------------------------
11:39:54 T:5440 NOTICE: Found 1 Lists of Devices
11:39:54 T:5440 NOTICE: Enumerated DirectSound devices:
11:39:54 T:5440 NOTICE: Device 1
11:39:54 T:5440 NOTICE: m_deviceName : {bd6dd71a-3deb-11d1-b171-00c04fc20000}
11:39:54 T:5440 NOTICE: m_displayName : SigmaTel Audio
11:39:54 T:5440 NOTICE: m_displayNameExtra: DirectSound: SigmaTel Audio
11:39:54 T:5440 NOTICE: m_deviceType : AE_DEVTYPE_PCM
11:39:54 T:5440 NOTICE: m_channels : FL,FR
11:39:54 T:5440 NOTICE: m_sampleRates : 96000
11:39:54 T:5440 NOTICE: m_dataFormats : AE_FMT_FLOAT,AE_FMT_AC3
11:39:54 T:5440 NOTICE: load settings...
11:39:54 T:5440 NOTICE: special://profile/ is mapped to: special://masterprofile/
11:39:54 T:5440 NOTICE: loading special://masterprofile/guisettings.xml
11:39:54 T:5440 NOTICE: Getting hardware information now...
11:39:54 T:5440 NOTICE: Loading player core factory settings from special://xbmc/system/playercorefactory.xml.
11:39:54 T:5440 NOTICE: Loaded playercorefactory configuration
11:39:54 T:5440 NOTICE: Loading player core factory settings from special://masterprofile/playercorefactory.xml.
11:39:54 T:5440 NOTICE: special://masterprofile/playercorefactory.xml does not exist. Skipping.
11:39:54 T:5440 NOTICE: No settings file to load (special://xbmc/system/advancedsettings.xml)
11:39:54 T:5440 NOTICE: Loaded settings file from special://profile/advancedsettings.xml
11:39:54 T:5440 NOTICE: Contents of special://profile/advancedsettings.xml are...
<advancedsettings>
<videolibrary>
<dateadded>0</dateadded>
</videolibrary>
<splash>false</splash>
<alwaysontop>yes</alwaysontop>
<gui>
<algorithmdirtyregions>1</algorithmdirtyregions>
<nofliptimeout>1000</nofliptimeout>
</gui>
<videolibrary>
<backgroundupdate>true</backgroundupdate>
</videolibrary>
<musiclibrary>
<backgroundupdate>true</backgroundupdate>
</musiclibrary>
<tvshowmatching action="prepend">
<regexp>[\._ \-]\[(\d{2,3})\]</regexp>
<regexp>\[[Ss]([0-9]+)\]_\[[Ee]([0-9]+)([^\\/]*)</regexp>
<!-- foo_[s01]_[e01] -->
<regexp>[\._ \-]([0-9]+)x([0-9]+)([^\\/]*)</regexp>
<!-- foo.1x09 -->
<regexp>[\._ \-][Ss]([0-9]+)[\.\-]?[Ee]([0-9]+)([^\\/]*)</regexp>
<!-- foo s01e01, foo.s01.e01, foo.s01-e01 -->
<regexp>[\._ \-]([0-9]+)([0-9][0-9])([\._ \-][^\\/]*)</regexp>
<!-- foo.103 -->
<regexp>[\._ \-]p(?:ar)?t[._ -]()([ivxlcdm]+)([\._ \-][^\\/]*)</regexp>
<!-- Pt.I, Part XIV -->
</tvshowmatching>
</advancedsettings>
11:39:54 T:5440 NOTICE: Getting hardware information now...
11:39:54 T:5440 NOTICE: Default DVD Player: dvdplayer
11:39:54 T:5440 NOTICE: Default Video Player: dvdplayer
11:39:54 T:5440 NOTICE: Default Audio Player: paplayer
11:39:54 T:5440 NOTICE: Disabled debug logging due to GUI setting. Level 0.
11:39:54 T:5440 NOTICE: Log level changed to 0
11:39:54 T:5440 NOTICE: Loading media sources from special://masterprofile/sources.xml
11:39:54 T:1864 NOTICE: Thread CSoftAE start, auto delete: false
11:39:54 T:5440 NOTICE: Running database version Addons15
11:39:54 T:3516 NOTICE: Thread XBMC Peripherals start, auto delete: false
11:39:54 T:4508 NOTICE: Previous line repeats 1 times.
11:39:54 T:4508 NOTICE: Thread CRemoteControl start, auto delete: false
11:39:54 T:5440 NOTICE: Found screen: Default Monitor on NVIDIA GeForce 8600M GT , adapter 0.
11:39:54 T:5440 NOTICE: Primary mode: 1280x800 @ 63.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 640x480 @ 60.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 600x800 @ 60.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 720x480 @ 60.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 720x576 @ 60.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 800x600 @ 60.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 1024x768 @ 60.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 1280x720 @ 60.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 1280x800 @ 60.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 600x800 @ 63.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 640x480 @ 63.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 720x480 @ 63.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 720x576 @ 63.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 800x600 @ 63.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 1024x768 @ 63.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 1280x720 @ 63.00 - Full Screen
11:39:54 T:5440 NOTICE: Additional mode: 1280x800 @ 63.00 - Full Screen
11:39:54 T:5440 NOTICE: Checking resolution 15
11:39:55 T:5440 NOTICE: Running database version Addons15
11:39:55 T:5440 NOTICE: Running database version ViewModes4
11:39:55 T:5440 NOTICE: Running database version Textures13
11:39:55 T:5440 NOTICE: Running database version MyMusic32
11:39:55 T:5440 NOTICE: Running database version MyVideos75
11:39:55 T:5440 NOTICE: Running database version TV22
11:39:55 T:5440 NOTICE: Running database version Epg7
11:39:55 T:5440 NOTICE: initializing playlistplayer
11:39:55 T:5440 NOTICE: DONE initializing playlistplayer
11:39:56 T:5440 ERROR: Couldn't load font name: Font_Reg19(mc360.ttf), trying to substitute arial.ttf
11:40:01 T:436 NOTICE: Thread XBPyThread start, auto delete: false
11:40:02 T:5440 NOTICE: Previous line repeats 3 times.
11:40:02 T:5440 NOTICE: initialize done
11:40:02 T:436 NOTICE: -->Python Interpreter Initialized<--
11:40:02 T:1820 NOTICE: Thread XBPyThread start, auto delete: false
11:40:02 T:5440 NOTICE: Running the application...
11:40:02 T:1068 NOTICE: Thread XBPyThread start, auto delete: false
11:40:02 T:4380 NOTICE: -->Python Interpreter Initialized<--
11:40:02 T:4316 NOTICE: -->Python Interpreter Initialized<--
11:40:02 T:2056 NOTICE: -->Python Interpreter Initialized<--
11:40:02 T:5440 ERROR: unmatched parentheses in IsEmpty(Container(510).ListItem.Property(Year)
11:40:02 T:1820 NOTICE: -->Python Interpreter Initialized<--
11:40:02 T:5440 WARNING: Label Formating: $VAR[value_mainmenubg_fav46] is not defined
11:40:02 T:5440 WARNING: Label Formating: $VAR[value_mainmenubg_fav47] is not defined
11:40:02 T:5440 WARNING: Label Formating: $VAR[value_mainmenubg_fav48] is not defined
11:40:02 T:5440 WARNING: Label Formating: $VAR[value_mainmenubg_fav49] is not defined
11:40:02 T:1068 NOTICE: -->Python Interpreter Initialized<--
11:40:02 T:5440 WARNING: Label Formating: $VAR[value_mainmenubg_fav50] is not defined
11:40:02 T:5440 WARNING: Label Formating: $VAR[value_mainmenubg_fav51] is not defined
11:40:02 T:5440 WARNING: Label Formating: $VAR[value_mainmenubg_fav52] is not defined
11:40:03 T:5440 WARNING: Label Formating: $VAR[value_mainmenubg_fav53] is not defined
11:40:03 T:5440 WARNING: Label Formating: $VAR[value_mainmenubg_fav54] is not defined
11:40:04 T:1820 NOTICE: StorageServer Module loaded RUN
11:40:04 T:1820 NOTICE: StorageClient-2.5.0 Starting server
11:40:04 T:1820 NOTICE: StorageServer-2.5.0 Storage Server starting C:\Documents and Settings\user\Application Data\XBMC\userdata\addon_data\script.common.plugin.cache\commoncache.db
11:40:10 T:5580 NOTICE: Thread Jobworker start, auto delete: true
11:40:10 T:5492 NOTICE: Thread XBPyThread start, auto delete: false
11:40:10 T:5440 NOTICE: Previous line repeats 9 times.
11:40:10 T:5440 NOTICE: ES: Starting event server
11:40:10 T:3336 NOTICE: Thread CEventServer start, auto delete: false
11:40:10 T:3336 NOTICE: ES: Starting UDP Event server on 0.0.0.0:9777
11:40:10 T:1436 NOTICE: Thread CTCPServer start, auto delete: false
11:40:10 T:3336 NOTICE: UDP: Listening on port 9777
11:40:10 T:4380 NOTICE: Artwork Downloader: ## Service - Run at startup: False
11:40:10 T:4380 NOTICE: Artwork Downloader: ## Service - Delayed startup: minutes
11:40:10 T:4380 NOTICE: Artwork Downloader: ## Service - Run as service: False
11:40:10 T:4380 NOTICE: Artwork Downloader: ## Service - Time: :00
11:40:10 T:4464 NOTICE: Thread Jobworker start, auto delete: true
11:40:11 T:5492 NOTICE: -->Python Interpreter Initialized<--
11:40:11 T:6132 NOTICE: -->Python Interpreter Initialized<--
11:40:11 T:2136 NOTICE: -->Python Interpreter Initialized<--
11:40:11 T:4536 NOTICE: -->Python Interpreter Initialized<--
11:40:11 T:6028 NOTICE: -->Python Interpreter Initialized<--
11:40:11 T:1684 NOTICE: -->Python Interpreter Initialized<--
11:40:11 T:4916 NOTICE: -->Python Interpreter Initialized<--
11:40:11 T:4404 NOTICE: -->Python Interpreter Initialized<--
11:40:11 T:4288 NOTICE: -->Python Interpreter Initialized<--
11:40:11 T:5732 NOTICE: -->Python Interpreter Initialized<--
11:40:14 T:4296 NOTICE: Thread Jobworker start, auto delete: true
11:40:33 T:4488 NOTICE: Previous line repeats 1 times.
11:40:33 T:4488 NOTICE: Thread XBPyThread start, auto delete: false
11:40:34 T:4488 NOTICE: -->Python Interpreter Initialized<--
11:40:38 T:5336 NOTICE: Thread XBPyThread start, auto delete: false
11:40:38 T:5336 NOTICE: -->Python Interpreter Initialized<--
11:40:39 T:5940 NOTICE: Thread XBPyThread start, auto delete: false
11:40:39 T:5940 NOTICE: -->Python Interpreter Initialized<--
11:40:40 T:4936 NOTICE: Thread XBPyThread start, auto delete: false
11:40:40 T:4936 NOTICE: -->Python Interpreter Initialized<--
11:40:41 T:5352 NOTICE: Thread XBPyThread start, auto delete: false
11:40:41 T:5352 NOTICE: -->Python Interpreter Initialized<--
11:40:44 T:1464 NOTICE: Thread XBPyThread start, auto delete: false
11:40:45 T:1464 NOTICE: -->Python Interpreter Initialized<--
11:40:50 T:5440 NOTICE: Storing total System Uptime
11:40:50 T:5440 NOTICE: Saving settings
11:40:50 T:5440 NOTICE: stop all
11:40:50 T:5440 NOTICE: ES: Stopping event server
11:40:50 T:5440 NOTICE: stopping zeroconf publishing
11:40:50 T:3336 NOTICE: ES: UDP Event server stopped
11:40:50 T:5440 NOTICE: stop sap announcement listener
11:40:50 T:5440 NOTICE: clean cached files!
11:40:50 T:5440 NOTICE: unload skin
11:40:50 T:436 WARNING: The python script "C:\Documents and Settings\user\Application Data\XBMC\addons\service.skin.widgets\default.py" has left several classes in memory that we couldn't clean up. The classes include: Monitor,Player,Window
11:40:51 T:1820 NOTICE: StorageServer-2.5.0 Closed down
11:40:51 T:5440 NOTICE: stop python
11:40:51 T:5440 NOTICE: stopped
11:40:51 T:5440 NOTICE: destroy
11:40:51 T:5440 NOTICE: closing down remote control service
11:40:51 T:5440 NOTICE: unload sections
11:40:51 T:5440 NOTICE: destroy
11:40:51 T:5440 WARNING: Attempted to remove window 10013 from the window manager when it didn't exist
11:40:51 T:5440 WARNING: Attempted to remove window 10014 from the window manager when it didn't exist
11:40:51 T:5440 WARNING: Attempted to remove window 10015 from the window manager when it didn't exist
11:40:51 T:5440 WARNING: Attempted to remove window 10016 from the window manager when it didn't exist
11:40:51 T:5440 WARNING: Attempted to remove window 10017 from the window manager when it didn't exist
11:40:51 T:5440 WARNING: Attempted to remove window 10018 from the window manager when it didn't exist
11:40:51 T:5440 WARNING: Attempted to remove window 10019 from the window manager when it didn't exist
11:40:51 T:5440 WARNING: Attempted to remove window 10021 from the window manager when it didn't exist
11:40:51 T:5440 WARNING: Attempted to remove window 10107 from the window manager when it didn't exist
11:40:51 T:5440 WARNING: Attempted to remove window 10115 from the window manager when it didn't exist
11:40:51 T:5440 WARNING: Attempted to remove window 10104 from the window manager when it didn't exist
11:40:51 T:5440 NOTICE: closing down remote control service
11:40:51 T:5440 NOTICE: unload sections
11:40:51 T:5440 NOTICE: application stopped...
(2013-06-15, 06:43)denywinarto Wrote: [ -> ]The script no longer crashes but it still won't show recent songs from music playlists...
The script work only for Albums smart playlist.
I had this error (script version v2.1.5):
Quote:10:24:44 T:139752967747328 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.UnicodeEncodeError'>
Error Contents: 'ascii' codec can't encode character u'\u010d' in position 6: ordinal not in range(128)
Traceback (most recent call last):
File "/home/htpc/.xbmc/addons/script.randomandlastitems/randomandlastitems.py", line 744, in <module>
_parse_argv()
File "/home/htpc/.xbmc/addons/script.randomandlastitems/randomandlastitems.py", line 665, in _parse_argv
_getPlaylistType ();
File "/home/htpc/.xbmc/addons/script.randomandlastitems/randomandlastitems.py", line 57, in _getPlaylistType
_setProperty( "%s.Name" % PROPERTY, str( _name ) )
UnicodeEncodeError: 'ascii' codec can't encode character u'\u010d' in position 6: ordinal not in range(128)
-->End of Python script error report<--

I added .encode('utf-8') to the line 55 to make it stop throwing the error:
Code:
_name = _doc.getElementsByTagName('name')[0].firstChild.nodeValue.encode('utf-8')
Thanks for this fix.

GITHUB is updated and a new release will be available soon on repo.
Can someone explain how to use this script? Is there anywhere a new option?
The readme contains just a bunch of variables