You would have to setup each directory of images similarly, but something like this should work if images are named, for example, cover1.jpg, cover2.jpg, and cover3.jpg, rotated every 30 seconds. The downfall is this has to be in a // PerSecond section so the art is redrawn every second. Understandably CPU usage is a little higher than normal due to this. Also, this code will skip cycles if you skip through the song using the seekbar as it relies on 30 second intervals in playback time.
// Global
// Background
// PerTrack
// PerSecond
// if art.num does not exist, set it to 1
$if($getpvar(art.num),,$setpvar(art.num,1))
// when a new song starts, reset art.num to 1
$ifequal(%playback_time_seconds%,0,$setpvar(art.num,1),)
// add 1 to art.num every 30 seconds
$ifequal($mod($sub(%playback_time_seconds%,1),30),29,
$setpvar(art.num,$add($getpvar(art.num),1))
,)
// if track is playing, cycle art
$if(%isplaying%,
$if($fileexists($replace(%path%,%filename_ext%,'cover'$getpvar(art.num)'.jpg')),
$imageabs2(100,100,,,,,10,10,$replace(%path%,%filename_ext%,'cover'$getpvar(art.num)'.jpg'),nokeepaspect)
,
// if cover(art.num).jpg does not exist, assume restart the cycle and reset art.num to 1
$setpvar(art.num,1)
// imageabs2 tag immediately after reset art.num to avoid 1 second gap with no art displayed
$imageabs2(100,100,,,,,10,10,$replace(%path%,%filename_ext%,'cover'$getpvar(art.num)'.jpg'),nokeepaspect)
)
,
// if track is not playing, display a default image, or cover1.jpg, etc.
$imageabs2(100,100,,,,,10,10,'/images\default.jpg',nokeepaspect)
)
// monitor value of art.num for debug
$align(left,bottom)$font(Calibri,10,,255-255-255)' '$getpvar(art.num)