Log in

View Full Version : besweet plug-in hangs


E-Male
13th January 2005, 21:16
i coded a stereo-narrower for besweet, based on the downmix plug-in code

but besweet just hangs after:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[00:00:00:000] +------- BeSweet -----
[00:00:00:000] | Input : u:\test2\input.mp3
[00:00:00:000] | Output: u:\test2\output.wav
[00:00:00:000] | Floating-Point Process: No
[00:00:00:000] | Source Sample-Rate: 44.1KHz
[00:00:00:000] +---------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

i can't find my mistake
i think the def file is right
and the code compiles well
stenar.cpp:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#include "stdafx.h"

typedef void (*OUTPUT) (float*, unsigned int);

#define DSPguru_API __declspec(dllexport)

OUTPUT BS_Output;

DSPguru_API BS_CallBack(OUTPUT BS_OUTPUT)
{
BS_Output=BS_OUTPUT;
}

DSPguru_API const char* BS_About(int *encoder)
{
*encoder=0;
return "Stereo-Narrower (by E-Male)";
}

DSPguru_API int BS_Count()
{
return 8;
}

DSPguru_API char* BS_Effects(int index)
{
switch (index)
{
case 0:
return "keep1";
case 1:
return "keep2";
case 2:
return "keep3";
case 3:
return "keep4";
case 4:
return "keep5";
case 5:
return "keep6";
case 6:
return "keep7";
case 7:
return "keep8";
case 8:
return "keep9";
default :
return 0;
}
}

DSPguru_API char* BS_Descriptions(int index)
{
switch (index)
{
case 0:
return "keeps 10% of the stereo information";
case 1:
return "keeps 20% of the stereo information";
case 2:
return "keeps 30% of the stereo information";
case 3:
return "keeps 40% of the stereo information";
case 4:
return "keeps 50% of the stereo information";
case 5:
return "keeps 60% of the stereo information";
case 6:
return "keeps 70% of the stereo information";
case 7:
return "keeps 80% of the stereo information";
case 8:
return "keeps 90% of the stereo information";
default :
return 0;
}
}

DSPguru_API void keep1( float* buffer,int size)
{
int i = 0; float a, b = 0 ;
for(i=0;i<size;)
{
a=buffer[i]*0.55+buffer[i+1]*0.45;
b=buffer[i+1]*0.55+buffer[i]*0.45;
buffer[i] = a;
buffer[i+1]=b;
}
i+=2;
BS_Output(buffer,size);
}

DSPguru_API void keep2( float* buffer,int size)
{
int i = 0; float a, b = 0 ;
for(i=0;i<size;)
{
a=buffer[i]*0.6+buffer[i+1]*0.4;
b=buffer[i+1]*0.6+buffer[i]*0.4;
buffer[i] = a;
buffer[i+1]=b;
}
i+=2;
BS_Output(buffer,size);
}

DSPguru_API void keep3( float* buffer,int size)
{
int i = 0; float a, b = 0 ;
for(i=0;i<size;)
{
a=buffer[i]*0.65+buffer[i+1]*0.35;
b=buffer[i+1]*0.65+buffer[i]*0.35;
buffer[i] = a;
buffer[i+1]=b;
}
i+=2;
BS_Output(buffer,size);
}

DSPguru_API void keep4( float* buffer,int size)
{
int i = 0; float a, b = 0 ;
for(i=0;i<size;)
{
a=buffer[i]*0.7+buffer[i+1]*0.3;
b=buffer[i+1]*0.7+buffer[i]*0.3;
buffer[i] = a;
buffer[i+1]=b;
}
i+=2;
BS_Output(buffer,size);
}

DSPguru_API void keep5( float* buffer,int size)
{
int i = 0; float a, b = 0 ;
for(i=0;i<size;)
{
a=buffer[i]*0.75+buffer[i+1]*0.25;
b=buffer[i+1]*0.75+buffer[i]*0.25;
buffer[i] = a;
buffer[i+1]=b;
}
i+=2;
BS_Output(buffer,size);
}

DSPguru_API void keep6( float* buffer,int size)
{
int i = 0; float a, b = 0 ;
for(i=0;i<size;)
{
a=buffer[i]*0.8+buffer[i+1]*0.2;
b=buffer[i+1]*0.8+buffer[i]*0.2;
buffer[i] = a;
buffer[i+1]=b;
}
i+=2;
BS_Output(buffer,size);
}

DSPguru_API void keep7( float* buffer,int size)
{
int i = 0; float a, b = 0 ;
for(i=0;i<size;)
{
a=buffer[i]*0.85+buffer[i+1]*0.15;
b=buffer[i+1]*0.85+buffer[i]*0.15;
buffer[i] = a;
buffer[i+1]=b;
}
i+=2;
BS_Output(buffer,size);
}

DSPguru_API void keep8( float* buffer,int size)
{
int i = 0; float a, b = 0 ;
for(i=0;i<size;)
{
a=buffer[i]*0.9+buffer[i+1]*0.1;
b=buffer[i+1]*0.9+buffer[i]*0.1;
buffer[i] = a;
buffer[i+1]=b;
}
i+=2;
BS_Output(buffer,size);
}

DSPguru_API void keep9( float* buffer,int size)
{
int i = 0; float a, b = 0 ;
for(i=0;i<size;)
{
a=buffer[i]*0.95+buffer[i+1]*0.05;
b=buffer[i+1]*0.95+buffer[i]*0.05;
buffer[i] = a;
buffer[i+1]=b;
}
i+=2;
BS_Output(buffer,size);
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

any help would be nice
thx

[Toff]
13th January 2005, 21:54
Maybe i'm blind, but i think you don't increment "i" in your "for" loop but outside your loop :)

E-Male
14th January 2005, 01:21
you're not blind, but i'm dumb
thx