Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
18
Src/Plugins/SDK/dsp_test/RESOURCE.H
Normal file
18
Src/Plugins/SDK/dsp_test/RESOURCE.H
Normal file
|
@ -0,0 +1,18 @@
|
|||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by Script1.rc
|
||||
//
|
||||
#define IDD_DIALOG1 101
|
||||
#define IDC_BOOGA 102
|
||||
#define IDC_SLIDER1 1000
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 104
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
97
Src/Plugins/SDK/dsp_test/SCRIPT1.RC
Normal file
97
Src/Plugins/SDK/dsp_test/SCRIPT1.RC
Normal file
|
@ -0,0 +1,97 @@
|
|||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_DIALOG1 DIALOGEX 0, 0, 28, 138
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
|
||||
EXSTYLE WS_EX_TOOLWINDOW
|
||||
CAPTION "Tempo"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
CONTROL "Slider1",IDC_SLIDER1,"msctls_trackbar32",TBS_AUTOTICKS |
|
||||
TBS_VERT | WS_TABSTOP,3,0,20,128
|
||||
LTEXT "100%",IDC_BOOGA,3,127,21,8
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO DISCARDABLE
|
||||
BEGIN
|
||||
IDD_DIALOG1, DIALOG
|
||||
BEGIN
|
||||
RIGHTMARGIN, 21
|
||||
BOTTOMMARGIN, 12
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
23
Src/Plugins/SDK/dsp_test/dsp_ns.txt
Normal file
23
Src/Plugins/SDK/dsp_test/dsp_ns.txt
Normal file
|
@ -0,0 +1,23 @@
|
|||
Nullsoft DSP Effects Plug-in 0.35 for Winamp
|
||||
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||
|
||||
This plug-in lets you use the following effects on
|
||||
your sound in Winamp:
|
||||
|
||||
Echo: adds a simple echo effect to the music
|
||||
Voice Removal: only for Stereo sounds, this attempts
|
||||
to remove the center channel. Sounds pretty good on
|
||||
about 1% of music out there, the other 99% sounds
|
||||
like crap :)
|
||||
Pitch/Tempo control: ownage :)
|
||||
|
||||
Once you install this nugget, fire up Winamp, open
|
||||
up the preferences (CTRL+P), go to the Plugins/DSP&Effect
|
||||
section, and select 'Nullsoft DSP Effects' as
|
||||
the new DPS Plug-in. You can then select from the three
|
||||
above effects.
|
||||
|
||||
Limitations:
|
||||
This plug-in only effects audio that is 16 bit.
|
||||
Note that this plug-in won't work with passive plug-ins
|
||||
such as CD audio.
|
478
Src/Plugins/SDK/dsp_test/dsp_test.c
Normal file
478
Src/Plugins/SDK/dsp_test/dsp_test.c
Normal file
|
@ -0,0 +1,478 @@
|
|||
// Winamp test dsp library 0.9 for Winamp 2
|
||||
// Copyright (C) 1997, Justin Frankel/Nullsoft
|
||||
// Feel free to base any plugins on this "framework"...
|
||||
|
||||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
#include <math.h>
|
||||
#include "../Winamp/dsp.h"
|
||||
#include "resource.h"
|
||||
|
||||
// avoid stupid CRT silliness
|
||||
//BOOL WINAPI _DllMainCRTStartup(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
|
||||
//{
|
||||
// return TRUE;
|
||||
//}
|
||||
|
||||
|
||||
// pitch value
|
||||
int g_pitch=100;
|
||||
|
||||
// pitch control window
|
||||
HWND pitch_control_hwnd;
|
||||
|
||||
// auxilary pitch buffer (for resampling from)
|
||||
short *pitch_buffer=NULL;
|
||||
int pitch_buffer_len=0;
|
||||
int quit_pitch=0;
|
||||
|
||||
// module getter.
|
||||
winampDSPModule *getModule(int which);
|
||||
|
||||
void config(struct winampDSPModule *this_mod);
|
||||
int init(struct winampDSPModule *this_mod);
|
||||
int initpitch(struct winampDSPModule *this_mod);
|
||||
void quit(struct winampDSPModule *this_mod);
|
||||
void quitpitch(struct winampDSPModule *this_mod);
|
||||
int modify_samples1(struct winampDSPModule *this_mod, short int *samples, int numsamples, int bps, int nch, int srate);
|
||||
int modify_samples2(struct winampDSPModule *this_mod, short int *samples, int numsamples, int bps, int nch, int srate);
|
||||
int modify_samples3(struct winampDSPModule *this_mod, short int *samples, int numsamples, int bps, int nch, int srate);
|
||||
int modify_samples_lopass(struct winampDSPModule *this_mod, short int *samples, int numsamples, int bps, int nch, int srate);
|
||||
int modify_samples_hipass(struct winampDSPModule *this_mod, short int *samples, int numsamples, int bps, int nch, int srate);
|
||||
|
||||
static INT_PTR CALLBACK pitchProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam);
|
||||
|
||||
// Module header, includes version, description, and address of the module retriever function
|
||||
typedef struct {
|
||||
int version; // DSP_HDRVER
|
||||
char *description; // description of library
|
||||
winampDSPModule* (*getModule)(int); // module retrieval function
|
||||
int (*sf)(int);
|
||||
} winampDSPHeaderEx;
|
||||
|
||||
int sf(int v)
|
||||
{
|
||||
int res;
|
||||
res = v * (unsigned long)1103515245;
|
||||
res += (unsigned long)13293;
|
||||
res &= (unsigned long)0x7FFFFFFF;
|
||||
res ^= v;
|
||||
return res;
|
||||
}
|
||||
|
||||
winampDSPHeaderEx hdr = { DSP_HDRVER+1, "Nullsoft DSP v0.35 for Winamp 2ARG", getModule, sf };
|
||||
|
||||
|
||||
// first module
|
||||
winampDSPModule mod =
|
||||
{
|
||||
"Nullsoft Echo v0.2",
|
||||
NULL, // hwndParent
|
||||
NULL, // hDllInstance
|
||||
config,
|
||||
init,
|
||||
modify_samples1,
|
||||
quit
|
||||
};
|
||||
|
||||
|
||||
// second module
|
||||
winampDSPModule mod2 =
|
||||
{
|
||||
"Nullsoft Stereo Voice Removal v0.2",
|
||||
NULL, // hwndParent
|
||||
NULL, // hDllInstance
|
||||
config,
|
||||
init,
|
||||
modify_samples2,
|
||||
quit
|
||||
};
|
||||
|
||||
winampDSPModule mod3 =
|
||||
{
|
||||
"Nullsoft Pitch/Tempo Control v0.2",
|
||||
NULL, // hwndParent
|
||||
NULL, // hDllInstance
|
||||
config,
|
||||
initpitch,
|
||||
modify_samples3,
|
||||
quitpitch
|
||||
};
|
||||
|
||||
winampDSPModule mod4 =
|
||||
{
|
||||
"Nullsoft Lowpass Filter v1.0",
|
||||
NULL, // hwndParent
|
||||
NULL, // hDllInstance
|
||||
config,
|
||||
init,
|
||||
modify_samples_lopass,
|
||||
quit
|
||||
};
|
||||
winampDSPModule mod5 =
|
||||
{
|
||||
"Nullsoft Highpass Filter v1.0",
|
||||
NULL, // hwndParent
|
||||
NULL, // hDllInstance
|
||||
config,
|
||||
init,
|
||||
modify_samples_hipass,
|
||||
quit
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
// this is the only exported symbol. returns our main header.
|
||||
__declspec( dllexport ) winampDSPHeaderEx *winampDSPGetHeader2()
|
||||
{
|
||||
return &hdr;
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
// getmodule routine from the main header. Returns NULL if an invalid module was requested,
|
||||
// otherwise returns either mod1 or mod2 depending on 'which'.
|
||||
winampDSPModule *getModule(int which)
|
||||
{
|
||||
switch (which)
|
||||
{
|
||||
case 0: return &mod;
|
||||
case 1: return &mod2;
|
||||
case 2: return &mod3;
|
||||
// case 3: return &mod4;
|
||||
// case 4: return &mod5;
|
||||
default:return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
// configuration. Passed this_mod, as a "this" parameter. Allows you to make one configuration
|
||||
// function that shares code for all your modules (you don't HAVE to use it though, you can make
|
||||
// config1(), config2(), etc...)
|
||||
void config(struct winampDSPModule *this_mod)
|
||||
{
|
||||
MessageBox(this_mod->hwndParent,"This module is Copyright(C) 1997-1999, Nullsoft\n"
|
||||
"Notes:\n"
|
||||
" * 8 bit samples aren't supported.\n"
|
||||
" * Pitch control rules!\n"
|
||||
" * Voice removal sucks (works about 10% of the time)!\n"
|
||||
" * Echo isn't very good!\n"
|
||||
"etc... this is really just a test of the new\n"
|
||||
"DSP plug-in system. Nothing more.",
|
||||
"Configuration",MB_OK);
|
||||
}
|
||||
|
||||
int init(struct winampDSPModule *this_mod)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
int initpitch(struct winampDSPModule *this_mod)
|
||||
{
|
||||
pitch_buffer_len=0;
|
||||
pitch_buffer=NULL;
|
||||
quit_pitch=0;
|
||||
ShowWindow((pitch_control_hwnd=CreateDialog(this_mod->hDllInstance,MAKEINTRESOURCE(IDD_DIALOG1),this_mod->hwndParent,pitchProc)),SW_SHOW);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// cleanup (opposite of init()). Destroys the window, unregisters the window class
|
||||
void quit(struct winampDSPModule *this_mod)
|
||||
{
|
||||
}
|
||||
|
||||
void quitpitch(struct winampDSPModule *this_mod)
|
||||
{
|
||||
if (this_mod == &mod3)
|
||||
{
|
||||
if (pitch_buffer) GlobalFree(pitch_buffer);
|
||||
pitch_buffer_len=0;
|
||||
pitch_buffer=NULL;
|
||||
quit_pitch=1;
|
||||
if (pitch_control_hwnd)
|
||||
{
|
||||
DestroyWindow(pitch_control_hwnd);
|
||||
pitch_control_hwnd=0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
short echo_buf[65536], echo_buf2[65536];
|
||||
|
||||
int modify_samples1(struct winampDSPModule *this_mod, short int *samples, int numsamples, int bps, int nch, int srate)
|
||||
{
|
||||
// echo doesn't support 8 bit right now cause I'm lazy.
|
||||
if (bps==16)
|
||||
{
|
||||
int x,s;
|
||||
s = numsamples*nch;
|
||||
|
||||
memcpy(echo_buf2, echo_buf, s*2);
|
||||
memcpy(echo_buf, echo_buf+s, s*2);
|
||||
memcpy(echo_buf+s, echo_buf+s*2, s*2);
|
||||
memcpy(echo_buf+s*2,echo_buf+s*3, s*2);
|
||||
memcpy(echo_buf+s*3,samples, s*2);
|
||||
|
||||
for (x = 0; x < s; x ++)
|
||||
{
|
||||
int s = samples[x]/2+echo_buf2[x]/2;
|
||||
samples[x] = (s>32767?32767:s<-32768?-32768:s);
|
||||
}
|
||||
}
|
||||
return numsamples;
|
||||
}
|
||||
|
||||
int modify_samples3(struct winampDSPModule *this_mod, short int *samples, int numsamples, int bps, int nch, int srate)
|
||||
{
|
||||
int pitch=g_pitch;
|
||||
int rlen =numsamples*bps/8*nch;
|
||||
int index=0, x;
|
||||
int n;
|
||||
int dindex;
|
||||
if (quit_pitch || g_pitch==100) return numsamples;
|
||||
if (g_pitch > 200) g_pitch=200;
|
||||
if (g_pitch < 50) g_pitch=50;
|
||||
pitch = 100000/pitch;
|
||||
n=(numsamples*pitch)/1000;
|
||||
dindex=(numsamples<<11)/n;
|
||||
if (pitch_buffer_len < rlen)
|
||||
{
|
||||
pitch_buffer_len = rlen;
|
||||
GlobalFree(pitch_buffer);
|
||||
pitch_buffer=GlobalAlloc(GMEM_FIXED,rlen);
|
||||
}
|
||||
if (bps == 16 && nch == 2)
|
||||
{
|
||||
short *buf=pitch_buffer;
|
||||
memcpy(buf,samples,rlen);
|
||||
for (x = 0; x < n; x ++)
|
||||
{
|
||||
int p=(index>>11)<<1;
|
||||
index+=dindex;
|
||||
samples[0] = buf[p];
|
||||
samples[1] = buf[p+1];
|
||||
samples+=2;
|
||||
}
|
||||
return n;
|
||||
}
|
||||
else if (bps == 16 && nch == 1)
|
||||
{
|
||||
short *buf=pitch_buffer;
|
||||
memcpy(buf,samples,rlen);
|
||||
for (x = 0; x < n; x ++)
|
||||
{
|
||||
int p=(index>>11);
|
||||
index+=dindex;
|
||||
*samples++ = buf[p];
|
||||
}
|
||||
return n;
|
||||
}
|
||||
return numsamples;
|
||||
}
|
||||
|
||||
|
||||
int modify_samples2(struct winampDSPModule *this_mod, short int *samples, int numsamples, int bps, int nch, int srate)
|
||||
{
|
||||
int x = numsamples;
|
||||
if (bps == 16)
|
||||
{
|
||||
short *a = samples;
|
||||
if (nch == 2) while (x--)
|
||||
{
|
||||
int l, r;
|
||||
l = a[1]-a[0];
|
||||
r = a[0]-a[1];
|
||||
if (l < -32768) l = -32768;
|
||||
if (l > 32767) l = 32767;
|
||||
if (r < -32768) r = -32768;
|
||||
if (r > 32767) r = 32767;
|
||||
a[0] = l;
|
||||
a[1] = r;
|
||||
a+=2;
|
||||
}
|
||||
}
|
||||
return numsamples;
|
||||
}
|
||||
|
||||
/*
|
||||
int modify_samples_lopass(struct winampDSPModule *this_mod, short int *samples, int numsamples, int bps, int nch, int srate)
|
||||
{
|
||||
if (bps==16)
|
||||
{
|
||||
static int lastspl=0,lastspl2=0;
|
||||
int x;
|
||||
x=numsamples;
|
||||
if (nch==1) while (x--)
|
||||
{
|
||||
int thisspl=*samples;
|
||||
*samples++=(lastspl+thisspl)/2;
|
||||
lastspl=thisspl;
|
||||
}
|
||||
else if (nch == 2) while (x--)
|
||||
{
|
||||
int thisspl=*samples;
|
||||
*samples++=(lastspl+thisspl)/2;
|
||||
lastspl=thisspl;
|
||||
thisspl=*samples;
|
||||
*samples++=(lastspl2+thisspl)/2;
|
||||
lastspl2=thisspl;
|
||||
}
|
||||
}
|
||||
return numsamples;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
enum FILTER_TYPE {
|
||||
lowpass,highpass,bandpass
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
float m_a0,m_a1;
|
||||
float m_b0,m_b1,m_b2;
|
||||
float m_d1,m_d2;
|
||||
float m_k;
|
||||
} filter;
|
||||
|
||||
float Filter(filter *f, const float x )
|
||||
{
|
||||
float d0,y;
|
||||
|
||||
d0 = f->m_k*x - f->m_a1*f->m_d1 - f->m_a0*f->m_d2;
|
||||
y = d0*f->m_b2 + f->m_d1*f->m_b1 + f->m_d2*f->m_b0;
|
||||
f->m_d2 = f->m_d1;
|
||||
f->m_d1 = d0;
|
||||
|
||||
return y;
|
||||
}
|
||||
|
||||
|
||||
void makefilter( filter *f, int t , float sample_rate , float cutoff , float dampening )
|
||||
{
|
||||
float a2,c;
|
||||
|
||||
c = (float)( 1.f / tan( 3.14159265359*cutoff / sample_rate ) );
|
||||
a2 = 1.f + c*(c+dampening);
|
||||
|
||||
f->m_a1 = 2.f * (1.f - c*c) / a2;
|
||||
f->m_a0 = (1.f + c*(c-dampening)) / a2;
|
||||
f->m_d1 = f->m_d2 = 0.f;
|
||||
|
||||
switch( t )
|
||||
{
|
||||
case lowpass:
|
||||
f->m_k = 1.f / a2;
|
||||
f->m_b1 = 2.f;
|
||||
f->m_b0 = 1.f;
|
||||
break;
|
||||
|
||||
case highpass:
|
||||
f->m_k = c*c / a2;
|
||||
f->m_b1 = -2.f;
|
||||
f->m_b0 = 1.f;
|
||||
break;
|
||||
|
||||
case bandpass:
|
||||
f->m_k = c*dampening / a2;
|
||||
f->m_b1 = 0.f;
|
||||
f->m_b0 = -1.f;
|
||||
break;
|
||||
}
|
||||
f->m_b2 = 1.f;
|
||||
}
|
||||
|
||||
int modify_samples_lopass(struct winampDSPModule *this_mod, short int *samples, int numsamples, int bps, int nch, int srate)
|
||||
{
|
||||
static int i;
|
||||
static filter f1,f2;
|
||||
if (!i)
|
||||
{
|
||||
i=1;
|
||||
makefilter(&f1,bandpass,44100,1000.0,0.5);
|
||||
makefilter(&f2,lowpass,44100,1.0,1.0);
|
||||
}
|
||||
if (bps==16)
|
||||
{
|
||||
int x;
|
||||
x=numsamples;
|
||||
if (nch == 2) while (x--)
|
||||
{
|
||||
int t=(int)Filter(&f1,*samples);
|
||||
*samples++=min(max(t,-32768),32767);
|
||||
t=(int)Filter(&f2,*samples);
|
||||
*samples++=min(max(t,-32768),32767);
|
||||
}
|
||||
}
|
||||
return numsamples;
|
||||
}
|
||||
|
||||
#define mulspl(a,b) _mulspl((int)(a),(int)((b)*65536.0))
|
||||
|
||||
int _mulspl(int a, int b)
|
||||
{
|
||||
a *= b;
|
||||
a >>= 16;
|
||||
return a;
|
||||
}
|
||||
|
||||
|
||||
int modify_samples_hipass(struct winampDSPModule *this_mod, short int *samples, int numsamples, int bps, int nch, int srate)
|
||||
{
|
||||
if (bps==16 && nch==2)
|
||||
{
|
||||
static short splbuf[32768+2];
|
||||
short int *spls=splbuf+nch;
|
||||
int x;
|
||||
memcpy(spls,samples,numsamples*sizeof(short)*nch);
|
||||
x=numsamples;
|
||||
while (x--)
|
||||
{
|
||||
int ch;
|
||||
for (ch = 0; ch < nch; ch ++)
|
||||
{
|
||||
int r=mulspl(spls[0],0.93) + mulspl(spls[-nch],-0.93) + mulspl(samples[-nch],0.86);
|
||||
samples[0] = max(min(r,32767),-32768);
|
||||
spls++;
|
||||
samples++;
|
||||
}
|
||||
}
|
||||
memcpy(splbuf,&splbuf[numsamples*nch],nch*sizeof(short));
|
||||
}
|
||||
return numsamples;
|
||||
}
|
||||
|
||||
|
||||
static BOOL CALLBACK pitchProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
if (uMsg == WM_INITDIALOG)
|
||||
{
|
||||
SendDlgItemMessage(hwndDlg,IDC_SLIDER1,TBM_SETRANGEMAX,0,50);
|
||||
SendDlgItemMessage(hwndDlg,IDC_SLIDER1,TBM_SETRANGEMIN,0,-50);
|
||||
SendDlgItemMessage(hwndDlg,IDC_SLIDER1,TBM_SETPOS,1,1);
|
||||
SendDlgItemMessage(hwndDlg,IDC_SLIDER1,TBM_SETPOS,1,0);
|
||||
{
|
||||
char str[123];
|
||||
wsprintf(str,"%s%d%%",g_pitch>=100?"+":"",g_pitch-100);
|
||||
SetDlgItemText(hwndDlg,IDC_BOOGA,str);
|
||||
}
|
||||
}
|
||||
if (uMsg == WM_VSCROLL)
|
||||
{
|
||||
HWND swnd = (HWND) lParam;
|
||||
if (swnd == GetDlgItem(hwndDlg,IDC_SLIDER1))
|
||||
{
|
||||
g_pitch = -SendDlgItemMessage(hwndDlg,IDC_SLIDER1,TBM_GETPOS,0,0)+100;
|
||||
{
|
||||
char str[123];
|
||||
wsprintf(str,"%s%d%%",g_pitch>=100?"+":"",g_pitch-100);
|
||||
SetDlgItemText(hwndDlg,IDC_BOOGA,str);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
24
Src/Plugins/SDK/dsp_test/dsp_test.sln
Normal file
24
Src/Plugins/SDK/dsp_test/dsp_test.sln
Normal file
|
@ -0,0 +1,24 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.32802.440
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsp_test", "dsp_test.vcxproj", "{91476D06-BDDF-4BD1-B855-AB2DC03A41C3}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{91476D06-BDDF-4BD1-B855-AB2DC03A41C3}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{91476D06-BDDF-4BD1-B855-AB2DC03A41C3}.Debug|x86.Build.0 = Debug|Win32
|
||||
{91476D06-BDDF-4BD1-B855-AB2DC03A41C3}.Release|x86.ActiveCfg = Release|Win32
|
||||
{91476D06-BDDF-4BD1-B855-AB2DC03A41C3}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {8AA64C58-B209-477B-8EDE-709FDFD0E5C5}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
227
Src/Plugins/SDK/dsp_test/dsp_test.vcxproj
Normal file
227
Src/Plugins/SDK/dsp_test/dsp_test.vcxproj
Normal file
|
@ -0,0 +1,227 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{91476D06-BDDF-4BD1-B855-AB2DC03A41C3}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>16.0.32629.160</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(PlatformShortName)_$(Configuration)\</OutDir>
|
||||
<IntDir>$(PlatformShortName)_$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<IncludePath>$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<IncludePath>$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||
<OutDir>$(PlatformShortName)_$(Configuration)\</OutDir>
|
||||
<IntDir>$(PlatformShortName)_$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(PlatformShortName)_$(Configuration)\</OutDir>
|
||||
<IntDir>$(PlatformShortName)_$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<IncludePath>$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<IncludePath>$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||
<OutDir>$(PlatformShortName)_$(Configuration)\</OutDir>
|
||||
<IntDir>$(PlatformShortName)_$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Vcpkg">
|
||||
<VcpkgEnabled>false</VcpkgEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<VcpkgConfiguration>Debug</VcpkgConfiguration>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;DSP_TEST_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;DSP_TEST_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_TEST_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader />
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_TEST_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
|
||||
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="dsp_test.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="RESOURCE.H" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="SCRIPT1.RC" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
32
Src/Plugins/SDK/dsp_test/dsp_test.vcxproj.filters
Normal file
32
Src/Plugins/SDK/dsp_test/dsp_test.vcxproj.filters
Normal file
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="dsp_test.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="RESOURCE.H">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="SCRIPT1.RC">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
Loading…
Add table
Add a link
Reference in a new issue