Force recompiling of a Midi processor script
-
I have a script that makes the sampler ignore incoming notes not present in the sampler.
However, if the sampler is empty and I load a sample map, the Ignore Notes script does not recognize the change and, therefore, blocks all incoming notes.
I added MidiProcessor.exportState() to run onInit and MidiProcessor.restoreState() on sample map loading, and that has mixed results. Sometimes it works, sometimes it doesn't.
Is this the only way to do this or is there another way to recompile those MIDI scripts when a button is pressed?
-
@gorangrooves so your script check what keys in the sampler have a loaded sample?
is it not possible to run the script again as soon as you have loaded a new sample map? -
@gorangrooves Add a panel and use the preloading callback.
-
@gorangrooves this seems work, however I had to create a timer and set it to 500ms, it seems the function to load a sample map needs to finish before I iterated over the mapped samples with
Sampler1.isNoteNumberMapped(i)
I tried with lower timer values but it made Hise unstable, I guess the iteration disturbed the loading of the sample map.
I tried it with 3 different maps, where one was empty, and it seems to work
HiseSnippet 1599.3oc6Xs0aaaCElJNpqRqqqsqOrWFffeRAMH0t2A5FlqcRJBZbhQbZwF1kBFIZa1HQJPQkFug9eZuuW1em819GrcHkj0E6jkDzKCayOoygmCOemCIO7idff6Qhi4Bjg09SiHHiqXNbJSNo2DLkg1Zcjw0M6Mg3cXebTDw+YjowntSivwwDejgQimpLyvZYj92e70cwAXlGoPEB8BN0irMMjJKzNnyynAAah8I6SCKY885rkGm0iGvS.H0vrEJB6cHdLYGrxrkLQFWZCepjKFJwRRLxX4tb+oCmveMK09WPioGDPTBsQCgIJU8l7.eEhUZQ8lPC7Gjm5wHjg4fhBQizBwMM6S8oyzWTPtld.mBOJWOLVpJ7ZTAdsOI3s.HYTBRKmBoqaNzSPijEinvyGatESRDivPYuLTRsEszuujYONXAStVH9PxlBPXlGtOnUqUcteqVq7XaanzGKcNBKbpsj67UN5cEqMlHqTUbaVyxlv7TLMCwgQADQ6x9moysY9fMqF5T0vLF2K7.vwbrCt1iGFwYfPtyYVolgJJVKl.1Pkjv3lqNCEEQGLaaZrzck0dEmxba98rlqnPAkEPYDmQILOIkyb3rJSqBJBdfqWNNVEPbPBYE6e11ZVTB3X+YtUXqJ5aAHZexwPfgnYYac6aaoqeNaC9Px7J11pVQUkNOQJEzCRjD25CVStqjspiT.n5w1uAxoyT8SEgrrqGNH3.3Pm6hSdXVKUd1gKI6xb0E.62X6TenQiV3XYykZavhFV0SPbZN5xRBOfHJW9UFBGTpd5y7rc5yKsDUxPNaKFUtaDgcRsLPY0U0I0LTAlJ0mSuV14Tnde.uK+XDENP9olUJmHMzK25D87sVGKw4SHL2P7hHBIUkJFqSNB5il1HvxbcR7gRdj11rEUjwkOGg+3hPS6LsP3a67ZpubRgheryDBc7jRMu2pSHFb2zngxY0gLjwmY9b+DaRXjbpMT5kg3HnK+bcvfdmb+j.rrZCU0sHYC.qyU5ho5TwhoxokKU06xt7IuN25LeIvYEtW2b.U5MYw3coEfWXE8cMdyty5SL2XzHhmr.rKat42bpWP8VGJeQJTtg4PoffCorwYcF03w1LuO4aCZDQmYZDCDDceY5OUxreqS2DndIpp8W5nC0SB4IrJwJC46QhHXIr7WxmK2Yu8dpfmDU2qq0QuYYeAzQEJEkywcYDntKKqpmfGGOBRG8bEWN8GjHFqpUEZ1ibDQDWU2NIgvZOiQBTc+LL.UOOlnVqod8wvMHGW1ZcTZsOVudCbqzxsqIemZx2sl78pIe+ZxOnl7CKjm0QRsyvT0AYtN3ezYqCNLGCvPVWxxtzwyl+TMk2COqRqQSI9iKfI1k9.PNr0aIxgmN68bJh8aXlR.adtDkXfg886lHkb1br9.6.dV.Qx1stf7+DjwNU3a9c+vLVgRPbC1XfY1ZdPKEo9vtX2CdEzoycwz1lGemJ2M5HG2LIKPzpD6Ju.BVnhhkkbsXIVHSYmjRY1xBl2Xd.YsHAE3UkNIf92jx8ZNXrXhVmHbUYmMvRTphosT4sN7y7MOmSYKMhKbboP4p0icnNeoS667H3iacqrzRklynoRiULz1QSjJMztzU.Cqj8QIwS.05DB3qVMYapQkZ4yRNgBrTABIYT2.pmZneBTEU6MXpsV8gcpvq6T6KJPiaJ4XEZKuP.UD3TVrKisRV9TENf9zB++SCMkG3Uy5HjdnUyB7llyuU6cASzkOeHPylTE6opOrQn2ibGe6zD1JGiCopyWavNB3a.ZTX7FPMZDNIPlqsJ2m9bFOZBmQ8pd6Nba83wDQYruvDBdYHzInPyM6rGAZZEWrjt8u1YanAIVTkzx4pVb9+2JV350malBWG0gKm+cv4uw+447eZktqlw32Yn5xy+guNeESMGUG0SJ9PA083IR3oB4z0MgKEGBuiwiTlY+RpV+oxsxadNjv70B+I7Kav14OCPMX67AQd4SEjaYeq63azfvTDh0OkM.dfQP4szwvqkTPBnt+dAkgXOA+kdoWqov5k0Z.Txz+cvVl8UxNsqeEFBEBrveomW0oZNGuyE0w6dQc7dWTGu+E0wGbQc7gWTGezeuipGI8jDIOLsYJB0evFoa.M1X1FvFn+BYv1N+
-