UI_PSF_recorddone.c File Reference


Detailed Description

This module provides parent record complete state handle.

REVISION

Definition in file UI_PSF_recorddone.c.

#include "../SYSTEM/sys_hardware.h"
#include "../SYSTEM/sys_main.h"
#include "../SYSTEM/sys_clock.h"
#include "../SYSTEM/sys_param.h"
#include "../AUDIO/audio.h"
#include "../encoder/encoder.h"
#include "../ear/ear.h"
#include "ui.h"
#include "xim.h"

Include dependency graph for UI_PSF_recorddone.c:

Include dependency graph

Go to the source code of this file.

Functions

PARENT_STATE UI_PSF_recorddone (st_MSG *msgIN)
 Function serves as the parent record complete state handle.


Function Documentation

PARENT_STATE UI_PSF_recorddone st_MSG msgIN  ) 
 

Function serves as the parent record complete state handle.

Parameters:
msgIN Input message.
Returns:
Next state.

Definition at line 56 of file UI_PSF_recorddone.c.

References AI_SHUTDOWN, AUDIO_setInterface(), BTN_YES, ENCODER_getSource(), FAT_delete(), st_UI::fname, GEN_createTimeString(), MENU_buf, MENU_CLOSE, st_UI::path, SMSGBOX_EXIT, SSTATE_END, SSTATE_START, SXIM_CREATE, SXIM_EXIT, TMR_create(), TMR_delete(), and TMR_RECORDDONE.

00057 {   
00058     MSG_ID          id = msgIN->id;     
00059     MSG_DATA        d1 = msgIN->d1; 
00060     MSG_DATA        d2 = msgIN->d2;
00061 
00062     switch(id)
00063     {
00064     case SYS_MSG_ID:
00065         
00066         switch(d1)
00067         {
00068             case SSTATE_START:
00069             {
00070                 char    strDuration[16];                
00071 
00072                 _loadRecorderDoneTmplt(Ui.fname, (int)ENCODER_getSource());
00073                 menu = mMENU_create((void *)&MENU_buf[0]);
00074                 GEN_createTimeString(SYS_getCurRecordDuration(), strDuration);          
00075                 mMENU_update(menu, 4, (ULONG)strDuration, FALSE);
00076                 mMENU_refresh(menu);
00077                 TMR_create(TMR_RECORDDONE, 250, TRECORDDONE, 0, NO_RELOAD);
00078 
00079                 return P_RECORDDONE;
00080             }
00081             case SSTATE_END:
00082             {
00083                 mMENU_action(menu, MENU_CLOSE);
00084                 TMR_delete(TMR_RECORDDONE);
00085 
00086                 _addRecord2Db();
00087 
00088                 if(SYS_isRadioActive()) 
00089                 {
00090                     AUDIO_setInterface(AI_SHUTDOWN);
00091                 }
00092                 return P_NULL;
00093             }
00094             case SMSGBOX_EXIT:
00095             {
00096                 if(MENU_curMsgbx() == MSGBX_DELETERECORDFILE)
00097                 {
00098                     if(BTN_YES == d2)
00099                     {
00100                         mMENU_action(menu, MENU_CLOSE);
00101                         TMR_delete(TMR_RECORDDONE);
00102                         FAT_delete(Ui.path);
00103                         
00104                         if(SYS_isRadioActive()) return P_RADIO;
00105                         return P_NULL;                      
00106                     }
00107                     else TMR_create(TMR_RECORDDONE, 250, TRECORDDONE, 0, NO_RELOAD);
00108                 }               
00109             }
00110             case SXIM_EXIT: return _ximAction(msgIN);   
00111         }   
00112         break;
00113     
00114     case TMR_MSG_ID:
00115         switch(d1)
00116         {
00117             case TRECORDDONE:
00118             {
00119                 mMENU_action(menu, MENU_CLOSE);
00120                 mMSG_send(uiChildMsgQ, SYS_MSG_ID, SSTATE_END, DONTCARE, SYS_FOREVER);
00121                 _addRecord2Db();
00122                 if(SYS_isRadioActive()) return P_RADIO;
00123                 return P_NULL;
00124             }
00125         }
00126         break;
00127                 
00128     case KBD_MSG_ID:
00129         switch(d1)
00130         {
00131             case KEY_BACK:
00132                 TMR_delete(TMR_RECORDDONE);
00133                 mMENU_action(menu, MENU_CLOSE);
00134                 _addRecord2Db();
00135                 if(SYS_isRadioActive()) return P_RADIO;
00136                 return P_NULL;
00137 
00138             case KEY_PLAY:
00139                 _playRecord(msgIN);
00140                 return P_PLAY;
00141             
00142             case KEY_SELECT:
00143                 TMR_delete(TMR_RECORDDONE);
00144                 mMSG_send(uiChildMsgQ, SYS_MSG_ID, SXIM_CREATE, XIMWIN_RECORDDONE, SYS_FOREVER);
00145                 break;          
00146         }
00147         break;
00148     }
00149     
00150     return P_RECORDDONE;
00151 }

Here is the call graph for this function:


Generated on Wed Jan 19 01:13:33 2005 for neuros-firmware by  doxygen 1.3.9.1