From f34e4ff6a42a003bcfc063896f390dcb94052cde Mon Sep 17 00:00:00 2001 From: Michiel Van Der Kolk Date: Wed, 11 May 2005 00:12:33 +0000 Subject: 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 --- apps/plugins/searchengine/token.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'apps/plugins/searchengine/token.c') 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;itagdbheader->filecount;i++) { + loadentry(i); + loadrundbdata(); + if(currententry->playcount>dbglobal.playcountmax) + dbglobal.playcountmax=currententry->playcount; + if(currententry->playcountplaycount; + } + 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); -- cgit v1.1