summaryrefslogtreecommitdiff
path: root/apps/plugins/searchengine/token.c
diff options
context:
space:
mode:
authorMichiel Van Der Kolk <not.valid@email.address>2005-05-11 00:12:33 +0000
committerMichiel Van Der Kolk <not.valid@email.address>2005-05-11 00:12:33 +0000
commitf34e4ff6a42a003bcfc063896f390dcb94052cde (patch)
tree2678613f7014d9a7d86987e3dab02fdb2c211ad3 /apps/plugins/searchengine/token.c
parentf5eae08361c4b1c9d7c846c7b4b54fabf7467e31 (diff)
downloadrockbox-f34e4ff6a42a003bcfc063896f390dcb94052cde.zip
rockbox-f34e4ff6a42a003bcfc063896f390dcb94052cde.tar.gz
rockbox-f34e4ff6a42a003bcfc063896f390dcb94052cde.tar.bz2
rockbox-f34e4ff6a42a003bcfc063896f390dcb94052cde.tar.xz
Autorating should work now. at least. it would. but there is no runtime data to work with (yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6455 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/searchengine/token.c')
-rw-r--r--apps/plugins/searchengine/token.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/apps/plugins/searchengine/token.c b/apps/plugins/searchengine/token.c
index d8cd640..5950605 100644
--- a/apps/plugins/searchengine/token.c
+++ b/apps/plugins/searchengine/token.c
@@ -57,6 +57,7 @@ char *getstring(struct token *token) {
int getvalue(struct token *token) {
char buf[200];
+ int index,i;
switch(token->kind) {
case TOKEN_NUM:
return token->intvalue;
@@ -72,8 +73,23 @@ int getvalue(struct token *token) {
loadrundbdata();
return currententry->playcount;
case INTVALUE_AUTORATING:
- // todo.
- return 0;
+ if(!dbglobal.gotplaycountlimits) {
+ index=dbglobal.currententryindex;
+ dbglobal.playcountmax=0;
+ dbglobal.playcountmin=0xFFFFFFFF;
+ for(i=0;i<rb->tagdbheader->filecount;i++) {
+ loadentry(i);
+ loadrundbdata();
+ if(currententry->playcount>dbglobal.playcountmax)
+ dbglobal.playcountmax=currententry->playcount;
+ if(currententry->playcount<dbglobal.playcountmin)
+ dbglobal.playcountmin=currententry->playcount;
+ }
+ dbglobal.gotplaycountlimits=1;
+ loadentry(index);
+ }
+ loadrundbdata();
+ return (currententry->playcount-dbglobal.playcountmin)*10/(dbglobal.playcountmax-dbglobal.playcountmin);
default:
rb->snprintf(buf,199,"unknown numid intvalue %d",token->intvalue);
rb->splash(HZ*2,true,buf);