From a3524029bf3681fccd8b221a24849794f30bd26d Mon Sep 17 00:00:00 2001 From: Peter D'Hoye Date: Thu, 15 May 2008 22:47:07 +0000 Subject: Accept FS #8994: add another recording filesplit option: stop recording and shutdown git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17531 a1c6a512-1295-4272-9138-f99709370657 --- apps/recorder/recording.c | 16 +++++++++++++++- apps/recorder/recording.h | 3 ++- 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'apps/recorder') diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c index 6a2b9257d4..715a06d823 100644 --- a/apps/recorder/recording.c +++ b/apps/recorder/recording.c @@ -25,6 +25,7 @@ #include "system.h" #include "power.h" +#include "powermgmt.h" #include "lcd.h" #include "led.h" #include "mpeg.h" @@ -717,6 +718,12 @@ void rec_command(enum recording_command cmd) { switch(cmd) { + case RECORDING_CMD_STOP_SHUTDOWN: + pm_activate_clipcount(false); + audio_stop_recording(); + audio_close_recording(); + sys_poweroff(); + break; case RECORDING_CMD_STOP: pm_activate_clipcount(false); audio_stop_recording(); @@ -808,6 +815,10 @@ static void trigger_listener(int trigger_status) /* tell recording_screen to reset the time */ last_seconds = 0; break; + + case 3: /* Stop and shutdown */ + rec_command(RECORDING_CMD_STOP_SHUTDOWN); + break; } if (global_settings.rec_trigger_mode != TRIG_MODE_REARM) @@ -1571,7 +1582,10 @@ bool recording_screen(bool no_source) { peak_meter_trigger(false); peak_meter_set_trigger_listener(NULL); - rec_command(RECORDING_CMD_STOP); + if( global_settings.rec_split_type == 1) + rec_command(RECORDING_CMD_STOP); + else + rec_command(RECORDING_CMD_STOP_SHUTDOWN); } update_countdown = 1; } diff --git a/apps/recorder/recording.h b/apps/recorder/recording.h index a622f01d40..11d6e86e8c 100644 --- a/apps/recorder/recording.h +++ b/apps/recorder/recording.h @@ -49,7 +49,8 @@ enum recording_command start recording */ RECORDING_CMD_START_NEWFILE, /* create unique filename and start recording*/ RECORDING_CMD_PAUSE, - RECORDING_CMD_RESUME + RECORDING_CMD_RESUME, + RECORDING_CMD_STOP_SHUTDOWN /* stop recording and shutdown */ }; /* centralized way to start/stop/... recording */ -- cgit v1.2.3