hey again, wondering if i can get some help of someone in the know.
im trying to update the rating system so it doesnt write it to file tags & just reads to & from the Playback stats database.
i tried a script from this thread for this but it only semi works, it appears to write to file when you first click a star/rating then when you re-rate it (ie from 5 to 4) it unwrites the tag& reads the database, but then if i go to re-rate again it goes back to writing to tag & continiues to follow this behaviour.
heres the script that i currently have on it:
// Background
$drawrect(0,0,%_width%,%_height%,brushcolor-035-035-040 pencolor-null)
// Global
$puts(config_name,'curacao')
$puts(foo_path,'./')
// PerTrack
// ----------------------------
// .deb --- Rating System
// ----------------------------
// --------------------------------------------
// drawing RATING info
// --------------------------------------------
$if($stricmp('FOO_LASTFM',$left(%path%,10)),
$puts(rate.x,2)
$puts(rate.y,$sub(%_height%,70))
$imageabs2(0,0,0,0,0,0,$get(rate.x),$get(rate.y),$get(foo_path)'images/'$get(config_name)'/rating/set2/r0.png',alpha-128)
,
$puts(aa-fp,$year(%first_played%))
$puts(mm-fp,$month(%first_played%))
$puts(jj-fp,$day_of_month(%first_played%))
$puts(aa-lp,$year(%last_played%))
$puts(mm-lp,$month(%last_played%))
$puts(jj-lp,$day_of_month(%last_played%))
$ifgreater(%rating%,0,
$puts(rating,$if2($meta(rating),0))
$puts(no.set,1)
,
$ifgreater($get(aa-lp),$get(aa-fp),
$ifgreater($get(mm-lp),$get(mm-fp),
$puts(nb.aa,$sub($get(aa-lp),$get(aa-fp)))
$puts(nb.mm,$sub($get(mm-lp),$get(mm-fp)))
$ifgreater($get(jj-lp),$get(jj-fp),
$puts(nb.jj,$sub($get(jj-lp),$get(jj-fp)))
,
$puts(nb.mm,$sub($get(nb.mm),1))
$puts(nb.jj,$add($sub(30,$get(jj-fp)),$get(jj-lp)))
)
,
$puts(nb.aa,$sub($sub($get(aa-lp),$get(aa-fp)),1))
$puts(nb.mm,$add($sub(12,$get(mm-fp)),$get(mm-lp)))
$ifgreater($get(jj-lp),$get(jj-fp),
$puts(nb.jj,$sub($get(jj-lp),$get(jj-fp)))
,
$puts(nb.mm,$sub($get(nb.mm),1))
$puts(nb.jj,$add($sub(30,$get(jj-fp)),$get(jj-lp)))
)
)
,
$puts(nb.aa,0)
$ifgreater($get(mm-lp),$get(mm-fp),
$puts(nb.mm,$sub($get(mm-lp),$get(mm-fp)))
,
$puts(nb.mm,0)
)
$ifgreater($get(jj-lp),$get(jj-fp),
$puts(nb.jj,$sub($get(jj-lp),$get(jj-fp)))
,
$puts(nb.jj,0)
)
)
$puts(autorate.add,2)
$puts(autorate.nbdays.sub,30)
$puts(daterange, $add( $add($mul(365,$get(nb.aa)),$mul(30,$get(nb.mm))),$get(nb.jj)) )
$puts(fix,$div($get(daterange),$get(autorate.nbdays.sub)))
$if(%play_counter%,$puts(rating,$div(%play_counter%,$get(autorate.add))),$puts(rating,0))
$puts(rating,$sub($get(rating),$get(fix)))
$if($greater($get(rating),5),$puts(rating,5))
$if($greater(0,$get(rating)),$puts(rating,0))
$puts(no.set,3)
)
$ifgreater(%rating%,0,
$puts(rate.x,2)
$puts(rate.y,$sub(%_height%,70))
$imageabs2(0,0,0,0,0,0,$get(rate.x),$get(rate.y),$get(foo_path)'/images/'$get(config_name)'/rating/set2/r0.png',alpha-128)
$if(%_isplaying%,
$ifequal($get(rating),5,
$button($get(rate.x),$get(rate.y),0,0,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r5x.png',<not set>,TOOLTIP:"Reset")
,
$button($get(rate.x),$get(rate.y),0,0,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r5.png',5,TOOLTIP:"Average")
)
$ifequal($get(rating),4,
$button($get(rate.x),$get(rate.y),0,14,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r4x.png',<not set>,TOOLTIP:"Reset")
,
$button($get(rate.x),$get(rate.y),0,14,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r4.png',4,TOOLTIP:"Good")
)
$ifequal($get(rating),3,
$button($get(rate.x),$get(rate.y),0,28,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r3x.png',<not set>,TOOLTIP:"Reset")
,
$button($get(rate.x),$get(rate.y),0,28,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r3.png',3,TOOLTIP:"Very Good")
)
$ifequal($get(rating),2,
$button($get(rate.x),$get(rate.y),0,42,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r2x.png',<not set>,TOOLTIP:"Reset")
,
$button($get(rate.x),$get(rate.y),0,42,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r2.png',2,TOOLTIP:"Excellent")
)
$ifequal($get(rating),1,
$button($get(rate.x),$get(rate.y),0,56,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r1x.png',<not set>,TOOLTIP:"Reset")
,
$button($get(rate.x),$get(rate.y),0,56,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r1.png',1,TOOLTIP:"MegaHit")
)
)
,
$puts(rate.x,2)
$puts(rate.y,$sub(%_height%,70))
$if(%isplaying%,
$button($get(rate.x),$get(rate.y),0,0,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/_r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r5.png',5,TOOLTIP:"Average")
$button($get(rate.x),$get(rate.y),0,14,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/_r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r4.png',4,TOOLTIP:"Good")
$button($get(rate.x),$get(rate.y),0,28,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/_r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r3.png',3,TOOLTIP:"Very Good")
$button($get(rate.x),$get(rate.y),0,42,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/_r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r2.png',2,TOOLTIP:"Excellent")
$button($get(rate.x),$get(rate.y),0,56,13,14,$get(foo_path)'images/'$get(config_name)'/rating/set2/_r'$get(rating)'.png',$get(foo_path)'images/'$get(config_name)'/rating/set2/r1.png',1,TOOLTIP:"MegaHit")
,
$imageabs2(0,0,0,0,0,0,$get(rate.x),$get(rate.y),$get(foo_path)'images/'$get(config_name)'/rating/set2/_r0.png',alpha-255)
)
)
)
// ----------------------------
// .fin --- Rating System
//
// MOOD TAG SET/UNSET to feed automatically auto-playlist for my portable device
$puts(x,1)
$puts(y,$sub(%_height%,86))
$if($stricmp('FOO_LASTFM',$left(%path%,10)),
$imageabs2(14,14,0,0,0,0,$get(x),$get(y),$get(foo_path)'images/'$get(config_name)'/bt/mood_off.png',nokeepaspect)
,
$ifgreater(%MOOD%,0,
$button($get(x),$get(y),0,0,14,14,$get(foo_path)'images/'$get(config_name)'/bt/mood_on.png',$get(foo_path)'images/'$get(config_name)'/bt/mood_off.png',TAG:SET:MOOD:0,TOOLTIP:"Unset")
,
$button($get(x),$get(y),0,0,14,14,$get(foo_path)'images/'$get(config_name)'/bt/mood_off.png',$get(foo_path)'images/'$get(config_name)'/bt/mood_on.png',TAG:SET:MOOD:1,TOOLTIP:"Set")
)
)
// SKIP TAG SET/UNSET to skip unwanted tracks using the 'Skip Track' (foo_skip.dll) plugin
$puts(x,1)
$puts(y,$sub(%_height%,102))
$if($stricmp('FOO_LASTFM',$left(%path%,10)),
$imageabs2(14,14,0,0,0,0,$get(x),$get(y),$get(foo_path)'images/'$get(config_name)'/bt/skip_off.png',nokeepaspect)
,
$ifgreater(%SKIP%,0,
$button($get(x),$get(y),0,0,14,14,$get(foo_path)'images/'$get(config_name)'/bt/skip_on.png',$get(foo_path)'images/'$get(config_name)'/bt/skip_off.png',TAG:SET:SKIP:0,TOOLTIP:"Unset")
,
$button($get(x),$get(y),0,0,14,14,$get(foo_path)'images/'$get(config_name)'/bt/skip_off.png',$get(foo_path)'images/'$get(config_name)'/bt/skip_on.png',TAG:SET:SKIP:1,TOOLTIP:"Set")
)
)
if anyone can help it will be greatly appreciated