Forum
    • Categories
    • Register
    • Login

    Loading Files Into MIDIPlayer via script?? || SOLVED! 🙏

    Scheduled Pinned Locked Moved Solved Scripting
    34 Posts 5 Posters 2.1k 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.
    • ChazroxC
      Chazrox
      last edited by

      Im here....

      I want to save some midi files to here, while loading them into MIDIPlayer1...

      
      //Does this look correct because it doesn't load the file when I select
      // it from the pop up browser.
      
      inline function onbtnLoadNewMidiControl(component, value)
      {
      	if (value)
      	{
      		FileSystem.browse(FileSystem.AppData, false, "*.mid", function(f)
      		{
      			MIDIPlayer1.saveAsMidiFile(f, 1);
      			MIDIPlayer1.setFile(f, true, true);
      		});		
      	}	
      };
      Content.getComponent("btnLoadNewMidi").setControlCallback(onbtnLoadNewMidiControl);
      
      
      HISEnbergH 1 Reply Last reply Reply Quote 0
      • HISEnbergH
        HISEnberg @Chazrox
        last edited by

        @Chazrox You should be able to use the {PROJECT_FOLDER} Wildcard here.

        https://docs.hise.dev/working-with-hise/project-management/index.html

        Sonic Architect && Software Mercenary

        ChazroxC 1 Reply Last reply Reply Quote 1
        • ChazroxC
          Chazrox @HISEnberg
          last edited by

          @HISEnberg Nice! I havent seen this yet. Exactly what I needed. Thanks! 🙏
          Any tips on loading the file to MIDIPlayer? I was experimenting with just going to the AppData folder and retrieving some midi files there, but when I click on them the rest of my script doesnt execute loading the midi to the MIDIPlayer.

          tsempireT 1 Reply Last reply Reply Quote 0
          • ChazroxC Chazrox marked this topic as a question on
          • tsempireT
            tsempire @Chazrox
            last edited by tsempire

            HiseSnippet 3831.3oc2Zr1aaibjJIJIRWejq3PQK5G5Vg1qxm8wH4Gw14vcwx5giiksUjjcbRPvAJxkRLhjKC4JK6j51h9un+YJ5Og9S49dA50YV9VOrcxcWQaELjEmc1Ym26LK2VtLUpmGyUJSttm6Pkx7ix14ba9fpCTLrk1slTl6j8TGdOSosO2QwyipIkIyM2AGLStaII97MOZaESEaUZLHIoiYFpzlFVF7Xns1ZOCSyFJZztFVIvd0s1UkYWkYxFALxMyVRxQQcnRe5AJHZ2HqTlaWWyfyb6vU3TOoL2Zal14cFvFa6i+wFdF8Lo3Ckk5.DxGbCloFxwHTopCLL0ZEJvdRRYx1JV7uou3+IY22PyHBdrZ3dhAHwyHo9HyMRyd2LE6UNI6UJA6MCV5FIXo6DZQDrjox4TWAq..1s1tA.RxFUG45Rs4cnuYDMk43adTvPccAEaL76tUSFyotsBvbZIsdHw6An1wglbfu4QYt40VRKeoRpDJTMLLonTmI7A.aTBAKdMEthzM9qYxtRokks69f81nZYtb21aKexad8lspdRkm9Z4EW7oad35K1Zwgd0Jsmwn1i45tarsB+MarxF6+Bkmr+38TTacjwiOX8CZWk9jgu3Td4S5vpobft2q2Yr7o6Iu91xiGdp0n0rTVzo+ael1Icdt9are1IcOdnV4iq7jyYqsZa8g6UpgyIuo8N50GU8vt862VdOswcVTYkt82c8Gna715ls1l1Xw0NZe42dviG0j+T0ZO47Mar7yeQosGbhk7xlZr1m8Z9PugJ6+jW7XKiQztPHQkks6b7yTehxNuVooF6nSW6sadlpkW6g66Vo73cVz9EM1s+dFGRK8jAkqu5Qms+ZU2s7POGqVUspc5tM0YtMjA9kq0dk0OZwlOc7ltGMr0KNwv3.ms22ZjwYsLsJqUdTuidrb8muS8Jsd1C5r7y7VqpxhUkkOnYMciAG0n2Kpd1wMOg5x2T9Dmpqso0pGu5yGI+lsOcupieQqC2cccasiTaHglK+3yeY120p8gOod0teciCaVqd6KJWZEYKCzmDCz6Xz2VgOxEP81GLxZaEv9G4RQ15.lkALtHGT.v6sUMp8r.itqfqmKOoypuObJ2ztTKGFBnXtu8u8u9Sc2RJQb0s7iq93rcTcMb3wiftdeT1cs4TWcEH9IYrkOtR23W+KxVkAXXyksTFRa3BODMihaTpzRj0KUZguHe96eeRapN0ECEIbFINnMOjsyim..4KIhrtx8o73f8hEhwnfOEy8LEt5.C69D9.ZRB3gwi4iAH6Q4gAwUULMw+WTejsJ2fYWjCVEXFVNKQb.jDAyKj+c4yQv4fy8XEyQzhwC9EgioNPwtOUqH.4hkHb2Q3XSKrH6cpAcrCykGHt63xXmR21kM1SHwgpQPlqx.ykM7PwBovJTpMUzCHR2sa1TQOwrUco.+0jopXB9ACqXq0fRMQ1yGUYWZeCOv9zHT3Kn4pLtKlxqJ0zrvRjH0R+kHrduVnH5KqCaUUwzrH.QtWe+MmP0.NlGxxH.wndTSpJmpQdDNcYCN0xeTxCm.vxHA7Ica1HaXuo1vLAEpIUPIEPXVhr7rWFN8LdLaHFsACUYZTckQlbPRJup+PnDVwDB6nZcgYEMcg7ErJETA0mKUC0wWf54TZdj5SoT80n.tyxZapziZFXkL6YFlQGSQLWi8D3grBgP.xiPcTriHXK72ar+bITv3B+kDAAvjsAEbWlX7hAXAHkNPoM0A1lmencKlmA5ITU3jWLz61v1zvlF4mPX1ATBYFWlYQ0PNYIxoXfC5BABBwPmTzvqFUGltVQwPnwWHrKP9zOkDMQYMX+Nvtwbb.Gou7K8irDDwmT3mzbMp0lfl9AjQgkgyK5GPnTm5cIcOr01UZSZUock8q2sd6NIP.yan3BzBBY7JFPjKxeAnFtBUuu6pPgDkwYRMke7b.rPgnFH0Qy.xeV3yvMOP2Y.8D31BMRPbCGzlw4xTDwqJQwqkNqTvGbwxc+6CI.HlPJ.v4IoFDjh5mBRPSXHTNyg3YEfXZ7NfwoQApB7eIvlve7AFdHBOyPiOn3Bw.dL0n+.fruxOTF8CRPRCu5VN7yKt.ZnKEZkykC1EmTzFVLhgsOqHFKWtXW.PPiyJ3+OO4wCL3Is2AZioRwfjFzpxflIkawEAF4b488AfT0J8DA01LWKEfQ.eRmfcSHNAAIBjOUwEALkJKbumvHJPV+rIUW9Lb3Zh4rDqo6HSXKRDphHQVSzbCqwRDwWkjKMsdNPp7I3EA695WWKQjpmXwznSmhSL19vPE8UwEZyF6SyBOjrxpyIwnvuAKhvqAyUrSYj66KKzlBk5XuG87BuJfO5P4BASkYNxxFRTdN3COGdop.GuhuLHCRgcqAbRgFFtdb3mK4CrIlqEgKxZF.DYHDFlwODlPSW3gKWpDracZR1gBYG0lAME0NcMHZ4YPztCLbmEMgR.+.oXCvCmOXFjDKi7ZPyMmAIMzmIEQa10ifAV1bsoJZDKruPLCrGQ2kYQJD0YSAhN1.pKFNiN.NtrWCAiA6oYEfVKE9foCfBIRX5IL6jvCA7PwdifI7xWMi8lBcjBPqnH6HvpXDCYLjUfziJXFPZIQUlSbolJXILvl4TE0ABlCkokHF7euGjGfiQehd67IGf2YbnaRz0VgCRnNlpPvBBs.tDQZFfHPQR5x4yYh0TPFhx6KKTAxwWX6dhuwupheUS7bM7q5heVG+pA90Nhm2A+pRuBuRjZUjyTWjvLo9bg74vLpyXGS8vMI0UL8DE1FvT7oMBo5doXBbgxnHeY9bh0HWTz4CI5xdi54wcgJzKpKa.oeO6P8hEtnvBKVFVwXHhc3VXgkDyOJT7gDGvqlB8STj6IKBDCPILvJMFQsNsvhEtegESNThFnBHQTjzDzvuiLejfrUCA+BuH+BUE6eOGcYBr1fKhv7pjv35wjkkCTD5AqvPuWlxdDI45KP9cjxK+J.+KP8YRmUYmQdCvhUQMMTyQ97S4MOqzwovH4CH13FTp9G9A.cWjK.y7mWdlk04mBNp3kfdAvcuw5lwjB3N1IRwGs2M9OnFGOlIU1AL+XgQtTr4QhO1.0I1P1ZHoBYQQY39ktE36HZvxeivlLHoh+9E.a6A0YogM7gdlB8sOhL6T5gplF9b7rIaXUTt9U5FWWmnbgnZUSIkBRVXxZPmPHEHAB4UJcwUXd0BXHtWaYLbByULuXt9MIJUM0yAY3C6ZDSLZFx2QbJomhmuv6mkDz.yvqZFBAhov2Z9ouDtcwYLDyf7aPWWbvKMyVP4+WLYi4dnTfShnXqQ5vYNjdi3bvhF1lEN1b6wpYkmWXNsCACcY8BkS7Kn+3DbMVOYwRK.8HmTT.dpXo.d+xXi4zrQLe3a+97u6exSBapUbtC0s6CBevwNriIqmho+QCMwoOj2btm8.t0dMQmdty9zGRFNB4bMNMnSP7ybOXhnZoCm4.voycxv2IOTg3ylnbh3H+SP.abHwwRrRpjF4mE0RcDEwD589nHDEMq3B0g.aMEelBAvtjSSvGifiMh.Yf+br3aQI5d4iFG45hE3hZ67q0izkQRO230mD5fMCG+HRdUmDfeYCdBbaS8FYJp1.qfaxQELKLleNNNqIaLj0.xyTbAYnvBqhSZqSMMHucgEvjr6pGPOBT2GEa2D6ZhZCU5AROAU3FfNQj++8ZGUbFTnxoIbrDIx.JfoxRMiHLhwMjyAzCShOgfBlbNjA2Kovs.4O7GRQB7SP3nFaDrjcYc7K8BIbXQUPGiuGzCmYPsVe+yRgUf89yRAEVccXoERQf2ME4R4C5WwErBIB9iiwS+qneb4tKon+037iRD0N6j5SFiINu4Dwf3oybnseiNPMijIGRWeliEPMSp6LGFK828xlXQ6QV8ntI2kCQTJysR+Fxxd8dCYp9JmDHxr201fenC0ddu.So.MJ9dCC3J.Ut3sa7yBd6FTsiCNFdI7Ex7Sylx5IIX9juLEoIIzOIfPaKpTPPjamE2nMbtYyHl2Q6JdkcRYxDvU.mB6vwMPkPlZzSMTo9u3kbYqQ8FB6zKk4NQNBRY9n2KF+rXl9q157nG1ht0XrO8H.+8+xVCDGnSDj+7a1JbaS.1sGLXvSQvw6DhPe26d22lF5xH3G+3G+OQv5fH1w3sIzbxagnBh5OOa47Kmek7qles7OH+542H+l4KiuAzXI81WklcNBmzebBgSp6TB2S2ZFqzONXkDG0gXg9nrQgUyc0VMgd5Gkc0kWei01X0MVYCIbmS7MhmdmyTh3cRuvhByEK7cy5Wj9bW0CtRCnzy2pGyUi51VQyXjWRuWLNHhGt673gbA7v9IYBIoyS9v0fIftng0I4BFJayi8jll69j.tqAzcAG1nnK9VvQl7dYSBp72QdUDalY4r39AEhxgrqFdHWw0eur3rtJH5RFFoT9KjluPlTXt077y93rS7NdRJF0RX2mvw8Nyif2Mq32kSPm+tYZ+Ge2yeUVQqVn+YMWk9jOkf0bSPdYBElj1TJruZVQQy0T8SSapdebs8sKkuB6xzlkY79ruW18YZiLwS7I40VAuqNAC.6ek5cZiu2ZaOC94otgGeecWVttr3GmskAWcvr4waLCdDCy+AfGCtAP+3r000gNehYvakswI+vbceRt7+D+k+ix1ApdTba.DK9OW7L4YJmRI6Psotnxq7kbar9GW2aiky091XcnJGV9ttJ1dNLuTDtC0xnKDljJM2QdzFtz2zFslIgWkgm63LF5adTCPHm4b5fmCovsnhEajcpK9wjWFoac8J05JtUX25+5tUX+OPvdlLsl5pDdOv00xwjV29TpITKnfG+YPwehqqPHzz9x6yrYNCX1FpIMzsoPST86ScSx6yTfpv4otgaexVsolTkjNs+1sv2nnhK9Z+9.0Eku95hKyd8Kx5ytDL.j7+tIou4+emj1+JGzeeEvID1ZO6Air5.4FUo30DAJEBaxKyMv7a9OWJrmnNTaMwCeK7IXvx3yYBFrb3f+GYMrTTcYespe+cne5cEP.41VbO9xkce7YR4o6JDOb5uVUMMolZhK+gNwU9Pm3penSbsOzI9fOzIt9G5D23pmHtITkQbl+KfEubssp6WYYlnK2alaJ8uQLzARz
            
            
            ChazroxC 1 Reply Last reply Reply Quote 0
            • ChazroxC
              Chazrox @tsempire
              last edited by Chazrox

              @tsempire Thanks! I just checked it out. I cant tell what you're doing different from my script above. Can you possibly give me some insight if you see what im doing wrong?

              This is what I have now and still not working. Obviously doing wrong.

              const var MIDIPlayer1NOW = Synth.getMidiProcessor("MIDI Player1");
              
              inline function onbtnLoadNewMidiControl(component, value)
              {
                  if (!value) return;
                 
                  local root = FileSystem.Downloads;
                 
                  FileSystem.browse(root, false, "*.mid;*.midi", function(file)
                  {
                      
              		MIDIPlayer1NOW.saveAsMidiFile(file, 1);
                      
                      MIDIPlayer1NOW.setFile(file, true, true);
               
              		//pnlCustomMidiRipView.sendRepaintMessage();
              		//pnlCustomMidiPanel.sendRepaintMessage();
                          
                  });
              }
              Content.getComponent("btnLoadNewMidi").setControlCallback(onbtnLoadNewMidiControl);
              
              ulrikU 1 Reply Last reply Reply Quote 0
              • ulrikU
                ulrik @Chazrox
                last edited by

                @Chazrox is this working, you have a semicolon instead of a comma?

                "*.mid;*.midi"
                

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

                ChazroxC 1 Reply Last reply Reply Quote 0
                • ChazroxC
                  Chazrox @ulrik
                  last edited by Chazrox

                  @ulrik I tried it without it but, its not working...

                  What am I doing wrong?

                  Screenshot 2025-08-29 at 12.28.23 AM.png

                  David HealeyD 1 Reply Last reply Reply Quote 0
                  • David HealeyD
                    David Healey @Chazrox
                    last edited by

                    @Chazrox When the user installs your plugin they won't have the project folder, so you don't want to store your files there unless it's for them to be embedded in the plugin. For any files the user should be able to modify you probably want to place them in an app data folder.

                    Free HISE Bootcamp Full Course for beginners.
                    YouTube Channel - Public HISE tutorials
                    My Patreon - HISE tutorials

                    ChazroxC 1 Reply Last reply Reply Quote 0
                    • ChazroxC
                      Chazrox @David Healey
                      last edited by Chazrox

                      @d-healey I tried this same method with AppData and it didnt go well. It has to be something else. I've been trying for a few hours but I cant seem to find it.

                      David HealeyD 1 Reply Last reply Reply Quote 0
                      • ChazroxC
                        Chazrox
                        last edited by

                        via GIPHY

                        1 Reply Last reply Reply Quote 0
                        • David HealeyD
                          David Healey @Chazrox
                          last edited by

                          @Chazrox said in Save MIDI files to MIDI FOLDER || See code::

                          @d-healey I tried this same method with AppData and it didnt go well. It has to be something else. I've been trying for a few hours but I cant seem to find it.

                          Which issue are you referring to?

                          Free HISE Bootcamp Full Course for beginners.
                          YouTube Channel - Public HISE tutorials
                          My Patreon - HISE tutorials

                          ChazroxC 1 Reply Last reply Reply Quote 0
                          • ChazroxC
                            Chazrox @David Healey
                            last edited by Chazrox

                            @d-healey I cant get the midi files to load into the midi player.

                            inline function onbtnLoadNewMidiControl(component, value)
                            {
                                if (!value) return;
                               
                                local root = FileSystem.MidiFiles;
                            
                                FileSystem.browse(root, false, "*.mid", function(file)
                            
                                {        	
                            		MIDIPlayer1.saveAsMidiFile(file, 1);        
                                    MIDIPlayer1.setFile(file, true, true);                           
                                });
                            }
                            Content.getComponent("btnLoadNewMidi").setControlCallback(onbtnLoadNewMidiControl);
                            
                            

                            I've tried .AppData .Downloads and .Documents. I can open the folder and click on the file but loading doesnt execute.

                            Trying to load .mid files from anywhere doesn't work so it has to be the way im reading the file in or something...?

                            David HealeyD 1 Reply Last reply Reply Quote 0
                            • David HealeyD
                              David Healey @Chazrox
                              last edited by

                              @Chazrox said in Save MIDI files to MIDI FOLDER || See code::

                              but loading doesnt execute.

                              Do MIDI players have a setFile function?

                              Free HISE Bootcamp Full Course for beginners.
                              YouTube Channel - Public HISE tutorials
                              My Patreon - HISE tutorials

                              ChazroxC 1 Reply Last reply Reply Quote 0
                              • ChazroxC
                                Chazrox @David Healey
                                last edited by

                                @d-healey Screenshot 2025-08-29 at 5.23.00 AM.png

                                David HealeyD 1 Reply Last reply Reply Quote 0
                                • David HealeyD
                                  David Healey @Chazrox
                                  last edited by David Healey

                                  @Chazrox

                                  Show me where MIDIPlayer1 is declared Actually if saveAsMidiFile is working then the declaration must be correct.

                                  Minimal snippet time.

                                  Free HISE Bootcamp Full Course for beginners.
                                  YouTube Channel - Public HISE tutorials
                                  My Patreon - HISE tutorials

                                  ChazroxC 3 Replies Last reply Reply Quote 1
                                  • ChazroxC
                                    Chazrox @David Healey
                                    last edited by

                                    @d-healey Screenshot 2025-08-29 at 5.27.42 AM.png

                                    1 Reply Last reply Reply Quote 0
                                    • ChazroxC
                                      Chazrox @David Healey
                                      last edited by

                                      @d-healey

                                      @d-healey said in Save MIDI files to MIDI FOLDER || See code::

                                      Show me where MIDIPlayer1 is declared

                                      give me 5 minutes please! brb! 🙏

                                      1 Reply Last reply Reply Quote 0
                                      • ChazroxC
                                        Chazrox @David Healey
                                        last edited by

                                        @d-healey

                                        HiseSnippet 1031.3ocsV8taaaCDmxNpq1aqnEXO.b9SJEFFx4eKEAEMINwaFKI0XJKXeqfV5TLQjH0nnRlQQA1C0d.1Sy97dC1NJIaK03klYrQCXni2e4ui2cbrR5CooREwp8kyR.h0WX6MSnmNXJiKHiNgX8b6y4Ab5YRV.8RHUSNdVBKMEBHVVM+ViTVs1fju9y2bLKhI7gkaQHWI49vY7Xtd4tiO764QQCYAvk73JRuygi7khAxHYFFQMscIIL+aXWCWvLh0vl7crzoDqWZu0Vg9665t+1auqKisc.isSeX6WAg6E5uq6qbClrqK9aOh0SNMfqkJOMSConQOVFLyap7NQgCthmxmDAFh9DOzyEaSFLkGELdN7jRHVaLdIX0r.r9pbrYw92CzVpQUPypwCER8+WDRMpDRe177WdHEwlAp7P4Y1mO5jQzhc5WKPFjoTfP6A+bF7QYsRVWpP7uZB9LoL4TACCufpaar9DTTuDnNCql+GcVIli0PdDX9txwdihi8Kr87U7D8RNly9maORnAUHCObUO3ExRZ7GMrGHQID5dwrafgJjXgFN6451kh+s4AsaiWKS0zaYJpAMKAS5qo4EK8tFzKQcmNUA7Nn1KUdhVXJjt.tK+9wqoycOZgAx3Do.Ib5TWLiIvEWDwE.MLS3q4RAUJpKlwTJYji+b6zEcYTFrY622lhKdH04qK1gp.clRbfY+bdQReVDUIkZLlLnr2rTMD26njjSXZF5eiTUXLQIuKEbLZzkFxhRgtzNurWLOnS2EgnSHpvlE59dZ4pU6Vspfg8RY2BGkNO6lqRWZ+MOXt7sm+QMk.cEo0prx+Wp1JV4V5CHX9g1ONX23lRTc.KJxbA24e.0MonJYlKjZ3sBGCz2BcG8iYEFtRdkFKBuDsJ1llkpGRQGQV7DPUIwmKHVkTuJ7IOtpP+BTphfRwHAW+1DnjdnLJvTRY9dE0rkvL1oxpLBQQ04ErOqrf83LsVJH7.SSy5PKI+TTsqD4GGYtNN2dnoQ2k.JM2bprNAtEm0TzPnk8IP5MZYRtrkoXrK4i26+xBO+qWc3rED+9jCuiGnwoP1V+FROE3WOUanbPJd54xXzSLEpgUiUzoBGMHCxhX55yKLSRKYfozZcqLcjDob8rZMVe7CQbe3FqOxP7E1i4Z+oqNFarhXzLe5+gXrbz6WZeZXH3qWFfaXO7mV24reB2+CxLMWb84LshiWKruHK1CehhOfdWHfnTS5ug4BeAsqg1f.dfHHm3uvUIy9FZqRl8myjDy7Ux24WTlXFt+z7cvXRj+3mV1mano8ueYA10k+Ne+5l5dJt05p31qqh6rtJt65p3dqqhey5p39eZEMcSNJSKiKJavmxL9z71XVVKdJkUSxeCLcj3vC
                                        
                                        David HealeyD 1 Reply Last reply Reply Quote 0
                                        • David HealeyD
                                          David Healey @Chazrox
                                          last edited by

                                          @Chazrox I'm out for a few hours, I'll take a look when I'm home

                                          Free HISE Bootcamp Full Course for beginners.
                                          YouTube Channel - Public HISE tutorials
                                          My Patreon - HISE tutorials

                                          ChazroxC 1 Reply Last reply Reply Quote 1
                                          • ChazroxC
                                            Chazrox @David Healey
                                            last edited by

                                            @d-healey yes sir! 🙏

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

                                            51

                                            Online

                                            2.1k

                                            Users

                                            13.0k

                                            Topics

                                            112.8k

                                            Posts