# Question for the JUCE team - hash generation of parameters and internal defines

**URL:** https://forum.juce.com/t/question-for-the-juce-team-hash-generation-of-parameters-and-internal-defines/61278
**Category:** General JUCE discussion
**Created:** [May 8, 2024, 7:44am UTC](https://forum.juce.com/t/question-for-the-juce-team-hash-generation-of-parameters-and-internal-defines/61278 "2024-05-08T07:44:03Z")
**Posts on this page:** 1
**Showing post:** 4

<div class="post-metadata">

### Author: ![Qfactor](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/qfactor/32/14921_2.png) [@Qfactor](https://forum.juce.com/u/Qfactor)
#### Post date: [May 9, 2024, 4:11pm UTC](https://forum.juce.com/t/question-for-the-juce-team-hash-generation-of-parameters-and-internal-defines/61278/4 "2024-05-09T16:11:47Z")

</div>

> [@reuk](#):
>
> > [@Qfactor](#):
> >
> > To which value do you recommend me to set paramMidiProgramChangeOffset?
> 
> If I’ve understood correctly, you’re trying to add multiple program-change parameters to the plugin, one for each ‘unit’. At the moment, a JUCE VST3 has a single unit, with its program parameter set to `paramPreset`. It _might_ make sense to just add the unit number to `paramPreset` in order to get the program parameter ID for that unit, i.e. unit 0 → paramPreset + 0, unit 1 → paramPreset + 1 etc.

If each unit is attached to a particular MIDI channel, it looks like this would imply modifying those internal parameters that handle the input CC MIDI. I have moved this discussion to [VST3, Programs and MIDI Program Changes - #3 by Qfactor](https://forum.juce.com/t/vst3-programs-and-midi-program-changes/35148/3) which has a more suitable title. I’m running out of steam right now but I’ve documented everything that I have found.

---

_[View the full topic](https://forum.juce.com/t/question-for-the-juce-team-hash-generation-of-parameters-and-internal-defines/61278)._
