📄 headset_tones.c
字号:
/****************************************************************************Copyright (C) Cambridge Silicon Radio Ltd. 2004-2006Part of BlueLab 3.6.2-releaseFILE NAME headset_tones.c DESCRIPTION module responsible for tone generation and playback */#include "headset_private.h"#include "headset_soundmanager.h"#include "headset_tones.h"#include "headset_events.h"#include "headset_volume.h"#include <stddef.h>#include <csrtypes.h> /****************************************************************************VARIABLES */#define TONES_VOL_PLAYBACK_LEVEL 0x0A/***********************************************************************************//* Headset tones *//****************************************************************//* SIMPLE TONES ( B - Q ) *//****************************************************************/ /*Vol Min*/static const audio_note tone_B[] ={ AUDIO_TEMPO(200), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(G5, CROTCHET), AUDIO_END}; /*Vol 2*/static const audio_note tone_C[] ={ AUDIO_TEMPO(2400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(C6, SEMIBREVE), AUDIO_END}; /*Vol 3*/static const audio_note tone_D[] ={ AUDIO_TEMPO(2400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(E6, SEMIBREVE), AUDIO_END}; /*Vol 4*/static const audio_note tone_E[] ={ AUDIO_TEMPO(2400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(G6, SEMIBREVE), AUDIO_END}; /*Vol 5*/static const audio_note tone_F[] ={ AUDIO_TEMPO(2400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(AS6, SEMIBREVE), AUDIO_END}; /*Vol 6*/static const audio_note tone_G[] ={ AUDIO_TEMPO(2400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(C7, SEMIBREVE), AUDIO_END}; /*Vol 7*/static const audio_note tone_H[] ={ AUDIO_TEMPO(2400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(D7, SEMIBREVE), AUDIO_END}; /*Vol 8*/static const audio_note tone_I[] ={ AUDIO_TEMPO(2400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(E7, SEMIBREVE), AUDIO_END}; /*Vol 9*/static const audio_note tone_J[] ={ AUDIO_TEMPO(2400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(FS7, SEMIBREVE), AUDIO_END}; /*Vol 10*/static const audio_note tone_K[] ={ AUDIO_TEMPO(200), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(GS7, CROTCHET), AUDIO_END};/*4 note rising scale*/static const audio_note tone_L[] ={ AUDIO_TEMPO(400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(GS4, CROTCHET), AUDIO_NOTE(REST,DEMISEMIQUAVER), AUDIO_NOTE(DS5, CROTCHET), AUDIO_NOTE(REST,DEMISEMIQUAVER), AUDIO_NOTE(GS5, CROTCHET), AUDIO_NOTE(REST,DEMISEMIQUAVER), AUDIO_NOTE(C6, CROTCHET), AUDIO_END};/*4 note falling scale*/static const audio_note tone_M[] ={ AUDIO_TEMPO(400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(C6, CROTCHET), AUDIO_NOTE(REST,DEMISEMIQUAVER), AUDIO_NOTE(GS5, CROTCHET), AUDIO_NOTE(REST,DEMISEMIQUAVER), AUDIO_NOTE(DS5, CROTCHET), AUDIO_NOTE(REST,DEMISEMIQUAVER), AUDIO_NOTE(GS4, CROTCHET), AUDIO_END} ;/*2 tone rising scale*/ static const audio_note tone_N[] ={ AUDIO_TEMPO(150), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(E6, QUAVER), AUDIO_NOTE(REST,DEMISEMIQUAVER), AUDIO_NOTE(A6, QUAVER), AUDIO_END};/*2 tone falling scale*/static const audio_note tone_O[] ={ AUDIO_TEMPO(150), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(A6, QUAVER), AUDIO_NOTE(REST,DEMISEMIQUAVER), AUDIO_NOTE(E6, QUAVER), AUDIO_END};/*long low followed by short high*/static const audio_note tone_P[] ={ AUDIO_TEMPO(600), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(REST, SEMIQUAVER), AUDIO_NOTE(G5, SEMIBREVE), AUDIO_NOTE(REST, SEMIQUAVER), AUDIO_NOTE(G7, CROTCHET), AUDIO_END};/*connection*/static const audio_note tone_Q[] ={ AUDIO_TEMPO(2400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(REST, CROTCHET), AUDIO_NOTE(GS7 , SEMIBREVE), AUDIO_END};/*power*/static const audio_note tone_R[] ={ AUDIO_TEMPO(120), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(REST, HEMIDEMISEMIQUAVER), AUDIO_NOTE(GS7 , CROTCHET), AUDIO_END};/*error*/static const audio_note tone_S[] ={ AUDIO_TEMPO(120), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(REST, HEMIDEMISEMIQUAVER), AUDIO_NOTE(G5 , CROTCHET), AUDIO_END};/*short cfm*/static const audio_note tone_T[] ={ AUDIO_TEMPO(2400), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(REST, CROTCHET), AUDIO_NOTE(G6 , SEMIBREVE), AUDIO_END};/*long cfm*/static const audio_note tone_U[] ={ AUDIO_TEMPO(150), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(REST, HEMIDEMISEMIQUAVER), AUDIO_NOTE(G6 , MINIM), AUDIO_END};/*Batt Low*/static const audio_note tone_V[] ={ AUDIO_TEMPO(120), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(REST, HEMIDEMISEMIQUAVER), AUDIO_NOTE(G6 , CROTCHET), AUDIO_END};/*Pair removal*/static const audio_note tone_W[] ={ AUDIO_TEMPO(800), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(REST, QUAVER_TRIPLET), AUDIO_NOTE(G5 , MINIM_TRIPLET), AUDIO_NOTE(REST, QUAVER), AUDIO_NOTE(G5 , MINIM_TRIPLET), AUDIO_END};/*spare 1 - same as W for now*/static const audio_note tone_X[] ={ AUDIO_TEMPO(800), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(REST, QUAVER_TRIPLET), AUDIO_NOTE(G6 , MINIM_TRIPLET), AUDIO_NOTE(REST, QUAVER), AUDIO_NOTE(G6 , MINIM_TRIPLET), AUDIO_END}; /****************************************************************//* OTHER TONES*//****************************************************************/static const audio_note battery_low_tone[] ={ AUDIO_TEMPO(240), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(E6, QUAVER), AUDIO_NOTE(AS6, QUAVER), AUDIO_NOTE(E6, QUAVER), AUDIO_NOTE(AS6, QUAVER), AUDIO_NOTE(E6, QUAVER), AUDIO_END};static const audio_note low_500ms_tone[] ={ AUDIO_TEMPO(600), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(REST, SEMIQUAVER), AUDIO_TEMPO(120), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(G5, CROTCHET), AUDIO_END};static const audio_note mute_reminder_tone[] ={ AUDIO_TEMPO(600), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(REST, SEMIQUAVER), AUDIO_TEMPO(120), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(G5, CROTCHET), AUDIO_NOTE(REST, CROTCHET), AUDIO_NOTE(G5, CROTCHET), AUDIO_END};/****************************************************************//* RING TONES*//****************************************************************/static const audio_note ring_twilight[] ={ AUDIO_TEMPO(180), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(E7, QUAVER), AUDIO_NOTE(F7, QUAVER), AUDIO_NOTE(E7, QUAVER), AUDIO_NOTE(C7, QUAVER), AUDIO_NOTE(E7, QUAVER), AUDIO_NOTE(F7, QUAVER), AUDIO_NOTE(E7, QUAVER), AUDIO_NOTE(C7, QUAVER), AUDIO_END};static const audio_note ring_g_s_t_q[] ={ AUDIO_TEMPO(230), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE (G7, CROTCHET), AUDIO_NOTE (G7, CROTCHET), AUDIO_NOTE (A7, CROTCHET), AUDIO_NOTE (FS7, CROTCHET), AUDIO_NOTE_TIE (FS7, QUAVER), AUDIO_NOTE (G7, QUAVER), AUDIO_NOTE (A7, CROTCHET), AUDIO_NOTE (B7, CROTCHET), AUDIO_NOTE (B7, CROTCHET), AUDIO_NOTE (C8, CROTCHET), AUDIO_NOTE (B7, CROTCHET), AUDIO_NOTE_TIE (B7, QUAVER), AUDIO_NOTE (A7, QUAVER), AUDIO_NOTE (G7, CROTCHET), AUDIO_NOTE (A7, CROTCHET), AUDIO_NOTE (G7, CROTCHET), AUDIO_NOTE (FS7, CROTCHET), AUDIO_NOTE (G7, MINIM), AUDIO_NOTE_TIE (G7, CROTCHET), AUDIO_END };static const audio_note ring_valkyries[] ={ AUDIO_TEMPO(240), AUDIO_VOLUME(64), AUDIO_TIMBRE(sine), AUDIO_NOTE(E5,QUAVER), AUDIO_NOTE_TIE(E5,SEMIQUAVER), AUDIO_NOTE(D5,SEMIQUAVER), AUDIO_NOTE(E5,QUAVER), AUDIO_NOTE(G5,CROTCHET), AUDIO_NOTE_TIE(G5,QUAVER), AUDIO_NOTE(E5,CROTCHET), AUDIO_NOTE_TIE(E5,QUAVER),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -