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

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

?? fft.cpp

?? 一個KDE下的錄音程序
?? CPP
字號:
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <math.h>#include <qwidget.h>#include "sound.h"#include "fft.moc"#include <X11/Xlib.h>extern "C" {  #include "soundfft.h"}#define FFT_MAX     8192#define FFT_LEFT     100#define FFT_RIGHT  10000#define DB_MAX       0.0#define DB_MIN    -100.0/* ---------------------------------------------------------------------- */FFTWindow::FFTWindow(QWidget *parent, char *name) : QWidget(parent,name,0){    XColor color,dummy;    Colormap map = DefaultColormapOfScreen	(DefaultScreenOfDisplay(x11Display()));        gc = XCreateGC(x11Display(),winId(),0,NULL);    XAllocNamedColor(x11Display(),map,"white",&color,&dummy);    back = color.pixel;    XAllocNamedColor(x11Display(),map,"red",&color,&dummy);    fore = color.pixel;    /* flag: no init so far... */    channels = 0;    logmap = NULL;    ylog = false;}voidFFTWindow::make_logmap(){    int   i,w,h;    float freq,up;    w = width();    h = height();    if (!w || !h || !channels)	return;        if (logmap) {        free(logmap);        free(segments);	free(buffer);	EndFFT();    }    logmap   = (int*) malloc((w+1)*sizeof(int));    segments = (XSegment*)malloc((w)*sizeof(XSegment));    buffer   = (short*)malloc(fft_size*sizeof(short)*channels);    InitializeFFT(fft_size);    up = log(FFT_RIGHT/FFT_LEFT)/log(2);    for (i = 0; i <= w; i++) {        freq = pow(2,up*i/w)* FFT_LEFT;	logmap[i] = (int)(fft_size*freq/rate);    }    for (i = 0; i < w; i++) {        segments[i].x1 = i;        segments[i].x2 = i;        segments[i].y2 = h;    }}voidFFTWindow::calculate(unsigned char *data){    int i,j;    if (NULL == logmap) {	fprintf(stderr,"Oops: fft no logmap (yet)\n");	return;    }    switch (afmt) {    case FMT_8BIT:        for (i = 0; i < audio_size; i++)            buffer[i] = (data[i] ^ 0x80) << 8;        break;#if 0    case AFMT_S8:        for (i = 0; i < audio_size; i++)            buffer[i] = data[i] << 8;        break;#endif    case FMT_16BIT:        memcpy(buffer,data,audio_size);#if 0	/* byte swap */	for (i = 0; i < fft_size; i++)	    buffer[i] =		((buffer[i] & 0xff00) >> 8) |		((buffer[i] & 0x00ff) << 8);	/* unsigned -> signed */        if (afmt == AFMT_U16_LE || afmt == AFMT_U16_BE)            for (i = 0; i < fft_size; i++)                buffer[i] ^= 0x8000;#endif        break;    default:        fprintf(stderr,"oops(fft): unknown sound format\n");        exit(1);    }    for (i = 0, lmax = 0; i < fft_size; i++)        if ((j = abs((signed short)buffer[i])) > lmax)            lmax = j;    if (channels == 2) {        for (i = 0, j = 0; i < fft_size; i++, j+=2)            buffer[i] = (buffer[j]+buffer[j+1])>>1;    }    RealFFT(buffer);}voidFFTWindow::drawhist(){    XGCValues gcval;    int re,im,ab;    int i,j,max,w,h;    int len = fft_size>>1;    w = width();    h = height();    for (i = 0; i < w; i++) {        max = 0;        j = logmap[i];        do {            if (j >= len)                break;            re = buffer[BitReversed[j]];            im = buffer[BitReversed[j]+1];            ab = re*re+im*im;            if (ab > max)                max = ab;            j++;        } while (j < logmap[i+1]);        if (ylog) {            float dBVal = 20 * log10( sqrt(max)/FFT_MAX );            max = (int)( h * ( dBVal-DB_MIN )/( DB_MAX-DB_MIN ));        } else {            max = (int)(sqrt(max) * h / FFT_MAX);        }        segments[i].y1 = h-max;    }    gcval.foreground = back;    XChangeGC(x11Display(),gc,GCForeground,&gcval);    XFillRectangle(x11Display(),winId(),gc,0,0,width(),height());    gcval.foreground = fore;    XChangeGC(x11Display(),gc,GCForeground,&gcval);    XDrawSegments(x11Display(),winId(),gc,segments,w);    if (ylog) {	float dBVal = 20 * log10( (double)lmax/32768 );	max = h - (int)( h * ( dBVal-DB_MIN )/( DB_MAX-DB_MIN ));    } else {	max = height() - lmax*height()/32768;    }    XDrawLine(x11Display(),winId(),gc,0,max,width(),max);}/* ---------------------------------------------------------------------- */voidFFTWindow::resizeEvent(QResizeEvent *event){    make_logmap();}voidFFTWindow::new_params(struct SOUNDPARAMS *p){    afmt        = p->format;    channels    = p->channels;    rate        = p->rate;    audio_size  = p->blocksize;    fft_size = audio_size/channels/2;    if (afmt != FMT_16BIT)        fft_size *= 2;    make_logmap();}voidFFTWindow::new_data(void *data){    if (!channels || !isVisible())	return;        calculate((unsigned char*)data);    drawhist();}voidFFTWindow::set_ylog(int linear){    ylog = (linear==0);    drawhist();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品久久久久影院一蜜桃| 亚洲精品菠萝久久久久久久| 色欧美乱欧美15图片| 日韩成人一级片| 五月激情综合网| 日韩二区三区在线观看| 亚洲1区2区3区视频| 亚洲国产日韩av| 亚洲电影在线播放| 天天射综合影视| 美女视频一区在线观看| 开心九九激情九九欧美日韩精美视频电影 | 日本韩国精品一区二区在线观看| 国产成人精品亚洲777人妖| 国产成人综合亚洲网站| 国产成人精品免费看| 国产精品综合在线视频| 国产福利精品一区二区| 成人小视频免费在线观看| 国产91精品露脸国语对白| 99精品国产视频| 欧美日韩久久一区| 欧美电影免费观看高清完整版在线 | 洋洋成人永久网站入口| 夜夜亚洲天天久久| 日本午夜一本久久久综合| 国产毛片精品视频| 99精品久久99久久久久| 欧美三电影在线| 日韩一区二区免费高清| 中文字幕二三区不卡| 亚洲精品中文在线影院| 国产精品中文有码| 99精品在线观看视频| 欧美日韩高清在线播放| 久久久一区二区| 一区二区三区 在线观看视频| 亚洲午夜激情网页| 国产一区高清在线| 欧美午夜在线观看| 2019国产精品| 亚洲尤物在线视频观看| 国产经典欧美精品| 欧美三级韩国三级日本三斤| 国产色产综合产在线视频| 亚洲精品成人a在线观看| 狠狠狠色丁香婷婷综合久久五月| 一本色道久久综合精品竹菊| 精品欧美黑人一区二区三区| 一区二区在线观看免费视频播放| 日韩精品免费专区| 色综合天天综合狠狠| 国产亚洲综合性久久久影院| 午夜久久久久久久久久一区二区| 高清国产午夜精品久久久久久| 在线播放中文字幕一区| 亚洲精品视频观看| 成人视屏免费看| 亚洲美女精品一区| 国产精品资源在线看| 91精品国产综合久久精品app| 亚洲欧洲精品一区二区精品久久久 | 亚洲综合一区二区精品导航| 国产成人在线视频免费播放| 欧美精品日韩一本| 亚洲黄网站在线观看| 岛国精品一区二区| 久久久久97国产精华液好用吗| 午夜电影网亚洲视频| 欧美中文字幕一二三区视频| 亚洲图片激情小说| aa级大片欧美| 国产精品久久久久一区二区三区共| 精品一区二区三区免费| 日韩欧美一级二级三级| 日韩va欧美va亚洲va久久| 国产欧美在线观看一区| 国产一区二区中文字幕| 欧美xxxxx牲另类人与| 美女在线一区二区| 精品少妇一区二区三区日产乱码 | 欧美在线视频不卡| 洋洋成人永久网站入口| 欧美午夜精品理论片a级按摩| 亚洲精品免费在线| 欧美日韩亚州综合| 亚洲大片精品永久免费| 欧美日韩和欧美的一区二区| 香蕉成人伊视频在线观看| 欧美日韩国产精品成人| 久久丁香综合五月国产三级网站| 91精品国产色综合久久不卡蜜臀| 日韩影院在线观看| 日韩欧美国产午夜精品| 国产乱子轮精品视频| 国产精品美女久久福利网站| 99精品黄色片免费大全| 午夜精品久久一牛影视| 欧美成人一区二区三区在线观看| 国产在线精品一区二区三区不卡| 欧美国产禁国产网站cc| 在线视频一区二区免费| 免费不卡在线观看| 国产肉丝袜一区二区| 色乱码一区二区三区88| 欧美96一区二区免费视频| 久久午夜老司机| 色吧成人激情小说| 九九**精品视频免费播放| 亚洲国产精品精华液ab| 欧美三级电影网| 国产成人日日夜夜| 亚洲国产精品欧美一二99| 精品少妇一区二区三区在线视频| 99re这里只有精品首页| 日日摸夜夜添夜夜添国产精品| 精品国产三级电影在线观看| 91麻豆精品秘密| 精品一区二区三区免费| 一区二区三区小说| 久久精品免视看| 91精品视频网| 91久久久免费一区二区| 国产成人午夜99999| 调教+趴+乳夹+国产+精品| 久久精子c满五个校花| 欧美另类一区二区三区| 91啦中文在线观看| 国产乱理伦片在线观看夜一区| 亚洲国产综合91精品麻豆| 国产精品久久久久毛片软件| 欧美精品一级二级| 日韩一区二区高清| 欧美图片一区二区三区| www.欧美亚洲| 国产九九视频一区二区三区| 午夜精品一区在线观看| 亚洲人成伊人成综合网小说| 久久久久久99精品| 2021国产精品久久精品| 日韩亚洲欧美成人一区| 欧美老肥妇做.爰bbww视频| 91视频国产观看| av在线综合网| 97精品国产露脸对白| 国产精品一区二区男女羞羞无遮挡| 午夜精品久久久久久| 夜夜爽夜夜爽精品视频| 亚洲最大成人网4388xx| 亚洲欧美一区二区不卡| 中文字幕在线免费不卡| 国产精品久久久久aaaa| 国产精品萝li| 国产精品欧美一级免费| 国产精品私人影院| 成人免费一区二区三区在线观看| 中文字幕欧美国产| 国产精品久久久久久久第一福利| 国产午夜一区二区三区| 中文字幕av一区二区三区高| 国产农村妇女毛片精品久久麻豆| 久久久久久久免费视频了| 久久久久久**毛片大全| 国产精品无人区| 亚洲天堂免费在线观看视频| 综合自拍亚洲综合图不卡区| 亚洲欧美日韩电影| 亚洲午夜精品17c| 青青草国产精品97视觉盛宴| 老司机午夜精品| 福利一区福利二区| 一本大道综合伊人精品热热| 91国模大尺度私拍在线视频| 欧美日本国产一区| 欧美xfplay| 中文字幕中文字幕一区二区| 夜夜嗨av一区二区三区网页| 日本91福利区| 国产成人精品www牛牛影视| 99精品欧美一区二区三区小说| 色伊人久久综合中文字幕| 欧美视频自拍偷拍| 精品99999| 亚洲欧洲国产日韩| 婷婷丁香久久五月婷婷| 国产精品综合二区| 日本二三区不卡| 欧美成人一级视频| 综合欧美一区二区三区| 亚洲午夜久久久| 国产成a人亚洲| 欧美三级日本三级少妇99| 精品国产三级电影在线观看| 亚洲男女毛片无遮挡| 久久精品久久精品| 91免费在线播放| 日韩美女主播在线视频一区二区三区| 国产欧美日韩亚州综合 | 日韩成人精品在线观看| 成人福利电影精品一区二区在线观看|