From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Plugins/SDK/dsp_test/RESOURCE.H | 18 + Src/Plugins/SDK/dsp_test/SCRIPT1.RC | 97 +++++ Src/Plugins/SDK/dsp_test/dsp_ns.txt | 23 ++ Src/Plugins/SDK/dsp_test/dsp_test.c | 478 ++++++++++++++++++++++ Src/Plugins/SDK/dsp_test/dsp_test.sln | 24 ++ Src/Plugins/SDK/dsp_test/dsp_test.vcxproj | 227 ++++++++++ Src/Plugins/SDK/dsp_test/dsp_test.vcxproj.filters | 32 ++ 7 files changed, 899 insertions(+) create mode 100644 Src/Plugins/SDK/dsp_test/RESOURCE.H create mode 100644 Src/Plugins/SDK/dsp_test/SCRIPT1.RC create mode 100644 Src/Plugins/SDK/dsp_test/dsp_ns.txt create mode 100644 Src/Plugins/SDK/dsp_test/dsp_test.c create mode 100644 Src/Plugins/SDK/dsp_test/dsp_test.sln create mode 100644 Src/Plugins/SDK/dsp_test/dsp_test.vcxproj create mode 100644 Src/Plugins/SDK/dsp_test/dsp_test.vcxproj.filters (limited to 'Src/Plugins/SDK/dsp_test') diff --git a/Src/Plugins/SDK/dsp_test/RESOURCE.H b/Src/Plugins/SDK/dsp_test/RESOURCE.H new file mode 100644 index 00000000..a9f020ac --- /dev/null +++ b/Src/Plugins/SDK/dsp_test/RESOURCE.H @@ -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 diff --git a/Src/Plugins/SDK/dsp_test/SCRIPT1.RC b/Src/Plugins/SDK/dsp_test/SCRIPT1.RC new file mode 100644 index 00000000..159d286a --- /dev/null +++ b/Src/Plugins/SDK/dsp_test/SCRIPT1.RC @@ -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 + diff --git a/Src/Plugins/SDK/dsp_test/dsp_ns.txt b/Src/Plugins/SDK/dsp_test/dsp_ns.txt new file mode 100644 index 00000000..b9a7332d --- /dev/null +++ b/Src/Plugins/SDK/dsp_test/dsp_ns.txt @@ -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. diff --git a/Src/Plugins/SDK/dsp_test/dsp_test.c b/Src/Plugins/SDK/dsp_test/dsp_test.c new file mode 100644 index 00000000..1c9fa37f --- /dev/null +++ b/Src/Plugins/SDK/dsp_test/dsp_test.c @@ -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 +#include +#include +#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; +} + + diff --git a/Src/Plugins/SDK/dsp_test/dsp_test.sln b/Src/Plugins/SDK/dsp_test/dsp_test.sln new file mode 100644 index 00000000..d502d889 --- /dev/null +++ b/Src/Plugins/SDK/dsp_test/dsp_test.sln @@ -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 diff --git a/Src/Plugins/SDK/dsp_test/dsp_test.vcxproj b/Src/Plugins/SDK/dsp_test/dsp_test.vcxproj new file mode 100644 index 00000000..a3ecc7f1 --- /dev/null +++ b/Src/Plugins/SDK/dsp_test/dsp_test.vcxproj @@ -0,0 +1,227 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {91476D06-BDDF-4BD1-B855-AB2DC03A41C3} + Win32Proj + 10.0.19041.0 + + + + DynamicLibrary + v142 + Unicode + + + DynamicLibrary + v142 + Unicode + + + DynamicLibrary + v142 + Unicode + + + DynamicLibrary + v142 + Unicode + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>16.0.32629.160 + + + $(PlatformShortName)_$(Configuration)\ + $(PlatformShortName)_$(Configuration)\ + false + $(IncludePath) + $(LibraryPath) + + + false + $(IncludePath) + $(LibraryPath) + $(PlatformShortName)_$(Configuration)\ + $(PlatformShortName)_$(Configuration)\ + + + $(PlatformShortName)_$(Configuration)\ + $(PlatformShortName)_$(Configuration)\ + false + $(IncludePath) + $(LibraryPath) + + + false + $(IncludePath) + $(LibraryPath) + $(PlatformShortName)_$(Configuration)\ + $(PlatformShortName)_$(Configuration)\ + + + false + + + Debug + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;DSP_TEST_EXPORTS;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + true + true + + Level3 + ProgramDatabase + true + ..\..;%(AdditionalIncludeDirectories) + $(IntDir)$(TargetName).pdb + + + $(OutDir)$(TargetName)$(TargetExt) + true + $(IntDir)$(TargetName).pdb + Windows + $(IntDir)$(TargetName).lib + MachineX86 + false + + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;DSP_TEST_EXPORTS;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + true + true + + + Level3 + ProgramDatabase + true + ..\..;%(AdditionalIncludeDirectories) + $(IntDir)$(TargetName).pdb + + + $(OutDir)$(TargetName)$(TargetExt) + true + $(IntDir)$(TargetName).pdb + Windows + $(IntDir)$(TargetName).lib + false + + + + + Default + true + Speed + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_TEST_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + true + true + true + + Level3 + None + true + ..\..;%(AdditionalIncludeDirectories) + $(IntDir)$(TargetName).pdb + + + $(OutDir)$(TargetName)$(TargetExt) + true + Windows + true + true + $(IntDir)$(TargetName).lib + MachineX86 + $(IntDir)$(TargetName).pdb + false + + + + + Default + true + Speed + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;DSP_TEST_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + true + true + true + + + Level3 + None + true + ..\..;%(AdditionalIncludeDirectories) + $(IntDir)$(TargetName).pdb + + + $(OutDir)$(TargetName)$(TargetExt) + true + Windows + true + true + $(IntDir)$(TargetName).lib + $(IntDir)$(TargetName).pdb + false + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Src/Plugins/SDK/dsp_test/dsp_test.vcxproj.filters b/Src/Plugins/SDK/dsp_test/dsp_test.vcxproj.filters new file mode 100644 index 00000000..f1efa308 --- /dev/null +++ b/Src/Plugins/SDK/dsp_test/dsp_test.vcxproj.filters @@ -0,0 +1,32 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx + + + + + Source Files + + + + + Header Files + + + + + Resource Files + + + \ No newline at end of file -- cgit