Is this True and correct?
-
I was wondering if this was true….
Here’s a simplified example of how you might approach this in HISE. Note that you’ll need to replace the ... with the IDs of your sample maps, which are not provided in your question.
This is a sketch of the code you might use:
// Create the interface
const var Interface = Content.addPanel("Interface", 0, 0);
Interface.set("width", 500);
Interface.set("height", 500);// Create the ComboBox
const var ComboBox = Content.addComboBox("ComboBox", 0, 0);
ComboBox.set("items", ["item", "item 2", "item 3"]);// Reference to the Sampler
const var Sampler1 = Synth.getSampler("Sampler1");// Set up the ComboBox change callback
ComboBox.setControlCallback(onComboBoxControl);inline function onComboBoxControl(component, value)
{
switch(value)
{
case 1: // "item"
Sampler1.loadSampleMap("samplemap1");
break;
case 2: // "item 2"
Sampler1.loadSampleMap("samplemap2");
break;
case 3: // "item 3"
Sampler1.loadSampleMap("samplemap3");
break;
}
}You would need to replace samplemap1, samplemap2, and samplemap3 with the IDs of your actual sample maps. Also, make sure your sampler’s name is Sampler1 as specified in the getSampler() method.
This code creates a ComboBox with three items. When you select an item, it triggers the onComboBoxControl function, which loads a different sample map into the Sampler based on your selection.
-
@gryphonsegg Looks reasonable but generally you should use the interface designer for your main interface script rather than adding components in the script. There are exceptions of course.
-
@d-healey I have chatGPT code interpreter some info to make this and this is what it spit out.
-
This is the output of ChatGPT now? Oh boy, that's frightening.
-
@Christoph-Hart
yes it is! They just got a new code interpreter plugin and its pretty good I hear and now I can see it. -
@Christoph-Hart I could not get it to run however
-
Ok I took a closer look
This won't work.
ComboBox.set("items", ["item", "item 2", "item 3"]);
I also think calling a ComboBox ComboBox has potential for issues.
-
@d-healey so I tried this, still does not work. can you tell me why? If I knew I think my eyes would be opened a bit more.
HiseSnippet 1320.3oc4X02ZaaDF+jcTSsWWoszA6eFbX1e3BYo1oooiUF0INIkvhSL1okBiQ4hzY6iHcm3zoz3Mx2o8QXej52ftm6jjkjqRlqWa2XSPB54k6Q+tm2S5KENzvPgDYU6joATj0srGNkqlzcBgwQGrKx5118HgJpDGyZmoAjvPpKxxp5y0LrpsBx771msCwivcnYrPnWJXNzCY9LUF29c9Ilm29DW5IL+bZuYmCbD7tBOQDfmp1sPADmyHioGQzpUwFYci8bYJgbnhnngHqU1Q3Nc3Dwa3w5+RVH6TOplnMZHXnX16K7b0HV+Np6Dlma+z6cHBYY2OyKTM1Kbe6dLW1L9Ydi6XDfyNQd+gUkhvqZA309pfWIPxJGjVIFR20dnijEnxjnwyWXe.GBNiHfaOOTh0EU4cUr6J.M3p08ImQ2WBDyNQysZ0ZML7qG7z50e3CwckT.3X0DJtqv+TwNhKpCQjPE9bhD2aZJS7OhSMJw0MkayFYZzXMb6V5e.Kmwc8PppYClh5GBJ7yM5yHbA7Vi88hTzF+RBLFPGQkTHQBqDFvLj3G3Qk0yAlDVGBPwjut9XpJgWyFoBajXvgTENJnv8B6LgvGSwNDOuSgrr4Po95IEdcSj1TmVFKMQh1xLtGiSwih3NJlfieOkZ5H7CDbvOsF.ZuH5Cp+a0wvS3aXJmIMS3o4DyW+3PBo31+.FvchCZlH8S5cacOAwMlnGInYi.ip.rxq7oP.8rmVzzaDa5XW9BY5QFUuZSeY8Ky4CNRnnGyapup0peYc77hFMpTYItLc7qLw5NExq6fM4Q9mRk4bzFEgxmh0j2XwpIchyuyonfe.moNNflPm0TocIUvnjBDcsbBBAUUlJ46jTImlsfXt59tYYfHycHemUzKNXWhhjZMvvvGKfJUL8cxZW54Pa139D0r2kFdlRDXzMI+CZxsne6K.cspCe0oouXJXQVe0pVUrV01jShfWLYPP272qSEziT3F4QTEabpmVjH.hbE5Vo6HwCYpo4uyy2MckqNx0pzl8kFWVP3dW3dBknki2JkfWHz7oFuIyl9R68FMh5nx.6J16+pqcPzGcn7MwP4d1CUPe.eFebRyCCdpam1J4iw5BAK75B8kTSqK1ulSs+nyNQf+RVj6u2w7o11WDwK7sRP9.Z.LKDB+4NyM6LXvykhnf4O0aelIY4DILp.bE4EbLmB9cU96XWoHLbDbcL1JLun9QxwZeUFmAzyoxvh7NJxGh8bN0KTWhZArdQHUGqYN8HJI6h7Za9JsNgXh2vNTF51yQuwbzOZN5Mmi9wyQu0bzOIid1fDclwp1AwsOlqq7pKVWYvJ8Iv8Nml6vFO6KDyoXelbpNywa.Wt0FKYAra7oZmvOqcw962zs5hA2+hUXqkhwgLcnZO94PgJvQiw6AyqFQh7TobaW.k8DbQvDAm4Trr.RyGOlJyi8RuPaqTPUYFm62Y.0iBKBkw5a6bHrGGQVrZ+CxW7guNeowqu1NFtXcmN7+MFVV8+8CKuNW2sSFUhgutT8u737srMM2w5Yw+SA0AhHELiMcNmMLLbHr.fCM+HwJ5wrwzszzZ.MjxcMDuCdRD1Nc9oVX6TgHmTSA2sj2MaeaUkx0iNL6.5ASl8xmRGBqYngDLy6yBJ8INRwqch+iKzX8lFN.J4l+eI0r6oowsS+yIrsasdKjOLq50NN5BguC7vkelMVhy7nk3LatDm4wKwY1ZINySVhy78W6YzqIrcjR3G2jDXzeu3DKq8lkXUE8mvy42Cg
-
@gryphonsegg as David said in the post above
MyComboBox.set("items", ["Piano", "Flute"]);
will not work.
The items in a combobox is a string with a line break after each item like this were \n is the line break
MyComboBox.set("items", "Piano\nFlute");
that is a bit cumbersome to write if you have a lot of items so, often you write them in an array but then you have to use .join to assemble them together to a string like this
MyComboBox.set("items", ["Piano", "Flute"].join("\n"));