diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/recorder/recording.c | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c index c2f2462a5c..b92c2506b5 100644 --- a/apps/recorder/recording.c +++ b/apps/recorder/recording.c | |||
@@ -231,13 +231,22 @@ bool recording_screen(void) | |||
231 | mpeg_record(rec_create_filename(path_buffer)); | 231 | mpeg_record(rec_create_filename(path_buffer)); |
232 | status_set_playmode(STATUS_RECORD); | 232 | status_set_playmode(STATUS_RECORD); |
233 | update_countdown = 1; /* Update immediately */ | 233 | update_countdown = 1; /* Update immediately */ |
234 | last_seconds = 0; | ||
234 | } | 235 | } |
235 | else | 236 | else |
236 | { | 237 | { |
237 | mpeg_new_file(rec_create_filename(path_buffer)); | 238 | if(mpeg_status() & MPEG_STATUS_PAUSE) |
239 | { | ||
240 | mpeg_resume_recording(); | ||
241 | status_set_playmode(STATUS_RECORD); | ||
242 | } | ||
243 | else | ||
244 | { | ||
245 | mpeg_pause_recording(); | ||
246 | status_set_playmode(STATUS_PAUSE); | ||
247 | } | ||
238 | update_countdown = 1; /* Update immediately */ | 248 | update_countdown = 1; /* Update immediately */ |
239 | } | 249 | } |
240 | last_seconds = 0; | ||
241 | break; | 250 | break; |
242 | 251 | ||
243 | case BUTTON_UP: | 252 | case BUTTON_UP: |
@@ -373,15 +382,23 @@ bool recording_screen(void) | |||
373 | break; | 382 | break; |
374 | 383 | ||
375 | case BUTTON_F3: | 384 | case BUTTON_F3: |
376 | if(mpeg_status() != MPEG_STATUS_RECORD) | 385 | if(mpeg_status() & MPEG_STATUS_RECORD) |
377 | { | 386 | { |
378 | if (f3_rec_screen()) | 387 | mpeg_new_file(rec_create_filename(path_buffer)); |
388 | last_seconds = 0; | ||
389 | } | ||
390 | else | ||
391 | { | ||
392 | if(mpeg_status() != MPEG_STATUS_RECORD) | ||
379 | { | 393 | { |
380 | have_recorded = true; | 394 | if (f3_rec_screen()) |
381 | done = true; | 395 | { |
396 | have_recorded = true; | ||
397 | done = true; | ||
398 | } | ||
399 | else | ||
400 | update_countdown = 1; /* Update immediately */ | ||
382 | } | 401 | } |
383 | else | ||
384 | update_countdown = 1; /* Update immediately */ | ||
385 | } | 402 | } |
386 | break; | 403 | break; |
387 | 404 | ||
@@ -436,8 +453,9 @@ bool recording_screen(void) | |||
436 | is active */ | 453 | is active */ |
437 | if (global_settings.rec_timesplit) | 454 | if (global_settings.rec_timesplit) |
438 | { | 455 | { |
439 | /* Display the record timesplit interval rather than | 456 | /* Display the record timesplit interval rather |
440 | the file size if the record timer is active */ | 457 | than the file size if the record timer is |
458 | active */ | ||
441 | dhours = dseconds / 3600; | 459 | dhours = dseconds / 3600; |
442 | dminutes = (dseconds - (dhours * 3600)) / 60; | 460 | dminutes = (dseconds - (dhours * 3600)) / 60; |
443 | snprintf(buf, 32, "%s %02d:%02d", | 461 | snprintf(buf, 32, "%s %02d:%02d", |
@@ -445,8 +463,10 @@ bool recording_screen(void) | |||
445 | dhours, dminutes); | 463 | dhours, dminutes); |
446 | } | 464 | } |
447 | else | 465 | else |
448 | snprintf(buf, 32, "%s %s", str(LANG_RECORDING_SIZE), | 466 | snprintf(buf, 32, "%s %s", |
449 | num2max5(mpeg_num_recorded_bytes(), buf2)); | 467 | str(LANG_RECORDING_SIZE), |
468 | num2max5(mpeg_num_recorded_bytes(), | ||
469 | buf2)); | ||
450 | } | 470 | } |
451 | lcd_puts(0, 1, buf); | 471 | lcd_puts(0, 1, buf); |
452 | 472 | ||