Parameter Changes Problem at update/copy "value" to "volume"

Hi, I have had this problem a few days ago and cannot proceed.

  • I don’t know why “volume” does not change his value!!! :triumph::triumph:

**The kVolumeParamId parameter changes and is synchronized with the GUI but it seems that do not change the “volume” or the “value” I don’t know what is happening…**:sob::sob::sob:


tresult PLUGIN_API Prueba5Processor::process (Vst::ProcessData& data)
{
//— First : Read inputs parameter changes-----------

if (data.inputParameterChanges)
{
    int32 numParamsChanged = data.inputParameterChanges->getParameterCount ();
    for (int32 index = 0; index < numParamsChanged; index++)
    {
        if (auto* paramQueue = data.inputParameterChanges->getParameterData (index))
        {
            Vst::ParamValue value;
            int32 sampleOffset;
            int32 numPoints = paramQueue->getPointCount ();
            switch (paramQueue->getParameterId ())
            {
			case kVolumeParamId:
				// we use in this example only the last point of the queue.
				// in some wanted case for specific kind of parameter it makes sense to retrieve all points
				// and process the whole audio block in small blocks.
				if (paramQueue->getPoint(numPoints - 1, sampleOffset, value) == kResultTrue)
				{
					volume = value;
				}
				break;
			}
		}
	}
}

//--- Here you have to implement your processing
for (int32 busIndex = 0; busIndex < data.numInputs; ++busIndex) {
	int32 numChannels = data.inputs[busIndex].numChannels;
	for (int32 sample = 0; sample < data.numSamples; ++sample) {
		for (int32 channel = 0; channel < numChannels; ++channel) {
			float* inChannel = data.inputs[busIndex].channelBuffers32[channel];
			float* outChannel = data.outputs[busIndex].channelBuffers32[channel];

			// Ajustar la amplitud según el parámetro de volumen
			outChannel[sample] = inChannel[sample] * volume;
		}
	}
}
return kResultOk;

}