HISE Logo Forum
    • Categories
    • Register
    • Login

    Setup BG Images or Custom Button etc theme for Inno setup

    Scheduled Pinned Locked Moved Unsolved General Questions
    35 Posts 6 Posters 3.9k 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.
    • LindonL
      Lindon @DabDab
      last edited by

      @DabDab said in Setup BG Images or Custom Button etc theme for Inno setup:

      @Casmat Oh I see.. very nice post. Thank you 😄

      Build your own in HISE perhpas?

      HISE Development for hire.
      www.channelrobot.com

      CasmatC DabDabD 2 Replies Last reply Reply Quote 0
      • CasmatC
        Casmat @Lindon
        last edited by

        @Lindon im hooked… how does one do this madness?? How do you go about it?

        i make music

        LindonL 1 Reply Last reply Reply Quote 0
        • LindonL
          Lindon @Casmat
          last edited by Lindon

          @Casmat Well basically:

          • Hise has the ability to get and use folders/directories
          • so there are constants for Audio Files, Sample Folder, APP Data etc. etc. so you know where these things need to be, or you can ask the user where they want them to be:
          • Hise has the ability to uncompress zip files

          So....

          Build an installer app that:

          1. Works out where your product folders need to be based upon the folders of the installer app:

            • so our App is called Fred, our installer is called FredInstaller so, our installer reads the app data folder for itself, lets say this is:

          C:/Users/DabDab/AppData/Roaming/DabAndCo/FredInstaller

          So Fred's AppData folder is:

          C:/Users/DabDab/AppData/Roaming/DabAndCo/Fred

          1. Asks the user to define the location of the samples (if your product is using samples)
          2. Reads a manifest file - that tells it a list of types of things to install: like Samples, Audio Files, Presets, VST3s, AUs, AAX files etc. where each of these things needs to be unzipped to and the name of the zip file containing each of these type of things

          Here's a simple example of a json manifest file:

          var manifest =  [
          	
          	{	"DataType" : VST3,
          		"Location" : VST3LOCATION,
          		"WindowsZipName"  : ["Fred01.zip"],
          		"MacOSZipName" : ["Fred02.zip"],
          		"MegaBytesRequired" : 1
          	},
          	{
          		"DataType" : AU,
          		"Location" : AULOCATION,
          		"WindowsZipName"  : ["UNUSED"],
          		"MacOSZipName" : ["Fred03.zip"],
          		"MegaBytesRequired" : 1
          	},
          	{
          		"DataType" : CHFILES,
          		"Location" : USERLOCATION,
          		"WindowsZipName"  : ["FredData04.zip","FredData05.zip","FredData06.zip"],
          		"MacOSZipName" : ["FredData04.zip","FredData05.zip","FredData06.zip"],
          		"MegaBytesRequired" : 2600
          	},
          	{
          		"DataType" : METAFILES,
          		"Location" : APPDATALOCATION,
          		"WindowsZipName"  : ["FredData07.zip"], 
          		"MacOSZipName" : ["FredData07.zip"],
          		"MegaBytesRequired" : 1
          	},
          	{
          		"DataType" : WAVFILES,
          		"Location" : AUDIOFILESLOCATION,
          		"WindowsZipName"  : ["FredData08.zip"], 
          		"MacOSZipName" : ["FredData08.zip"],
          		"MegaBytesRequired" : 26 
          	},
          	{
          		"DataType" : PRESETFILES,
          		"Location" : PRESETLOCATION,
          		"WindowsZipName"  : ["FredData09.zip"],  
          		"MacOSZipName" : ["FredData09.zip"],
          		"MegaBytesRequired" : 13
          	} 
          ];
          
          1. Asks the user for the folder containing the install zip files

          2. Gets a list of zip files in the folder

          3. For each zip - looks in the manifest to see where this needs unzipping to, and unzips it there

          Done...

          Of course its a bit more complex than this... but if its all too daunting then pm me about licensing...

          HISE Development for hire.
          www.channelrobot.com

          CasmatC d.healeyD DabDabD 3 Replies Last reply Reply Quote 0
          • CasmatC
            Casmat @Lindon
            last edited by

            @Lindon interesting! Thanks for the info!

            i make music

            1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @Lindon
              last edited by

              @Lindon But what about the installer for the installer app?

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              LindonL 1 Reply Last reply Reply Quote 0
              • LindonL
                Lindon @d.healey
                last edited by

                @d-healey said in Setup BG Images or Custom Button etc theme for Inno setup:

                @Lindon But what about the installer for the installer app?

                wha!??? boggle boggle...

                HISE Development for hire.
                www.channelrobot.com

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @Lindon
                  last edited by

                  @Lindon Presumably you have to get the user to install your HISE based installer before they can use it?

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  LindonL 1 Reply Last reply Reply Quote 0
                  • LindonL
                    Lindon @d.healey
                    last edited by Lindon

                    @d-healey said in Setup BG Images or Custom Button etc theme for Inno setup:

                    @Lindon Presumably you have to get the user to install your HISE based installer before they can use it?

                    They download the installer, unzip it and run it...thats it....here's one at the start:

                    3b80fb28-b976-4fda-88bf-6a39ce27802c-image.png

                    HISE Development for hire.
                    www.channelrobot.com

                    ulrikU 1 Reply Last reply Reply Quote 3
                    • ulrikU
                      ulrik @Lindon
                      last edited by

                      @Lindon nice

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

                      1 Reply Last reply Reply Quote 0
                      • DabDabD
                        DabDab @Lindon
                        last edited by

                        @Lindon Excellent. I had no idea about it. I will try to implement from your help. If I need any help, I will let you know. Thank you :)

                        Bollywood Music Producer and Trance Producer.

                        1 Reply Last reply Reply Quote 0
                        • DabDabD
                          DabDab @Lindon
                          last edited by DabDab

                          @Lindon Can you help me a little more ?.. I have know idea where to start from. I have an example VST3 and I would like to deliver the VST3 as an EXE file through HISE. The VST3 will be installed on end users C:\Program Files\Common Files\VST3 location. How will I do that ? can you send me a little Example or a Snippet ?

                          Bollywood Music Producer and Trance Producer.

                          LindonL 1 Reply Last reply Reply Quote 0
                          • LindonL
                            Lindon @DabDab
                            last edited by Lindon

                            @DabDab said in Setup BG Images or Custom Button etc theme for Inno setup:

                            @Lindon Can you help me a little more ?.. I have know idea where to start from. I have an example VST3 and I would like to deliver the VST3 as an EXE file through HISE. The VST3 will be installed on end users C:\Program Files\Common Files\VST3 location. How will I do that ? can you send me a little Example or a Snippet ?

                            First VST3 files will never be delivered as an exe file, they are plugins not executables...

                            So if you zip up your vst3 file, lets call it MyProductVST3.zip, what you are looking for your executable HISE app to do is unzip it into the folder you mentioned, so go look at the file api:

                            Link Preview Image
                            HISE | Docs

                            favicon

                            (docs.hise.audio)

                            so start with some small zip file and see if you can work out how to find it

                            hint:

                            Link Preview Image
                            HISE | Docs

                            favicon

                            (docs.hise.audio)

                            followed by:

                            Link Preview Image
                            HISE | Docs

                            favicon

                            (docs.hise.audio)

                            then use extractzipfile to extract the zip(s) you just found.

                            HISE Development for hire.
                            www.channelrobot.com

                            LindonL DabDabD 2 Replies Last reply Reply Quote 1
                            • LindonL
                              Lindon @Lindon
                              last edited by

                              Tip for the next stage of your development:

                              Eventually you are going to need to change the name of all your zip files - as Safari downloads and unzips them - which is not what you want on the mac so change

                              MyProductVST3.zip

                              to

                              MyProductVST3.dab

                              the extractfiles command doesn't need the file extension to be zip - it will gladly unzip any file (that is really a zip) to wherever you want it...

                              HISE Development for hire.
                              www.channelrobot.com

                              DabDabD 1 Reply Last reply Reply Quote 1
                              • DabDabD
                                DabDab @Lindon
                                last edited by

                                @Lindon Thak you : ) I will try to implement it.

                                Bollywood Music Producer and Trance Producer.

                                1 Reply Last reply Reply Quote 0
                                • DabDabD
                                  DabDab @Lindon
                                  last edited by

                                  @Lindon Thanks buddy.

                                  Bollywood Music Producer and Trance Producer.

                                  DabDabD 1 Reply Last reply Reply Quote 0
                                  • DabDabD
                                    DabDab @DabDab
                                    last edited by DabDab

                                    @Lindon @Lindon Tried but didn't work .. what am I doing wrong?

                                    Content.makeFrontInterface(300, 200);
                                    
                                    //const downloads= FileSystem.getFolder(FileSystem.Desktop); // Worked
                                    const location = FileSystem.getFolder(FileSystem.Desktop); // Location of Zip File
                                    const var vst3 = FileSystem.fromAbsolutePath("C:\Program Files\Common Files\VST3");
                                    
                                    const var Extract = Content.getComponent("Extract");
                                    const var label = Content.getComponent("label");
                                    
                                    
                                    // Extract Zip to... VST3 Location e.g  C:\Program Files\Common Files\VST3
                                    inline function onExtractControl(component, value)
                                    {
                                    	if(value)
                                    	{
                                    	//	local f = downloads.getChildFile("Testy.zip"); // Worked
                                    	local f = location.getChildFile("Testy.zip");
                                    		f.extractZipFile(location,true,extractCallback); // Want to extract file in VST3
                                    	}
                                    };
                                    
                                    Content.getComponent("Extract").setControlCallback(onExtractControl);
                                    
                                    // Function
                                     function extractcallback(obj)
                                     {
                                    	 if(obj.Status ==1)
                                    	 {
                                    		 label.set("text","Extraction Started:"+obj.CurrentFile); // Didn't Work
                                    	 }
                                    
                                    	 if(obj.Status ==2)
                                    	 label.set("text","Extraction Finished");
                                    	 
                                     }
                                    
                                    // Browse App Data
                                    inline function onBrowseControl(component, value)
                                    {
                                    	if(value)
                                    	{
                                    	  //FileSystem.getFolder(FileSystem.browseForDirectory(FileSystem.AppData,function(){}));
                                    	  FileSystem.getFolder(FileSystem.fromAbsolutePath("C:\Program Files\Common Files\VST3")); // Not working, I want to open VST3 directory
                                    	}
                                    };
                                    
                                    Content.getComponent("Browse").setControlCallback(onBrowseControl);
                                    
                                    
                                    

                                    Bollywood Music Producer and Trance Producer.

                                    1 Reply Last reply Reply Quote 0
                                    • DabDabD
                                      DabDab
                                      last edited by

                                      HiseSnippet 1236.3ocsW01aaaCDlxIpsVacXEX+.H7mTv7rcRZ2F5PvRhS7fwRRMlyxFFJPAsDsMWjHMnnRpWQ.1O4seAa2IJYqj5Xm3g4Ooi2aO2CORdtmVEvSRTZhS0ymNgSb9T29SklwsGyDRR2iHNet6uIlbfNXr3J947DC4voSXII7PhiyF+.ZkS0MIY+9qu+PVDSFvmuDgbgRDvOQDKLyWs29+nHJpCKjetHtj0ub+tAJYaUjJEPzFtsHSXAWxFwOiglUwk37jiCEFktugY3IfMGpBm1er5Zo09KDIhAQbTXaReHP1kIsGKhB6UTsIDhyl8lW6aXq8uv8TQnX15k4.TActGk4.mJKCRa+HfjSIHsoERuvsefVLwLWChmOwsqzv0CY.UWFJVaIU9aW21JvBooQL6RdGMHLyC+ca0pNcmVs15677Z1DH7DCMDfajhElrGsiHh2eZhgG2XD2zQEEx09kV7HdxkF0DvaqqQp.lQnjzGgqzlMomT3mZHEZwxbNOjWwzzqRL6d6PNTqhOXPhJJ0v6wLi8q090uEHlQZVblcIussJNFhnU3h9muaMrHmGzieuQyBLPbK3G.mfSSTRPvuVt9ZyJNzoH1.dz85Rl1rz.j4rDfEjQ0nQCJhh40JuwHJc0v1SHiDRNcXpLvxQx7HifPqh7CJPPc.iQo7s79fWUwP+bgpfTylUw8lH5P.7y1fyfO15gYyuFdjdZi+PLAKgR1iz+RMs5vFbKjfZMyfhFg5FcJudtx1rnnAvgX6d9uvjFfWn4JoCA+nBYFI4U8Fua.ZbE6LMR3EjPQr8uK6X6rocxYOu47XdhCl44feeKOJPVTf6.gF3o3zD5d6sMPhnhp18eLs90Lf+0pW.FLff8ZCO7009Rz61oZM.WjNPNhdi2Bh7NXjWZP6Hjhjw7vLhl5ggAJmC0pqS3zClLgdDyvVPOh0hGQKBE1TV0g1AYAsiRejPyCfK5lVVKfFDL0KPg+Ve3lsxf8JuMX8NOaajNSYnWqzWJjipS6RuNuuRMgaalngEfc4sUVF695ptEehMUk3Z.A72.kKRpd23QuqpgCWnt7fEATwhTiuGpWli9xz3Abc4sTzP3Aia+JzSdXuBEXYkRFpjckBya.hzJmsuEZ+9ieyhjSqvqWajiP3KS1aWeV9aWGlZLJIQ.AopadWNIC9kmSf7.b+YtswwKhVWus6mKv6etK1DiOAmWOPMNgqMBjJcNheELCi8A4pt4OhAL9r9HhySe.k76KOnyThiqSG3yqEglwnPHHLlKFM1fR9fjH4TULDdlFr1oB4AkuYbz7zsO++Z51zltmmmtSvKuxx1ScytHqbscNlr4EZ4v3t58l6IP+Ia+6BuOdXIXLMUXZDyb6Y2vgTyU.Gkt0.S3PQxDgYZ4gXeDCz0ZoCz8Pg3Kb6ILAiWLFqr.LBMp+efw7wfet6wCGBWdNGfa514WW2YdWQ5+IUpAtD+TlQKf8d2yRi6CS+GvgrKk7nDr6rBd.2J2BkQFnOWFlI7OvubkaixN4J2tPIIlEnUuKvdCANn8yxVAvjL6+UT08TTltcwMCttsZzhDCy7+tf.r7+J3tuE6yNqgO6tF97x0vmWsF970qgOeyZ3y2tTev+t0AoFUr83.rPuiytg1w4XIC5rx5BI+6K7.z+
                                      

                                      Bollywood Music Producer and Trance Producer.

                                      LindonL 1 Reply Last reply Reply Quote 0
                                      • DabDabD
                                        DabDab
                                        last edited by

                                        --Bump--

                                        Bollywood Music Producer and Trance Producer.

                                        1 Reply Last reply Reply Quote 0
                                        • LindonL
                                          Lindon @DabDab
                                          last edited by Lindon

                                          @DabDab said in Setup BG Images or Custom Button etc theme for Inno setup:

                                          HiseSnippet 1236.3ocsW01aaaCDlxIpsVacXEX+.H7mTv7rcRZ2F5PvRhS7fwRRMlyxFFJPAsDsMWjHMnnRpWQ.1O4seAa2IJYqj5Xm3g4Ooi2aO2CORdtmVEvSRTZhS0ymNgSb9T29SklwsGyDRR2iHNet6uIlbfNXr3J947DC4voSXII7PhiyF+.ZkS0MIY+9qu+PVDSFvmuDgbgRDvOQDKLyWs29+nHJpCKjetHtj0ub+tAJYaUjJEPzFtsHSXAWxFwOiglUwk37jiCEFktugY3IfMGpBm1er5Zo09KDIhAQbTXaReHP1kIsGKhB6UTsIDhyl8lW6aXq8uv8TQnX15k4.TActGk4.mJKCRa+HfjSIHsoERuvsefVLwLWChmOwsqzv0CY.UWFJVaIU9aW21JvBooQL6RdGMHLyC+ca0pNcmVs15677Z1DH7DCMDfajhElrGsiHh2eZhgG2XD2zQEEx09kV7HdxkF0DvaqqQp.lQnjzGgqzlMomT3mZHEZwxbNOjWwzzqRL6d6PNTqhOXPhJJ0v6wLi8q090uEHlQZVblcIussJNFhnU3h9muaMrHmGzieuQyBLPbK3G.mfSSTRPvuVt9ZyJNzoH1.dz85Rl1rz.j4rDfEjQ0nQCJhh40JuwHJc0v1SHiDRNcXpLvxQx7HifPqh7CJPPc.iQo7s79fWUwP+bgpfTylUw8lH5P.7y1fyfO15gYyuFdjdZi+PLAKgR1iz+RMs5vFbKjfZMyfhFg5FcJudtx1rnnAvgX6d9uvjFfWn4JoCA+nBYFI4U8Fua.ZbE6LMR3EjPQr8uK6X6rocxYOu47XdhCl44feeKOJPVTf6.gF3o3zD5d6sMPhnhp18eLs90Lf+0pW.FLff8ZCO7009Rz61oZM.WjNPNhdi2Bh7NXjWZP6Hjhjw7vLhl5ggAJmC0pqS3zClLgdDyvVPOh0hGQKBE1TV0g1AYAsiRejPyCfK5lVVKfFDL0KPg+Ve3lsxf8JuMX8NOaajNSYnWqzWJjipS6RuNuuRMgaalngEfc4sUVF695ptEehMUk3Z.A72.kKRpd23QuqpgCWnt7fEATwhTiuGpWli9xz3Abc4sTzP3Aia+JzSdXuBEXYkRFpjckBya.hzJmsuEZ+9ieyhjSqvqWajiP3KS1aWeV9aWGlZLJIQ.AopadWNIC9kmSf7.b+YtswwKhVWus6mKv6etK1DiOAmWOPMNgqMBjJcNheELCi8A4pt4OhAL9r9HhySe.k76KOnyThiqSG3yqEglwnPHHLlKFM1fR9fjH4TULDdlFr1oB4AkuYbz7zsO++Z51zltmmmtSvKuxx1ScytHqbscNlr4EZ4v3t58l6IP+Ia+6BuOdXIXLMUXZDyb6Y2vgTyU.Gkt0.S3PQxDgYZ4gXeDCz0ZoCz8Pg3Kb6ILAiWLFqr.LBMp+efw7wfet6wCGBWdNGfa514WW2YdWQ5+IUpAtD+TlQKf8d2yRi6CS+GvgrKk7nDr6rBd.2J2BkQFnOWFlI7OvubkaixN4J2tPIIlEnUuKvdCANn8yxVAvjL6+UT08TTltcwMCttsZzhDCy7+tf.r7+J3tuE6yNqgO6tF97x0vmWsF970qgOeyZ3y2tTev+t0AoFUr83.rPuiytg1w4XIC5rx5BI+6K7.z+

                                          hmm, yeah.

                                          If you read the documentation:

                                          File.extractZipFile(var targetDirectory, bool overwriteFiles, var callback)

                                          This method will extract a standard ZIP file (without password protection) to the given target directory (which can be either a file path String or a File object).

                                          -- so all you need is the string for the users VST folder:

                                          const var WINDOWS = "WIN";
                                          const var MAC = "OSX";
                                          const var OS = Engine.getOS();
                                          inline function getPluginPath()
                                          {
                                          	if(OS == MAC)
                                          	{
                                          		local username = Engine.getSystemStats().LogonName;
                                          		return "/Users/" + username + "/Library/Audio/Plug-Ins/VST3";		
                                          	}else{
                                          		return "C:/Program files/Common Files/VST3";
                                          	};
                                          };
                                          

                                          HISE Development for hire.
                                          www.channelrobot.com

                                          DabDabD 2 Replies Last reply Reply Quote 0
                                          • DabDabD
                                            DabDab @Lindon
                                            last edited by

                                            @Lindon Oh.. Okay.. Nice. Thank you .

                                            Bollywood Music Producer and Trance Producer.

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

                                            21

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.3k

                                            Posts