Enabling/Disabling Samplers with a ComboBox?
-
Hi all!
I'm building a plugin that is effectively going to work as a platform for many different virtual instruments. I need to be able to use a combo box to navigate through these instruments, but as some of them require more than one sampler to be active at a time I can't just use the combobox to change sample map, I need to enable and disable samplers depending on what's selected.
It will also need to enable and disable panels, as each instrument has a different interface and these are each on their own panel.
My issue creating a list of samplers that I can join to the options in the combobox? When using a combobox to change sample map you would join the two, as below:
//Get sample list const var samplemaps = Sampler.getSampleMapList(); //Get and populate the combobox const var ComboBox1 = Content.getComponent("Presetbrowser"); ComboBox1.set("items", samplemaps.join("\n")); //Load the samplemap inline function onComboBox1Control(component, value) { slot.loadFile("{XYZ::SampleMap}" + component.getItemText()); };
How do I create a list of samplers and join that to the items in the combo box? Is it possible for more than one sampler to by nested into one item? For example, selecting one item from the combobox needs to enable 3 samplers?
Hope this made sense,
Thank you! -
@LozPetts This sounds like a use case for expansions
-
HiseSnippet 1420.3oc6Z0saaaCElJNpqVqqnsnWraJfPvtvAMyw+jlNfrg5l+JBVbhQbZwFBBJXjosIhDo.EUV8F50CXOM6QXOR8MX6PJIaIG0DWu1tep7EA7bN7P9wyg7b9Lb5H3Njf.t.YT93Q9DjwsL6NhIGt0PLkg1aajwsMaiCjDgcjpMG4iCBH8PFFkdlRgQ4EQ5Ou4IahcwLGxDUHzK3TGx9TOpbh1Ns9dpq6t3djiodol8Zs1ygy1h6xCA7TxrFxG6bNd.4.rZZKXhLtwN8nRtnqDKIAHiE2j2aT2g7ehEM+WPCnm4RTB0QcgEJR8tb2dJDqFi1ZH0sWmjyc.BY7YclDEJEEEtuYaZO5X8ShF2QavdhGoiGFKjEdkx.u5uM3kCjLRAoEifzcM65Hn9xIVT34yM2iAIm9XHrmFJQyEsvOVxbKNLClrpG9bxtBPXrGUVuVsUrg+r7FVVVPrOPZeAVX2E646RD0s+Na8kgpCHRMF0RUVJw9RJ+tjaMtF2ZjuaMuF2ZlxMuQ6yw8NzWRAQvuSN4zUNIAUoFtRxVlmtjAMO8T0wmxboLhc+PliZYsU2D8NiuI+U0UQPA2shC2ymyfX4J.vcCIKa8KVkWcUaYn.le+91XWWa4PhcPzJGTsZUqxIab0.hLIEUQJ.22XrwFWkwl4Zb0UoRHOB2zfsTDFsugm80Xg.OxtOW.ZnA1ADWhijzKBwVVkAKUnPLq1F1zuMSf7D8TNspKgMPNbC5Ce3xVkgSX47l0IzSy.q9X2.Mtds0q2vJ4NmJUlDzprz3.5RKq7MNrtED0NCdnW4xQbX8RkONfKIGxpni5Vu1xdZS86mqs30BBj4ZVUCRbUNVgE5cFQjNmqlH7vL6q8aLau1chBMolHmsGiJOzmDKOobU8bpMfhisppDwHDlpTWi3Nw0HRhiHZOUIhwgUj9HjtjM546sMVhSVLXcg8xmHjT0QxXaxEP86nBPkM2lDbtj6qmabREN1y3V+JjgowuAa5H0feEF3g05JACoRhGreOvL5Rlccq3AMRFzzBZbbohhP4XduPWrLaMZUioXCfuYJLpJ9wBnxQoiBSW3dw2dprVt8UxMQMiv8tlcnRmg4i2ExAuPx5CMdiaC9El6zuOT9XBXWzb2e3J648dGJOHBJ2yrqTPvdT1f3xhZ7XYlTd88AyD+YlYRGAwEpI1k9yol1ezZyPHdIxp82ao2pm5wCYY1qXjeDwmfkP5OkO2r0QG8LAOzeZudySzWVNV.ELgPQZCGxHPbWl9LtkfGDzGNN50JHsoNghApX0DMGQt.ZYkU2AgdPtmwHtApmpFfpmGPT4ZpSarTPeU5Yq2kZGi04aftlVt9TxMlRt4TxqMk7ilRd8oje7D4n.Zaru5lght3TUnu4rUgFVfNX3HmZlaRGLdwizjsDSpoNNlqwUJxoW8Udia7ghE5G0hY+8q8VZ1f60PZtbBF6RUoscXW.uWAMJLdOnQVebnqLQa1ZGs4Lt+PNi5j80Abaev.hHM1y8.8ToDdbNQy8acDvACGj548W0ZefqIVj8Q+6Tr3c+KPja95KMifqspfm8+O5YV5S9dlWUn61wcLsgcWH+Wdd9Vl5Z71pVx+SA0i3gRnUaR6NSnmXWfGfCIcmwETcaijqojU.pKg0SK7mvmXi0SZipLVOwHxIYofyV7XMsbiRDlpMhlJnKzf1M8U5.fsgBRPqt4fwTiL7LKXLUvXpfwTAioYiwTiBFSELlJXLUvX5SJFSMKXLUvXpfwTAio4fwTyBFSELlJXLUvX5+vLl9XfROrif+RmneXaEVuoVCfRl9+BnxlsUx1W52xFg7f9UuzwI6RcIGaLuN1bdcbs40wGMuNt9753imWG+lq2QEchmFJ4dQESQn1c1I5BnwNiu.VB8WHV1USB
This should give you a clue - but you will likely need to set up some object data structure for each combobox option so you can turn on the correct samplers, load each with the correct sound and show the correct panel.
-
@d-healey I had no idea this existed, this is killer. I've got two expansions working so far! Thanks David!
-
@Lindon Thanks mate - I went the expansions route before I saw this or I'd have given it a go! Thanks so much for putting that together.