亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tg.c

?? CP detector (CPD) only reports the onset and removal of a tone. The analysis of timing (if required)
?? C
字號:
/*-------------------------------------------------------------------------*
 *                                                                         *
 *   THIS IS AN UNPUBLISHED WORK CONTAINING CONFIDENTIAL AND PROPRIETARY   *
 *   INFORMATION.  IF PUBLICATION OCCURS, THE FOLLOWING NOTICE APPLIES:    *
 *      "COPYRIGHT 2001 MICHAEL TSIROULNIKOV, ALL RIGHTS RESERVED"         *
 *                                                                         *
 *-------------------------------------------------------------------------*/

#if ! defined (_dsp)
void  indicate_start(void);
void  indicate_end(void);
#include <memory.h>
#else
#include <string.h> /* memcpy () */
#endif

#include "tg.h"
#include "tgsin.cc"

extern void tg_add_sine2(TG_tTone *pTone, S16 *pOut);

/*--------------------- local defs ----------------------------------------*/
/*--------------------- public vars ---------------------------------------*/
/*--------------------- local vars ----------------------------------------*/
/*--------------------- local functions -----------------------------------*/
/*-------------------------------------------------------------------------*/
static void             _add_sine2
/*-------------------------------------------------------------------------*/
(
TG_tTone *pTone,
S16 *pTo
)
{
    S32 ac0;
    S32 ac1;
    S32 ac2;
    S32 ac3 = pTone->sPhase;
    S16 t0, t1;

    int k;

    for (k = 0; k < TG_FR_SZ/2; k++)
    {
        ac3 = ac3 + pTone->sFreq;
        ac2 = ac3 >> 8;
        t0  = (S16)(ac2 & 0xff);

        ac3 = ac3 + pTone->sFreq;
        ac2 = ac3 >> 8;
        t1  = (S16)(ac2 & 0xff);

        ac0 = ((S32)*pTo++)<<15;
        ac1 = ((S32)*pTo--)<<15;

        ac0 = ac0 + TG_asSin[t0] * (S32) (pTone->sAmp);
        ac1 = ac1 + TG_asSin[t1] * (S32) (pTone->sAmp);

        *pTo++ = (S16)(ac0>>15);
        *pTo++ = (S16)(ac1>>15);
    }
    pTone->sPhase = (S16)ac3;
}
/*--------------------- public  functions ---------------------------------*/

/*-------------------------------------------------------------------------*/
void                        TG_MIKET_init_db
/*-------------------------------------------------------------------------*/
(
TG_tDb *pDb
)
{
    memset(pDb, 0, sizeof(TG_tDb));
}

/*-------------------------------------------------------------------------*/
void                        TG_MIKET_control
/*-------------------------------------------------------------------------*/
(
TG_tDb *pDb,
S16 sCmd,
ITG_Status *pCfg
)
{
    switch (sCmd)
    {
    case ITG_CMD_NONE:
        break;
    case ITG_CMD_RESET:
        /* reset phase */
        pDb->Lo.sPhase = 0;
        pDb->Hi.sPhase = 0;
        pDb->sState = 0;
        break;
    case ITG_CMD_TONE:
        /* copy cfg */
        pDb->Cfg = *pCfg;
        /* setup freq */
        pDb->Lo.sFreq = pCfg->Lo.sFreq;
        pDb->Hi.sFreq = pCfg->Hi.sFreq;
        if (pDb->Cfg.sPreSilenceDuration > 0)
        {
            /* setup for PRE_SILENCE */
            pDb->sState = ITG_ST_PRE_SILENCE;
	        pDb->sCurrFrame = pDb->Cfg.sPreSilenceDuration;
            pDb->Lo.sAmp = 0;
            pDb->Hi.sAmp = 0;
        }
        else
        {
			pDb->sState = ITG_ST_SIGNAL;
			pDb->sCurrFrame = pDb->Cfg.sSignalDuration;
            pDb->Lo.sAmp  = pDb->Cfg.Lo.sAmp;
            pDb->Hi.sAmp  = pDb->Cfg.Hi.sAmp;
        }
        break;
    }
  	pCfg->State = pDb->sState;
}

/*-------------------------------------------------------------------------*/
S16                         TG_MIKET_process
/*-------------------------------------------------------------------------*/
/* function returns zero when work has been done */
(
TG_tDb *pDb,
TG_tSc *pSc,
S16 *pOut
)
{
    /* copy data from Db into Scratch */
    memcpy(pSc, pDb, sizeof(TG_tDb));

	switch (pSc->sState)
	{
    case ITG_ST_IDLE:
        /* do nothing in idle state */
        break;

	case ITG_ST_PRE_SILENCE:
		--pSc->sCurrFrame;
		if (pSc->sCurrFrame <= 0)
		{
			pSc->sState = ITG_ST_SIGNAL;
			pSc->sCurrFrame = pSc->Cfg.sSignalDuration;
            pSc->Lo.sAmp  = pSc->Cfg.Lo.sAmp;
            pSc->Hi.sAmp  = pSc->Cfg.Hi.sAmp;
#if ! defined (_dsp)
            indicate_start();
#endif
		}
		break;

	case ITG_ST_SIGNAL:
        _add_sine2(&pSc->Lo, pOut);
        _add_sine2(&pSc->Hi, pOut);

        if (pSc->Cfg.sSignalDuration < 0)
        {
            /* forever */
        }
        else
        {
		    --pSc->sCurrFrame;
		    if (pSc->sCurrFrame <= 0)
		    {
                if (pSc->Cfg.sPostSilenceDuration > 0)
                {
			        pSc->sState = ITG_ST_POST_SILENCE;
			        pSc->sCurrFrame = pSc->Cfg.sPostSilenceDuration;
                }
                else
                {
        			pSc->sState = ITG_ST_IDLE;
                }
                pSc->Lo.sAmp  = 0;
                pSc->Hi.sAmp  = 0;

#if ! defined (_dsp)
                indicate_end();
#endif
		    }
        }
		break;

	case ITG_ST_POST_SILENCE:
		--pSc->sCurrFrame;
		if (pSc->sCurrFrame <= 0)
		{
			pSc->sState = ITG_ST_IDLE;
		}
		break;

	default:
/* log err ??? */
		break;
    } /* end-of-switch */

    /* copy data from Db into Scratch */
    memcpy(pDb, pSc, sizeof(TG_tDb));

    return pSc->sState;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品系列免费在线观看| 色综合激情五月| 国产成人精品网址| 成人99免费视频| 日韩一本二本av| 国产精品美女久久久久久久久久久| 亚洲亚洲人成综合网络| 久久精品国产一区二区三区免费看| 91美女在线看| 欧美一级精品在线| 日韩精品一区二区三区视频在线观看| 日本一区二区三区免费乱视频| 亚洲黄色片在线观看| 国产剧情一区二区三区| 91激情在线视频| 国产精品欧美经典| 免费看日韩精品| 91免费视频网址| 国产精品灌醉下药二区| 日本一不卡视频| 欧美日韩成人激情| 日本一区二区三区高清不卡| 久久国产尿小便嘘嘘| 色婷婷精品大视频在线蜜桃视频| 日韩一区二区三区视频在线| 午夜精品久久久久久久蜜桃app| 国产精品中文字幕一区二区三区| 日韩亚洲欧美综合| 男女男精品网站| 日韩一级片在线观看| 午夜亚洲福利老司机| 91福利国产精品| 一区二区理论电影在线观看| 岛国一区二区在线观看| 国产日韩精品一区二区三区| 九九在线精品视频| 日韩精品一区二区三区视频播放 | 欧美日韩免费电影| 精品福利av导航| 秋霞影院一区二区| 欧美图区在线视频| 亚洲欧美视频在线观看| 丁香婷婷综合五月| 国产日本一区二区| 国产一区欧美日韩| 日韩女同互慰一区二区| 五月天国产精品| av男人天堂一区| 亚洲精品美国一| 色香蕉久久蜜桃| 中文字幕在线不卡一区| 成人av先锋影音| 一区二区三区在线不卡| 91丨porny丨蝌蚪视频| 亚洲另类在线视频| 色综合久久88色综合天天免费| 一区二区三区欧美久久| 色老头久久综合| 婷婷国产在线综合| 欧美一区国产二区| 午夜私人影院久久久久| 精品国产电影一区二区| 韩国精品久久久| 亚洲欧美日韩中文播放| 色成人在线视频| 美女网站视频久久| 337p粉嫩大胆噜噜噜噜噜91av| 成人性生交大片免费看中文 | 欧美一区二区三区婷婷月色| 奇米888四色在线精品| 日韩久久久精品| 不卡一区二区三区四区| 中文字幕一区av| 欧美浪妇xxxx高跟鞋交| 久久黄色级2电影| 亚洲人成电影网站色mp4| 成人激情文学综合网| 综合电影一区二区三区| 欧美丝袜丝交足nylons图片| 视频一区二区三区中文字幕| 国产日韩欧美精品综合| 91片黄在线观看| 激情综合亚洲精品| 中文在线免费一区三区高中清不卡| 欧亚一区二区三区| 久久综合综合久久综合| 日韩一区二区三区在线观看| 色av综合在线| 国内精品伊人久久久久av影院| 亚洲综合在线五月| 日韩欧美黄色影院| 91国偷自产一区二区三区观看| 美女网站视频久久| 亚洲不卡在线观看| 精品成人佐山爱一区二区| 91成人国产精品| 国产精品18久久久久久vr| 中文字幕的久久| 久久午夜老司机| 欧美日韩一区中文字幕| 北条麻妃一区二区三区| 日韩av电影免费观看高清完整版在线观看 | 亚洲亚洲人成综合网络| 亚洲精品在线网站| 91精品国产综合久久精品性色| 国产91精品一区二区麻豆亚洲| 午夜私人影院久久久久| 中文字幕一区二区三中文字幕| 日韩欧美的一区| 91精品国产91综合久久蜜臀| 色综合久久综合网| 国产黄人亚洲片| 免费精品视频最新在线| 亚洲精品五月天| 中文字幕一区二区日韩精品绯色| 日韩精品影音先锋| 91精品国产福利| 欧美丝袜丝交足nylons| 欧美影片第一页| 色婷婷久久一区二区三区麻豆| 不卡av在线免费观看| 精品一区二区成人精品| 蜜臀久久99精品久久久久久9| 亚洲电影你懂得| 中文字幕中文字幕一区| 国产精品色哟哟| 久久精品男人的天堂| 国产欧美视频一区二区| 精品欧美一区二区在线观看| 精品国产亚洲一区二区三区在线观看| 欧美乱熟臀69xxxxxx| 欧美精品v国产精品v日韩精品| 一本大道av伊人久久综合| 欧美自拍偷拍一区| 在线中文字幕不卡| 欧美美女视频在线观看| 欧美中文字幕一区二区三区 | 天使萌一区二区三区免费观看| 亚洲综合一区二区精品导航| 亚洲精品中文在线影院| 亚洲欧美国产77777| 亚洲男女一区二区三区| 午夜日韩在线电影| 首页欧美精品中文字幕| 午夜精品在线看| 久久精品二区亚洲w码| 精品一区二区在线播放| 麻豆91在线观看| 国产麻豆成人传媒免费观看| 91浏览器入口在线观看| 欧美性猛交xxxx乱大交退制版| 欧美一区二区三区四区视频| 欧美精品一区二区三区四区| 日韩伦理免费电影| 亚洲黄色片在线观看| 另类小说一区二区三区| 国产精品1024久久| 色婷婷激情一区二区三区| 欧美日高清视频| 国产日韩欧美激情| 亚洲精品欧美激情| 久久国产精品区| 粉嫩aⅴ一区二区三区四区五区| 欧洲精品中文字幕| 欧美一区二区三区白人| 国产精品成人免费| 亚洲大片在线观看| 国产精品69毛片高清亚洲| 91亚洲精华国产精华精华液| 日韩亚洲欧美中文三级| 久久久噜噜噜久久人人看| 一区二区三区欧美日| 久久99国产精品免费| 色综合久久六月婷婷中文字幕| 91麻豆精品91久久久久同性| 国产精品国产三级国产有无不卡 | 欧美成人a在线| 中文字幕综合网| 亚洲成精国产精品女| 国模一区二区三区白浆| 欧美蜜桃一区二区三区| 久久久国产精品麻豆| 日本不卡在线视频| 成人午夜在线播放| 欧美mv日韩mv亚洲| 亚洲精品一二三区| 成人精品国产免费网站| 精品少妇一区二区三区日产乱码| 亚洲一区在线免费观看| 国产91精品在线观看| 久久午夜色播影院免费高清| 婷婷综合久久一区二区三区| 在线观看亚洲成人| 欧美激情资源网| 成人丝袜18视频在线观看| 日韩三级高清在线| 日韩影院精彩在线| 色乱码一区二区三区88| 亚洲欧洲日本在线| 国产精品一级片在线观看|