summaryrefslogtreecommitdiff
path: root/apps/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/tree.c')
-rw-r--r--apps/tree.c50
1 files changed, 16 insertions, 34 deletions
diff --git a/apps/tree.c b/apps/tree.c
index 54f3b8997c..603500cef4 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -1049,57 +1049,39 @@ static void say_filetype(int attr)
1049 1049
1050static int ft_play_dirname(char* name) 1050static int ft_play_dirname(char* name)
1051{ 1051{
1052 char dirname_mp3_filename[MAX_PATH+1];
1053
1054#if CONFIG_CODEC != SWCODEC 1052#if CONFIG_CODEC != SWCODEC
1055 if (audio_status() & AUDIO_STATUS_PLAY) 1053 if (audio_status() & AUDIO_STATUS_PLAY)
1056 return 0; 1054 return 0;
1057#endif 1055#endif
1058 1056
1059 snprintf(dirname_mp3_filename, sizeof(dirname_mp3_filename), "%s/%s/%s", 1057 if(talk_file(tc.currdir, name, dir_thumbnail_name, NULL,
1060 tc.currdir[1] ? tc.currdir : "" , name, 1058 NULL, false))
1061 dir_thumbnail_name);
1062
1063 DEBUGF("Checking for %s\n", dirname_mp3_filename);
1064
1065 if (!file_exists(dirname_mp3_filename))
1066 { 1059 {
1067 DEBUGF("Failed to find: %s\n", dirname_mp3_filename); 1060 if(global_settings.talk_filetype)
1068 return -1; 1061 talk_id(VOICE_DIR, true);
1062 return 1;
1069 } 1063 }
1070 1064 else
1071 DEBUGF("Found: %s\n", dirname_mp3_filename); 1065 return -1;
1072
1073 talk_file(dirname_mp3_filename, false);
1074 if(global_settings.talk_filetype)
1075 talk_id(VOICE_DIR, true);
1076 return 1;
1077} 1066}
1078 1067
1079static void ft_play_filename(char *dir, char *file) 1068static void ft_play_filename(char *dir, char *file)
1080{ 1069{
1081 char name_mp3_filename[MAX_PATH+1];
1082
1083#if CONFIG_CODEC != SWCODEC 1070#if CONFIG_CODEC != SWCODEC
1084 if (audio_status() & AUDIO_STATUS_PLAY) 1071 if (audio_status() & AUDIO_STATUS_PLAY)
1085 return; 1072 return;
1086#endif 1073#endif
1087 1074
1088 if (strcasecmp(&file[strlen(file) - strlen(file_thumbnail_ext)], 1075 if (strlen(file) > strlen(file_thumbnail_ext)
1089 file_thumbnail_ext)) 1076 && strcasecmp(&file[strlen(file) - strlen(file_thumbnail_ext)],
1090 { /* file has no .talk extension */ 1077 file_thumbnail_ext))
1091 snprintf(name_mp3_filename, sizeof(name_mp3_filename), 1078 /* file has no .talk extension */
1092 "%s/%s%s", dir, file, file_thumbnail_ext); 1079 talk_file(dir, NULL, file, file_thumbnail_ext,
1093 1080 NULL, false);
1094 talk_file(name_mp3_filename, false);
1095 }
1096 else 1081 else
1097 { /* it already is a .talk file, play this directly */ 1082 /* it already is a .talk file, play this directly, but prefix it. */
1098 snprintf(name_mp3_filename, sizeof(name_mp3_filename), 1083 talk_file(dir, NULL, file, NULL,
1099 "%s/%s", dir, file); 1084 TALK_IDARRAY(LANG_VOICE_DIR_HOVER), false);
1100 talk_id(LANG_VOICE_DIR_HOVER, false); /* prefix it */
1101 talk_file(name_mp3_filename, true);
1102 }
1103} 1085}
1104 1086
1105/* These two functions are called by the USB and shutdown handlers */ 1087/* These two functions are called by the USB and shutdown handlers */