1About SmartPlaylist-Support 2=========================== 3 4GNUpod can read and write SmartPlaylists. 5Please note that this feature isn't supported 6for iPods running Firmware 1.x 7(Because GNUpod can only do 'liveupdates' at the moment..) 8 9Use the <regex.. stuff if you own a 1.x iPod. 10 11Smartplaylists are powerful but creating them is somewhat ugly. 12 13An example for a SmartPlaylist: 14 15 <smartplaylist checkrule="both" limititem="song" limitsort="random" limitval="55" liveupdate="1" name="Example SPL1" > 16 <spl action="gt" field="bitrate" string="189" /> 17 </smartplaylist> 18 19This Playlist includes 55 songs (limitval/limititem) sort by random (limitsort) 20with a Bitrate > 189 (<spl field) 21 22Please note that you have to set liveupdate="1" or the Playlist will be empty :) 23[Because GNUpod can only do liveupdates atm..] 24 25 26It's a bit complicated, maybe you should have a look at 27http://blinkenlights.ch/gnupod/mkspl.html 28 [or doc/mkspl.html] 29You can use Mozilla (needs JS & DOM) to create 30SmartPlaylists via Klickibunti interface ;) 31 32 33 34##### SMARTPLAYLIST 35CHECKRULE: 36 limit (Only match <smartplaylist ... stuff, don't watch <spl.. entries) 37 spl (Only match <spl entries, don't limit or sort) 38 both (Match both items) 39 40LIMITITEM: 41 minute 42 megabyte 43 song 44 hour 45 gigabyte 46 47LIMITSORT: 48 random 49 title 50 album 51 artist 52 genre 53 addtime_high 54 addtime_low 55 playcount_high 56 playcount_low 57 lastplay_high 58 lastplay_low 59 rating_high 60 rating_low 61 62##### SPL 63FIELD for use with action IS/CONTAINS/STARTWITH/ENDWITH (use NOT_ for 'not' -> 'NOT_IS' [STRINGS] 64 TITLE 65 ALBUM 66 ARTIST 67 GENRE 68 FDESC 69 COMMENT 70 COMPOSER 71 GROUP 72 73FIELD for use with action eq/gt/lt/range (Use ! for 'not' -> '!eq') [NUM] 74 bitrate 75 srate 76 year 77 changetime (MAC TIMESTAMP!) 78 tracknum 79 size 80 time 81 addtime (MAC TIMESTAMP!) 82 playcount 83 lastplay (MAC TIMESTAMP!) 84 cdnum 85 rating (20 = 1 star / 60 = 3 starts ...-> STARTS*20 = Value) 86 compilation (0 or 1) 87 bpm 88 89There is also a 'within' field for use with 90 changetime 91 addtime 92 lastplay 93 94 The 'value' of a within field needs a suffix: _day / _week / _month 95 So you could write 96 <spl action="within" field="lastplay" value="2_month"/> 97 to add all songs played within the last 2 months. 98 You could also use a ! to invert the result: (=NOT within) 99 <spl action="!within" field="lastplay" value="2_month"/> 100