diff options
| author | Michiel Van Der Kolk <not.valid@email.address> | 2005-05-11 00:12:33 +0000 |
|---|---|---|
| committer | Michiel Van Der Kolk <not.valid@email.address> | 2005-05-11 00:12:33 +0000 |
| commit | f34e4ff6a42a003bcfc063896f390dcb94052cde (patch) | |
| tree | 2678613f7014d9a7d86987e3dab02fdb2c211ad3 /apps/plugins/searchengine/token.c | |
| parent | f5eae08361c4b1c9d7c846c7b4b54fabf7467e31 (diff) | |
| download | rockbox-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.c | 20 |
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); |