Managing plugin parameters in AudioPluginInstance

This maybe helps:

int calcComboBoxValue(float value, int param)
{
    int numItems = this->getNumComboBoxItems(param);
    return (int)floorf(value * (numItems - 1.0f) + 1.0f + 0.5f);
}


float calcComboBoxValueNormalized(float value, int param)
{
    int numItems = this->getNumComboBoxItems(param);
    return (value - 1.0f) / (numItems - 1.0f);
}

int getNumComboBoxItems(int param)
{
    int numItems = 1;

    switch(param)
    {
    case VOICES: numItems = 6; break;
    case PORTAMENTOMODE: numItems = 3; break;
    case LFO1DESTINATION: numItems = 8; break;
    case LFO2DESTINATION: numItems = 8; break;
    case FREEADDESTINATION: numItems = 6; break;
    case FILTERTYPE: numItems = 12; break;
    case OSC1WAVEFORM: numItems = 3; break;
    case OSC2WAVEFORM: numItems = 5; break;
    case ENVELOPEEDITORDEST1: numItems = 8; break;
    case ENVELOPEEDITORSPEED: numItems = 6; break;
    }

    return numItems;
}