HISE Logo Forum
    • Categories
    • Register
    • Login

    Creating a MIDI sequence browser/selector for MIDI Player

    Scheduled Pinned Locked Moved General Questions
    19 Posts 5 Posters 1.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mwins
      last edited by

      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
      
      ulrikU 1 Reply Last reply Reply Quote 0
      • M
        Mwins
        last edited by Mwins

        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?

        ulrikU 1 Reply Last reply Reply Quote 0
        • ulrikU
          ulrik @Mwins
          last edited by ulrik

          @Mwins if you Console.print the "list", you can see that it's empty,
          so this line don't get anything

          const var list = MIDIPlayer1.getMidiFileList();
          

          Hise Develop branch
          MacOs 15.3.1, Xcode 16.2
          http://musikboden.se

          1 Reply Last reply Reply Quote 0
          • ulrikU
            ulrik @Mwins
            last edited by

            @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

            Hise Develop branch
            MacOs 15.3.1, Xcode 16.2
            http://musikboden.se

            1 Reply Last reply Reply Quote 0
            • ulrikU
              ulrik @Mwins
              last edited by

              @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);
              

              Hise Develop branch
              MacOs 15.3.1, Xcode 16.2
              http://musikboden.se

              MikeBM 1 Reply Last reply Reply Quote 0
              • MikeBM
                MikeB @ulrik
                last edited by MikeB

                @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?

                "One hour of trial and error can save 10 minutes of reading the manual."
                "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
                HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

                ulrikU 1 Reply Last reply Reply Quote 0
                • ulrikU
                  ulrik @MikeB
                  last edited by

                  @MikeB Here is a working example
                  midiplayer

                  Hise Develop branch
                  MacOs 15.3.1, Xcode 16.2
                  http://musikboden.se

                  1 Reply Last reply Reply Quote 1
                  • MikeBM
                    MikeB
                    last edited by

                    Super - Many thanks for that

                    "One hour of trial and error can save 10 minutes of reading the manual."
                    "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
                    HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

                    1 Reply Last reply Reply Quote 1
                    • Y
                      yall
                      last edited by

                      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.

                      ulrikU 1 Reply Last reply Reply Quote 0
                      • ulrikU
                        ulrik @yall
                        last edited by

                        @yall What kind of reference do you do to the MidiPlayer?
                        There is 2 kind
                        Skärmavbild 2021-05-14 kl. 00.23.22.png

                        Hise Develop branch
                        MacOs 15.3.1, Xcode 16.2
                        http://musikboden.se

                        Y 1 Reply Last reply Reply Quote 0
                        • Y
                          yall @ulrik
                          last edited by

                          @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.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          17

                          Online

                          1.7k

                          Users

                          11.9k

                          Topics

                          103.3k

                          Posts