Hi,
I don't understand why the sound keep playing when I use this code with OnGetSongBuffer.
This function is not the equivalent of GetSongSample (SDK6) ?
///*******************************************************************************************************************************
short* VDJ_API CMyPlugin8::OnGetSongBuffer(int pos, int nb)
{
// ADD YOUR AUDIO TREATMENT CODE HERE USING THE AUDIO BUFFER *buffer OF 2*nb SHORT SAMPLES (STEREO SIGNAL)
HRESULT hr;
short* buffer;
hr = GetSongBuffer(pos, nb, (short**)&buffer);
//Déclaration des variables de lecture/écriture des buffers
float SampleIn_Left, SampleIn_Right;
float SampleOut_Left, SampleOut_Right;
int i;
for (i = 0; i < nb; i++)
{
SampleIn_Left = buffer[2 * i] * 0;
SampleIn_Right = buffer[2 * i + 1] * 0;
// Gestion du buffer de sortie
buffer[2 * i] = SampleIn_Left;
buffer[2 * i + 1] = SampleIn_Right;
}
return buffer;
}
I don't understand why the sound keep playing when I use this code with OnGetSongBuffer.
This function is not the equivalent of GetSongSample (SDK6) ?
///*******************************************************************************************************************************
short* VDJ_API CMyPlugin8::OnGetSongBuffer(int pos, int nb)
{
// ADD YOUR AUDIO TREATMENT CODE HERE USING THE AUDIO BUFFER *buffer OF 2*nb SHORT SAMPLES (STEREO SIGNAL)
HRESULT hr;
short* buffer;
hr = GetSongBuffer(pos, nb, (short**)&buffer);
//Déclaration des variables de lecture/écriture des buffers
float SampleIn_Left, SampleIn_Right;
float SampleOut_Left, SampleOut_Right;
int i;
for (i = 0; i < nb; i++)
{
SampleIn_Left = buffer[2 * i] * 0;
SampleIn_Right = buffer[2 * i + 1] * 0;
// Gestion du buffer de sortie
buffer[2 * i] = SampleIn_Left;
buffer[2 * i + 1] = SampleIn_Right;
}
return buffer;
}
geposted Wed 16 Sep 20 @ 7:31 pm
1) First comment : you are mixing float and short in your example.
Float is for DSP vdj plugin (value between -1.0f and 1.0f)
Here is only short sample
2) yes it is different from SDK6
Float is for DSP vdj plugin (value between -1.0f and 1.0f)
Here is only short sample
2) yes it is different from SDK6
geposted Fri 18 Sep 20 @ 6:07 pm
Oups... of course.
I'm still so bad at programming ;-)
Thank you for your support DJCEL !
I'm still so bad at programming ;-)
Thank you for your support DJCEL !
geposted Sat 19 Sep 20 @ 7:53 am
I made the corrections. I only use Short variables but it doesn't cut the sound.
The code comes from the example from Topics SKD Developper / Audio Plugin (Buffer DSP).
I don't understand why it doesn't work...
//*****************************************************************************************
short* VDJ_API CMyPlugin8::OnGetSongBuffer(int pos, int nb)
{
//example from Topics SKD Developper / Audio Plugin (Buffer DSP)
HRESULT hr;
short* bufferShort;
hr = GetSongBuffer(pos, nb, (short**)&bufferShort);
//Déclaration des variables de lecture/écriture des buffers
short ShortSampleIn_Left, ShortSampleIn_Right;
for (int i = 0; i < nb; i++)
{
ShortSampleIn_Left = bufferShort[2 * i] * 0;
ShortSampleIn_Right = bufferShort[2 * i + 1] * 0;
// Gestion du buffer de sortie
bufferShort[2 * i] = ShortSampleIn_Left;
bufferShort[2 * i + 1] = ShortSampleIn_Right;
}
return bufferShort;
}
The code comes from the example from Topics SKD Developper / Audio Plugin (Buffer DSP).
I don't understand why it doesn't work...
//*****************************************************************************************
short* VDJ_API CMyPlugin8::OnGetSongBuffer(int pos, int nb)
{
//example from Topics SKD Developper / Audio Plugin (Buffer DSP)
HRESULT hr;
short* bufferShort;
hr = GetSongBuffer(pos, nb, (short**)&bufferShort);
//Déclaration des variables de lecture/écriture des buffers
short ShortSampleIn_Left, ShortSampleIn_Right;
for (int i = 0; i < nb; i++)
{
ShortSampleIn_Left = bufferShort[2 * i] * 0;
ShortSampleIn_Right = bufferShort[2 * i + 1] * 0;
// Gestion du buffer de sortie
bufferShort[2 * i] = ShortSampleIn_Left;
bufferShort[2 * i + 1] = ShortSampleIn_Right;
}
return bufferShort;
}
geposted Sat 19 Sep 20 @ 10:08 am
Working with float during processing is fine too if required for your purpose of course.
Anyway, did you check if OnGetSongBuffer is called in the debugger? Maybe the initialization of your plugin is not set to buffer plugin?
Anyway, did you check if OnGetSongBuffer is called in the debugger? Maybe the initialization of your plugin is not set to buffer plugin?
geposted Sat 19 Sep 20 @ 10:17 am
So
And what do you have for this line?
Quote :
class CMyPlugin8 : public IVdjPluginBufferDsp8
Quote :
if (memcmp(&rclsid,&CLSID_VdjPlugin8,sizeof(GUID))==0 && memcmp(&riid,&IID_IVdjPluginBuffer8,sizeof(GUID))==0)
And what do you have for this line?
Quote :
infos->Flags = 0x00; // you could also use VDJFLAG_PROCESSAFTERSTOP if you want to process sound when the deck is stopped
geposted Sat 19 Sep 20 @ 2:30 pm
Thank you guys for your message..
Sorry. I didn't notice that the main.cpp was different.
Thank you DJCEL.
Sorry. I didn't notice that the main.cpp was different.
Thank you DJCEL.
geposted Tue 22 Sep 20 @ 8:04 pm