Creating a MIDI sequence browser/selector for MIDI Player
-
Here is the snippet with the MIDI file loaded directly into the MIDI Player. It's got to be something simple that I am missing
HiseSnippet 2518.3oc6bssaaajFlxNrIVMNHMn.cuYADL5EJHID5rs2hBKKRIaYcvRhR1RZSQAE4HIZQNCEOHY4h9BruA8t8QXeDVf8oXuq.686l2fcmghThRV0Q0HwqcBctIy++b3a9m+CeyvDWQGIBLLP5TA1p9DM.UfmRyOAZ1msufLjJOGUfGSWGnpgnxLQSvv.HQEHvlGQTFXqGQY+y6NHifh.TDLWDE0YHYQPQYUYy4RqjtfrhRNAIPcYUO8NQ57hHHKRAYgAxlzQnzDDGHzCTVfzsMnoB7EYkjMQ57lBl.Cp.OJCRZBeezX3z9elrgbGE.oQTJd7DMUbNjhDAwDoTr8kUjp3tgMnnBDrx7s+lS29eMcIYI4YxmaFdtshPyGgW6QfMtI3E0K7hr9vKfG38nov6qn4E0k0LmqgfsujNOzDn2U.eD3EVS6K0F+kMnYQ3d.MYTEF.xoiaLaDg2ORjWGJU7nu761N31AwGDFlgFInGpTdt7UTDl.ziF56CY6UvzCXZaerEGdGRWB4zmcHie9nYQpcPYPWRFq6hiGMVrFBhaDdmY8XmkWYEY7e468B.2ENmrB1oxvLLYHyl.FC.d9jMApF67Z6QybARFFdm2B24kSmbxexB6ICALBRRkPRVJ.6Sq5nFF.8J5.643ZansCJCUviJTWKnnoLBFh3n5rtj8kNRIrn6l50X3qXAd41A+osCtkW7imcdvPK.NJILAf+Y6N9ln+.YQ1Z6f+r8Z8dMTj4wYUYETT5fCSBec.8xuyCZKiLAmBC+xf+TvsB9yACsrptcWoNmoRAeLuJ0j.X8aZfggVpc.5tVD2Nh8jWLTg92NTwajr3TKimNhf4gxlmpAf+VAPTNlSRnjCpvc0zNP54NARtlNJYIRbzLKIkMr8liipQdNASA2ICOu30RCnaJS1FA3.ivI7lFktEMGvXfIRytuNmi3s5ZtzWNaY+0NomLqQ5VoUEv5nCLMY50RNfSQQ7qELWLuEIYsiB7IzBIHHIAfFxlS7tQ+njLacg6WQWQ1Tr+pw6Fq.u3yiO130ozv1zY61EHZNGrOhNWyO90A7Bk+3Tn7BZdScffpLrGufpFNH0FOAocZE8CQ0Zs0tZMN6oBRPhW9JOc6umNiE1dounz+VZ6k5PUjEbg0xA40.Z.AS7wumw7jz0pcjNxRa4Q8tCrcVpqiSChMEdUbJDfs6ld2ir5HCit3si8bY3UUEK8dDa0bI0.i.5FKJqrkJ9rGBAJj7VAHgg3ZGjyZYwRBl5xW5s21qRj5B1m2XJL1sitT6XK0N9RsSrT6jK0N0Rs2cd6oFzRBZDOCBEpkR7930KwKdBpHf2xd5YF4dyl7oRl6.GYtY1FJd3nsBFNewGKBXatdAduGRWO1kR7bNO1P4Yzd4Ir.PXsz0I0obp060kzQks2pW4EQHsrPhwRZAWa7rSpuyqAVTQfMW68ZzabuR4xnxde61.2aGOF6xcaDdC5DQ1mAVOUg8XOauSt5HVliavqAybQrK3XlTIdylphM40DaNPhcLpUMK4p83qrORLYA158u3x1QaOIQ7ppopOnQRP+Wws6nBEZUVN133QPI0mDK1tmsmQrnmDonX6HZmGKYjBrWb7fShDqJPra+gYYmHeThKqMbPJbIRf0tXlOGW77HcZb3IiZlnzEbwxkvnStBC51WKqU6wCyT6Jii1myv37iqycxI42maPp3Qxe5XtifWLhYvELmTMSyCGDY7vxsxVrCK6t4YRra83L8qVj4UUqLJQ1Jcf4Dq1wbTa3fxLiNLyIGUMJ2kExUfscwiUgxMGCpIcQwZsOoCSKySD2Oe+NkPiiZVpQ61iJloX0ygmNdXR8t6l+rXW0rJ+XnD3XFwb0izugDShAcZTl87K5W.xNL4gIQb7mkPBo1nL5JlR5iNTjAYwWqaqt61Nh7vlBRvSyxmusV95P1H6moQ8lY6K0nQgliycVRQFtQ62nk79JkqcX9iGGuWzg615UiqKebw1iqweUsnS5O77Jm2czdGmkAkGIVQlioUg7EY6zSJy48TisWWqjXKSeKiLk46HTe2WUTjeR084jPM1Gv1s03IiurbpCY04FToc07mzPsGdrhSTaljkh38L8Fabzr+o2R3Ua7VCAr+0a4PhVpXmei2VRPWFEJCNIASn2Dh2ByfJjWY06CTALpDNQAH0c3k6AELszwyJMNAbFAc6L2+m+M9GTlzkQ3hfDJDyiPddZN.bUhIAZ3fF8EpJLM5ag.r6NpUeXRSskKF4kIYkyBGgKGikPv3KvTQ6JXoX5JcwzUkPPjVeDTVbwhe3hY85Az8h8UtgNzzbgrYec5Z.EffgmDeea5h36OInuXM8eW1hnqus3lNu9CzSgaHheUnOMnDu4CMJw2dWdujEnmt9XBul.c.BuljE+oNMCkq4ht4XFLyMOsRetrjYeuBt68EeNMFS2u7AexrG.zNMxQtP8YNBBQjbS2rfhhCfIs3Uv0rzq3tG4wYlzMqfTvUAVxM9CESm.OZsi0HaoGN4FHo2wl7GR.11k3gCfuuDnVCYYhuiq68LIbg3wW.WD38JoaPtl6z1QbenHd.Txtw+E+iixnt2eknLpqRpqmfcKZ7sVFAxNblsPGSvCCgggxVcwbAX.gI.hy+Z3tx4xUe18ZvEB9fcsk6XSgys.+RZdBOTaRkNEabaungvQLwWwalPf4Jd9BcvxoPqfLLWV1Gt7fqa4ougd9t3yOm+W3xtfaBTPUVzv4qr31b4hflfqc+cJJh3580AF8w6skUrLu42c.Q503N2JM44i0sg0JVh4JW4BMWcMxo2BuEwLUKiju0yRtB7X+FgfUAFGMqDIN5t9t1QwJtzvbTTRX.vRaES20U7fMGySbS25r0bdNWmVK5uM0B6rsSGO9+5fSsL0rL8J4ZFzecwqpg6z+3fBPfaO9q+xu7OO3Aq06lxj8Lm2DOzza9e+lrwSoseE2PjGc+S4bshtSEdu472serw.aBlQXXCEvHfh2naCqtcIPZC5ay2DIl+2Dw+ah7+kuIRzO69lHwVuuIBdstO+MQ9j9cfi4+Nv9uC7mR+SivmDnOIv2KIv39j.8IA5SB7NgDXbeRf22IAF2mDnOIPeRf9j.+rhDXBeRf9j.8IAdmPBLgOIv66j.S3SBzmDnOIPeRfeVQBLoOIPeRf9j.uSHAlzmD38cRfI8IA5SBzmDnOIvOqHAlxmDnOIPeRf2Ij.S4SB79NIvT9j.8IA5SBzmD3CXRf2EnTUPTG8ihS+UJGAqOwVBFkP6e8mrEcIR6Py9sHGMcDlHTp3xH+nnHIP3MXK7pGSrawXheKFShawXRdKFSpawX18VLl8twwPpfenkIRcZRRrfJYm5XEvy+Eko9e.8BObHA
-
Update:
MIDIPlayer1.setFile(var fileName, bool clearExistingSequences, bool selectNewSequence)
This does infact load the file from the MIDI folder. Thanks @ulrik I actually figured out how to define the file name. However, I am not sure of how it will work once the plugin has been compiled.
@Christoph-Hart does setSequence in conjunction with getMidiFileList work on files that have been simply dragged into the midi player? I am not able to get this to work. I have several different midi players that will each contain a separate set of midi files. Although "setFile" works to load the file, It's only ideal if you have 1 MIDI player with 1 set of Midi files. I need a solution that will locate only the MIDI files that are contained within a specific MIDI player. It's not ideal for me to select the midi files from the project MIDI folder because I am trying to categorize and group them based on the MIDI player they are in. For example, midi player 1 has flute midi and midi player 2 has bass midi and so on. When the user clicks the combo box, I only want them to be able to select from a list of midi files that are exclusive to the slected MIDI player. Not every MIDI file in my project. I Hope that makes sense. Is there a solution or am I missing something simple?
-
@Mwins if you Console.print the "list", you can see that it's empty,
so this line don't get anythingconst var list = MIDIPlayer1.getMidiFileList();
-
@Mwins said in Creating a MIDI sequence browser/selector for MIDI Player:
Update:
MIDIPlayer1.setFile(var fileName, bool clearExistingSequences, bool selectNewSequence)
This does infact load the file from the MIDI folder. Thanks @ulrik I actually figured out how to define the file name. However, I am not sure of how it will work once the plugin has been compiled.
It will work just fine in the compiled plugin
-
@Mwins said in Creating a MIDI sequence browser/selector for MIDI Player:
Then, how would you obtain the filename for MIDIPlayer1.setFile(var fileName.....
You have to store the midi files names in an array or something,this is how I've done it:
const var DemoSongsArr = ["Bel viso", "Lorda mornar", "Sakkijarven polkka", "Vals i natta", "Miss Karting", "La China", "Invention 1", "Kass theme", "Libertango"]; //populating the cmb inline function onDemoSongsControl(component, value) { DemoSongs.set("items", DemoSongsArr.join("\n")); if(value < SongInfo.length) { // Set the midifile MIDIPlay.setFile("{PROJECT_FOLDER}"+DemoSongsArr[value]+".mid", true, true);
-
@ulrik said in Creating a MIDI sequence browser/selector for MIDI Player:
@Mwins said in Creating a MIDI sequence browser/selector for MIDI Player:
Then, how would you obtain the filename for MIDIPlayer1.setFile(var fileName.....
You have to store the midi files names in an array or something,this is how I've done it:
const var DemoSongsArr = ["Bel viso", "Lorda mornar", "Sakkijarven polkka", "Vals i natta", "Miss Karting", "La China", "Invention 1", "Kass theme", "Libertango"]; //populating the cmb inline function onDemoSongsControl(component, value) { DemoSongs.set("items", DemoSongsArr.join("\n")); if(value < SongInfo.length) { // Set the midifile MIDIPlay.setFile("{PROJECT_FOLDER}"+DemoSongsArr[value]+".mid", true, true);
I have also tried there and given it up for the time being.
Do you have a working snippet here? -
@MikeB Here is a working example
midiplayer -
Super - Many thanks for that
-
I just tried the midi player for the first time. i just have a problem with the play and stop buttons. even if I assign them the play button does not work. it does another function. i am using scriptnode version about 1 month ago.
-
@yall What kind of reference do you do to the MidiPlayer?
There is 2 kind
-
@ulrik I didn't pay attention to 2. but the one I use is simply called the midi player in the midi part of the containers. the one where there is the drag n drop, choice of sequence, play stop rec.