diff options
author | Björn Stenberg <bjorn@haxx.se> | 2005-01-20 16:24:26 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2005-01-20 16:24:26 +0000 |
commit | 30d8f6192ff8217afb7d9bf0722dfd2c66a4d599 (patch) | |
tree | 8ec22be7b19a98d74ac7d6ea3f77db106d6b46dd /apps/tree.c | |
parent | be7452d31eee7d2cc78c371d0dca885167922e44 (diff) | |
download | rockbox-30d8f6192ff8217afb7d9bf0722dfd2c66a4d599.tar.gz rockbox-30d8f6192ff8217afb7d9bf0722dfd2c66a4d599.zip |
Added music playing from ID3 browser.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5616 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/tree.c')
-rw-r--r-- | apps/tree.c | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/apps/tree.c b/apps/tree.c index d0f4ab9d68..0809ecbfae 100644 --- a/apps/tree.c +++ b/apps/tree.c | |||
@@ -365,7 +365,7 @@ static int showdir(void) | |||
365 | int attr = 0; | 365 | int attr = 0; |
366 | 366 | ||
367 | if (id3db) { | 367 | if (id3db) { |
368 | name = ((char**)tc.dircache)[i * 2]; | 368 | name = ((char**)tc.dircache)[i * tc.dentry_size]; |
369 | icon = db_get_icon(&tc); | 369 | icon = db_get_icon(&tc); |
370 | } | 370 | } |
371 | else { | 371 | else { |
@@ -717,23 +717,23 @@ static bool dirbrowse(void) | |||
717 | break; | 717 | break; |
718 | 718 | ||
719 | if (id3db) | 719 | if (id3db) |
720 | db_enter(&tc); | 720 | i = db_enter(&tc); |
721 | else { | 721 | else |
722 | switch (ft_enter(&tc)) | 722 | i = ft_enter(&tc); |
723 | { | 723 | |
724 | case 1: reload_dir = true; break; | 724 | switch (i) |
725 | case 2: reload_root = true; break; | 725 | { |
726 | case 3: start_wps = true; break; | 726 | case 1: reload_dir = true; break; |
727 | case 4: exit_func = true; break; | 727 | case 2: reload_root = true; break; |
728 | default: break; | 728 | case 3: start_wps = true; break; |
729 | } | 729 | case 4: exit_func = true; break; |
730 | default: break; | ||
731 | } | ||
730 | 732 | ||
731 | #ifdef HAVE_LCD_BITMAP | 733 | #ifdef HAVE_LCD_BITMAP |
732 | /* maybe we have a new font */ | 734 | /* maybe we have a new font */ |
733 | tree_max_on_screen = recalc_screen_height(); | 735 | tree_max_on_screen = recalc_screen_height(); |
734 | #endif | 736 | #endif |
735 | } | ||
736 | |||
737 | /* make sure cursor is on screen */ | 737 | /* make sure cursor is on screen */ |
738 | while ( tc.dircursor > tree_max_on_screen ) | 738 | while ( tc.dircursor > tree_max_on_screen ) |
739 | { | 739 | { |
@@ -1013,6 +1013,7 @@ static bool dirbrowse(void) | |||
1013 | #endif | 1013 | #endif |
1014 | { | 1014 | { |
1015 | int onplay_result; | 1015 | int onplay_result; |
1016 | int attr = 0; | ||
1016 | 1017 | ||
1017 | if(!numentries) | 1018 | if(!numentries) |
1018 | onplay_result = onplay(NULL, 0); | 1019 | onplay_result = onplay(NULL, 0); |
@@ -1023,8 +1024,9 @@ static bool dirbrowse(void) | |||
1023 | else | 1024 | else |
1024 | snprintf(buf, sizeof buf, "/%s", | 1025 | snprintf(buf, sizeof buf, "/%s", |
1025 | dircache[tc.dircursor+tc.dirstart].name); | 1026 | dircache[tc.dircursor+tc.dirstart].name); |
1026 | onplay_result = onplay(buf, | 1027 | if (!id3db) |
1027 | dircache[tc.dircursor+tc.dirstart].attr); | 1028 | attr = dircache[tc.dircursor+tc.dirstart].attr; |
1029 | onplay_result = onplay(buf, attr); | ||
1028 | } | 1030 | } |
1029 | 1031 | ||
1030 | switch (onplay_result) | 1032 | switch (onplay_result) |
@@ -1166,7 +1168,7 @@ static bool dirbrowse(void) | |||
1166 | int attr = 0; | 1168 | int attr = 0; |
1167 | 1169 | ||
1168 | if (id3db) | 1170 | if (id3db) |
1169 | name = ((char**)tc.dircache)[lasti * 2]; | 1171 | name = ((char**)tc.dircache)[lasti * tc.dentry_size]; |
1170 | else { | 1172 | else { |
1171 | struct entry* dc = tc.dircache; | 1173 | struct entry* dc = tc.dircache; |
1172 | struct entry* e = &dc[lasti]; | 1174 | struct entry* e = &dc[lasti]; |
@@ -1186,7 +1188,7 @@ static bool dirbrowse(void) | |||
1186 | thumbnail_time = -1; /* cancel whatever we were about to say */ | 1188 | thumbnail_time = -1; /* cancel whatever we were about to say */ |
1187 | 1189 | ||
1188 | if (id3db) | 1190 | if (id3db) |
1189 | name = ((char**)tc.dircache)[lasti * 2]; | 1191 | name = ((char**)tc.dircache)[lasti * tc.dentry_size]; |
1190 | else { | 1192 | else { |
1191 | struct entry* dc = tc.dircache; | 1193 | struct entry* dc = tc.dircache; |
1192 | struct entry* e = &dc[lasti]; | 1194 | struct entry* e = &dc[lasti]; |