📄 mmisounds.c
字号:
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsRinger( MfwMnu *m, MfwMnuItem *i )
{
T_MFW_HND win;
T_MFW_HND parent_win = mfw_parent(mfw_header());
//recources_Init (win);
//Create 0.5 second ringer delay timer.
hRingerStartTimer = timCreate( 0, TIMHALFSECOND, (MfwCb)playCurrentSound);
win = buildMelodyMenu(parent_win);
if (win NEQ NULL)
{
SEND_EVENT (win, E_INIT, 0, 0);
}
// Start the 0.5 second ringer delay timer.
delayThenPlayMelody();
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsVolume
$Description: prepares Volume setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsVolume( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: settingsVibrator
$Description: prepares Vibrator settings screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int settingsVibrator( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: settingsLanguages
$Description: prepares languages screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int settingsLanguages( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsNewMessage
$Description: prepares NewMessage setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsNewMessage( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsNewBroadcast
$Description: prepares Broadcast setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsNewBroadcast( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsBatteryLow
$Description: prepares BatteryLow setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsBatteryLow( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsCreditLow
$Description: prepares Credit setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsCreditLow( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsOrganiser
$Description: prepares Organiser setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsOrganiser( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundsAlarm
$Description: prepares Alarm setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsAlarm( MfwMnu *m, MfwMnuItem *i )
{
return MFW_EVENT_CONSUMED;
}
/*******************************************************************************
$Function: soundInit
$Description: init sounds handling
$Returns: None
$Arguments: parent, handle of parent window
*******************************************************************************/
void soundInit( MfwHnd parent )
{
}
/*******************************************************************************
$Function: soundExit
$Description: exit sounds handling
$Returns: None
$Arguments: None
*******************************************************************************/
void soundExit (void)
{
}
/*******************************************************************************
$Function: soundExec
$Description: sends messages to soundExec to get the various melodies to play
$Returns: None
$Arguments: reason, for invocation, next, state
*******************************************************************************/
void soundExec (int reason, MmiState next)
{
}
/*******************************************************************************
$Function: soundsKeypadSilent
$Description: prepares KeypadTones setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsKeypadSilent(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfw_parent(mfw_header());
sounds_Init(win);
if (FFS_flashData.settings_status & SettingsKeypadClick)
{
FFS_flashData.settings_status &= ~SettingsKeypadClick;
}
else if (FFS_flashData.settings_status & SettingsKeypadDTMF)
{
FFS_flashData.settings_status &= ~SettingsKeypadDTMF;
}
flash_write();
sounds_data.local_status = ACTIVATE_CONFIRM;
SEND_EVENT (sounds_data.sounds_win, SHOW_CONFIRM, 0, 0);
return 0;
}
/*******************************************************************************
$Function: soundsKeypadClick
$Description: prepares KeypadTones setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsKeypadClick(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfw_parent(mfw_header());
sounds_Init(win);
if (FFS_flashData.settings_status & SettingsKeypadDTMF)
{
FFS_flashData.settings_status &= ~SettingsKeypadDTMF;
}
FFS_flashData.settings_status |= SettingsKeypadClick;
//play KeypadClick
audio_PlaySoundID(0, TONES_KEYBEEP, 5, 0 );
sounds_data.local_status = ACTIVATE_CONFIRM;
SEND_EVENT (sounds_data.sounds_win, SHOW_CONFIRM, 0, 0);
flash_write();
return 0;
}
/*******************************************************************************
$Function: soundsKeypadDTMF
$Description: prepares KeypadTones setting screen
$Returns: MFW_EVENT_CONSUMED always
$Arguments: m, menu, i, item
*******************************************************************************/
int soundsKeypadDTMF(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfw_parent(mfw_header());
sounds_Init(win);
if (FFS_flashData.settings_status & SettingsKeypadClick)
{
FFS_flashData.settings_status &= ~SettingsKeypadClick;
}
FFS_flashData.settings_status |= SettingsKeypadDTMF;
flash_write();
sounds_data.local_status = ACTIVATE_CONFIRM;
SEND_EVENT (sounds_data.sounds_win, SHOW_CONFIRM, 0, 0);
return 0;
}
/*******************************************************************************
$Function: sounds_Init
$Description:
$Returns:
$Arguments:
*******************************************************************************/
T_MFW_HND sounds_Init (T_MFW_HND parent_window)
{
return (sounds_create (parent_window));
}
/*******************************************************************************
$Function: confirm_Exit
$Description:
$Returns:
$Arguments:
*******************************************************************************/
void sounds_Exit (T_MFW_HND own_window)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)own_window)->data;
T_MELODY_INFO * data = (T_MELODY_INFO *)win_data->user;
sounds_destroy (data->sounds_win);
}
/*******************************************************************************
$Function: sounds_create
$Description:
$Returns:
$Arguments:
*******************************************************************************/
T_MFW_HND sounds_create (T_MFW_HND parent_window)
{
T_MELODY_INFO * data = &sounds_data;
T_MFW_WIN * win;
TRACE_FUNCTION ("sounds_create()");
data->sounds_win = win_create (parent_window, 0, 0, (T_MFW_CB)sounds_win_cb);
if (data->sounds_win EQ 0)
return 0;
/*
* Create window handler
*/
data->mmi_control.dialog = (T_DIALOG_FUNC)sounds;
data->mmi_control.data = data;
win = ((T_MFW_HDR *)data->sounds_win)->data;
win->user = (void *) data;
winShow(data->sounds_win);
/*
* return window handle
*/
return data->sounds_win;
}
/*******************************************************************************
$Function: sounds_destroy
$Description:
$Returns:
$Arguments:
*******************************************************************************/
void sounds_destroy (T_MFW_HND own_window)
{
T_MFW_WIN * win;
T_MELODY_INFO * data;
TRACE_FUNCTION ("sounds_destroy()");
if (own_window)
{
win = ((T_MFW_HDR *)own_window)->data;
data = (T_MELODY_INFO *)win->user;
if (data)
{
/*
* Delete WIN handler
*/
win_delete (data->sounds_win);
data->sounds_win = 0;
}
}
}
/*******************************************************************************
$Function: sounds_win_cb
$Description:
$Returns:
$Arguments:
*******************************************************************************/
static int sounds_win_cb (T_MFW_EVENT event, T_MFW_WIN * win)
{
/*
* Top Window has no output
*/
return 1;
}
/*******************************************************************************
$Function: sounds_dialog
$Description:
$Returns:
$Arguments:
*******************************************************************************/
static void sounds_dialog(void)
{
T_DISPLAY_DATA display_info;//
TRACE_FUNCTION ("sounds_dialog()");
dlg_initDisplayData_TextId( &display_info, TxtNull, TxtNull, TxtNull, TxtNull , COLOUR_STATUS);
dlg_initDisplayData_events( &display_info, (T_VOID_FUNC)sounds_dialog_cb, THREE_SECS, KEY_CLEAR | KEY_RIGHT );
if (sounds_data.local_status EQ ACTIVATE_CONFIRM)
{
display_info.TextId = TxtActivated;
}
else
{
display_info.TextId = TxtDeActivated;
}
/*
* Call Info Screen
*/
info_dialog (sounds_data.sounds_win, &display_info);
}
/*******************************************************************************
$Function: confirm_dialog_cb
$Description:
$Returns:
$Arguments:
*******************************************************************************/
void sounds_dialog_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason)
{
TRACE_FUNCTION ("sounds_dialog_cb()");
switch (reason)
{
case INFO_TIMEOUT:
/* no break; */
case INFO_KCD_HUP:
/* no break; */
case INFO_KCD_LEFT:
/* no break; */
case INFO_KCD_RIGHT:
/* no break; */
case INFO_KCD_CLEAR:
sounds_Exit(win);
break;
}
}
/*******************************************************************************
$Function: sounds
$Description:
$Returns:
$Arguments:
*******************************************************************************/
void sounds (T_MFW_HND win, USHORT event, SHORT value, void * parameter)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data;
T_MELODY_INFO * data = (T_MELODY_INFO *)win_data->user;
TRACE_FUNCTION("sounds()");
switch (event)
{
case SHOW_CONFIRM:
sounds_dialog();
break;
}
}
/*******************************************************************************
End Of File
*******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -