diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/SDK/dsp_test | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz |
Initial community commit
Diffstat (limited to 'Src/Plugins/SDK/dsp_test')
-rw-r--r-- | Src/Plugins/SDK/dsp_test/RESOURCE.H | 18 | ||||
-rw-r--r-- | Src/Plugins/SDK/dsp_test/SCRIPT1.RC | 97 | ||||
-rw-r--r-- | Src/Plugins/SDK/dsp_test/dsp_ns.txt | 23 | ||||
-rw-r--r-- | Src/Plugins/SDK/dsp_test/dsp_test.c | 478 | ||||
-rw-r--r-- | Src/Plugins/SDK/dsp_test/dsp_test.sln | 24 | ||||
-rw-r--r-- | Src/Plugins/SDK/dsp_test/dsp_test.vcxproj | 227 | ||||
-rw-r--r-- | Src/Plugins/SDK/dsp_test/dsp_test.vcxproj.filters | 32 |
7 files changed, 899 insertions, 0 deletions
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 <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; +} + + 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 @@ +<?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>
\ 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 @@ +<?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>
\ No newline at end of file |