⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 headset_tones.c

📁 BlueLab 3.5.2 单声道耳机源码
💻 C
📖 第 1 页 / 共 3 页
字号:
/****************************************************************************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 + -