summaryrefslogtreecommitdiff
path: root/apps/recorder/recording.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/recorder/recording.c')
-rw-r--r--apps/recorder/recording.c47
1 files changed, 3 insertions, 44 deletions
diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c
index ea71538..3fcf97b 100644
--- a/apps/recorder/recording.c
+++ b/apps/recorder/recording.c
@@ -164,56 +164,15 @@ void adjust_cursor(void)
char *rec_create_filename(char *buffer)
{
- int fpos;
-
if(global_settings.rec_directory)
getcwd(buffer, MAX_PATH);
else
strncpy(buffer, rec_base_directory, MAX_PATH);
- fpos = strlen(buffer);
-#ifdef HAVE_RTC
- {
- struct tm *tm = get_time();
-
- /* Append filename to path: RYYMMDD-HH.MM.SS.mp3 */
- snprintf(&buffer[fpos], MAX_PATH-fpos,
- "/R%02d%02d%02d-%02d%02d%02d.mp3",
- tm->tm_year%100, tm->tm_mon+1, tm->tm_mday,
- tm->tm_hour, tm->tm_min, tm->tm_sec);
- }
+#ifdef HAVE_RTC
+ create_datetime_filename(buffer, buffer, "R", ".mp3");
#else
- {
- DIR* dir;
- int max_rec_file = 1; /* default to rec_0001.mp3 */
- dir = opendir(buffer);
- if (dir) /* found */
- {
- /* Search for the highest recording filename present,
- increment behind that. So even with "holes"
- (deleted recordings), the newest will always have the
- highest number. */
- while(true)
- {
- struct dirent* entry;
- int curr_rec_file;
- /* walk through the directory content */
- entry = readdir(dir);
- if (!entry)
- {
- closedir(dir);
- break; /* end of dir */
- }
- if (strncasecmp(entry->d_name, "rec_", 4))
- continue; /* no recording file */
- curr_rec_file = atoi(&entry->d_name[4]);
- if (curr_rec_file >= max_rec_file)
- max_rec_file = curr_rec_file + 1;
- }
- }
- snprintf(&buffer[fpos], MAX_PATH-fpos,
- "/rec_%04d.mp3", max_rec_file);
- }
+ create_numbered_filename(buffer, buffer, "rec_", ".mp3", 4);
#endif
return buffer;
}