summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/database.c3
-rw-r--r--apps/lang/english.lang12
-rw-r--r--apps/onplay.c3
-rw-r--r--apps/screens.c50
-rw-r--r--apps/screens.h1
5 files changed, 69 insertions, 0 deletions
diff --git a/apps/database.c b/apps/database.c
index 0d0caebdc2..0e2a53b317 100644
--- a/apps/database.c
+++ b/apps/database.c
@@ -382,6 +382,7 @@ int rundb_init(void)
382 audio_set_track_buffer_event(&rundb_buffer_track); 382 audio_set_track_buffer_event(&rundb_buffer_track);
383 audio_set_track_changed_event(&rundb_track_change); 383 audio_set_track_changed_event(&rundb_track_change);
384 audio_set_track_unbuffer_event(&rundb_unbuffer_track); 384 audio_set_track_unbuffer_event(&rundb_unbuffer_track);
385 logf("rundb inited.");
385#endif 386#endif
386 rundbsize=lseek(rundb_fd,0,SEEK_END); 387 rundbsize=lseek(rundb_fd,0,SEEK_END);
387 return 0; 388 return 0;
@@ -451,6 +452,7 @@ void writerundbentry(struct mp3entry *id)
451} 452}
452 453
453void writeruntimeinfo(struct mp3entry *id) { 454void writeruntimeinfo(struct mp3entry *id) {
455 logf("rundb write");
454 if(!id->rundbhash) 456 if(!id->rundbhash)
455 addrundbentry(id); 457 addrundbentry(id);
456 else 458 else
@@ -474,6 +476,7 @@ void clearruntimeinfo(struct mp3entry *id) {
474 476
475void loadruntimeinfo(struct mp3entry *id) 477void loadruntimeinfo(struct mp3entry *id)
476{ 478{
479 logf("rundb load");
477 clearruntimeinfo(id); 480 clearruntimeinfo(id);
478 clearfileentryinfo(id); 481 clearfileentryinfo(id);
479 if(!getfentrybyfilename(id)) { 482 if(!getfentrybyfilename(id)) {
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index fb0da889cd..b7c829f4b8 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -3154,3 +3154,15 @@ desc: in settings_menu.
3154eng: "Gather runtime data (experimental)" 3154eng: "Gather runtime data (experimental)"
3155voice: "Gather runtime data" 3155voice: "Gather runtime data"
3156new: 3156new:
3157
3158id: LANG_MENU_SET_RATING
3159desc: in wps context menu
3160eng: "Set song rating"
3161voice: "Set song rating"
3162new:
3163
3164id: LANG_RATING
3165desc: in set_rating
3166eng: "Rating:"
3167voice "Rating"
3168new:
diff --git a/apps/onplay.c b/apps/onplay.c
index d1b5285faa..af35824c1e 100644
--- a/apps/onplay.c
+++ b/apps/onplay.c
@@ -556,6 +556,9 @@ int onplay(char* file, int attr, int from)
556 items[i].desc = ID2P(LANG_MENU_SHOW_ID3_INFO); 556 items[i].desc = ID2P(LANG_MENU_SHOW_ID3_INFO);
557 items[i].function = browse_id3; 557 items[i].function = browse_id3;
558 i++; 558 i++;
559 items[i].desc = ID2P(LANG_MENU_SET_RATING);
560 items[i].function = set_rating;
561 i++;
559 } 562 }
560 563
561#ifdef HAVE_MULTIVOLUME 564#ifdef HAVE_MULTIVOLUME
diff --git a/apps/screens.c b/apps/screens.c
index 19caf96cc9..e188d341d8 100644
--- a/apps/screens.c
+++ b/apps/screens.c
@@ -1417,3 +1417,53 @@ bool browse_id3(void)
1417 return false; 1417 return false;
1418} 1418}
1419 1419
1420bool set_rating(void)
1421{
1422 struct mp3entry* id3 = audio_current_track();
1423 int button;
1424 bool exit = false;
1425 char rating_text[20];
1426
1427 if (!(audio_status() & AUDIO_STATUS_PLAY))
1428 return false;
1429 while (!exit)
1430 {
1431 lcd_clear_display();
1432 lcd_puts(0, 0, str(LANG_RATING));
1433 snprintf(rating_text,sizeof(rating_text),"%d",id3->rating);
1434 lcd_puts(0,1,rating_text);
1435 lcd_update();
1436 button = button_get(true);
1437
1438 switch(button)
1439 {
1440 case SETTINGS_DEC:
1441 if (id3->rating > 0)
1442 id3->rating--;
1443 else
1444 id3->rating = 10;
1445 break;
1446
1447 case SETTINGS_INC:
1448 if (id3->rating < 10)
1449 id3->rating++;
1450 else
1451 id3->rating = 0;
1452 break;
1453 case SETTINGS_CANCEL:
1454#ifdef SETTINGS_OK2
1455 case SETTINGS_OK2:
1456#endif
1457 /* eat release event */
1458 button_get(true);
1459 exit = true;
1460 break;
1461
1462 default:
1463 if(default_event_handler(button) == SYS_USB_CONNECTED)
1464 return true;
1465 break;
1466 }
1467 }
1468 return false;
1469}
diff --git a/apps/screens.h b/apps/screens.h
index 8648f4fb50..7a1b3f32bb 100644
--- a/apps/screens.h
+++ b/apps/screens.h
@@ -55,6 +55,7 @@ bool set_time_screen(const char* string, struct tm *tm);
55 55
56bool shutdown_screen(void); 56bool shutdown_screen(void);
57bool browse_id3(void); 57bool browse_id3(void);
58bool set_rating(void);
58 59
59#endif 60#endif
60 61