HISE Logo Forum
    • Categories
    • Register
    • Login

    Insert instead of replace

    Scheduled Pinned Locked Moved General Questions
    16 Posts 5 Posters 623 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.
    • ustkU
      ustk @MikeB
      last edited by

      @MikeB As @d-healey said you can still script the modules in an external file, though it's a bit more painful, at least to me because I'm not used to it... But I'm sure Dave can do this in a blink of an eye :)

      Can't help pressing F5 in the forum...

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

        @ustk No it's painful for me too :p but it's a one time job.

        All of my instruments that I'm working on have basically the same interface. So I built it once using the usual tools (interface designer, etc.). Then I spent a day writing a script that would do exactly the same thing.

        Now when I start a new project I run the script and my interface is built. Then I remove the script because it's no longer needed in the project.

        Here's the script (or an old version of it) - https://github.com/davidhealey/LibreWaveBoilerplate/blob/master/UIFactory.js

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

        ustkU MikeBM 2 Replies Last reply Reply Quote 4
        • ustkU
          ustk @d.healey
          last edited by

          @d-healey said in Insert instead of replace:

          Then I remove the script because it's no longer needed in the project.

          I imagine that's why you seem to be relying a lot on getComponent(), clever 😎

          Can't help pressing F5 in the forum...

          1 Reply Last reply Reply Quote 0
          • MikeBM
            MikeB @d.healey
            last edited by MikeB

            @d-healey Thanks Dave - but unfortunately I can't get your script to work!

            No error is reported - it just does nothing.

            A video?

            "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

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

              @MikeB You don't want to use my script, that is just an example (unless your project has the same UI as mine).

              I'm creating a UI using scripting instead of using the interface designer (but once the UI is created I remove the extra script and do further work in the UI designer).

              There is nothing special here, these are the same functions you'll be using in your secondary (non-main interface) scripts to build those UIs.

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

              MikeBM 1 Reply Last reply Reply Quote 1
              • MikeBM
                MikeB @d.healey
                last edited by

                @d-healey No - I don't want to use your UI. I just wanted to understand the function.
                I understand the principle of how it works.
                Do you have a current snippet?

                "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

                d.healeyD orangeO 2 Replies Last reply Reply Quote 0
                • d.healeyD
                  d.healey @MikeB
                  last edited by

                  @MikeB I don't have a snippet that would make it any clearer. Add the script via include, then call the createShell function.

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

                  1 Reply Last reply Reply Quote 0
                  • orangeO
                    orange @MikeB
                    last edited by orange

                    @MikeB

                    In most cases, I directly use the below method to create UI controls. Every UI property can be set inside the JSON data.

                    This way, no need to repeat the process again and just copying / pasting the code will create the UI control quickly.

                    After creating the UI controls, you can also delete the code and go on with the interface designer too 🙂

                    addPanel, addKnob, addButton, addComboBox, addFloatingTile...etc.

                    // Create Panel ------------------------------------
                    const var Panel1 = Content.addPanel("Panel1", 10, 10);
                    Content.setPropertiesFromJSON("Panel1", {
                        "width": 230,
                        "height": 220,
                        "borderRadius": 0.0,
                        "borderSize": 2.0,
                        "bgColour": 0,
                        "itemColour": 0,
                        "itemColour2": 0,
                        "textColour": 0x550095FE,
                    });
                    
                    
                    
                    
                    
                    // Create Knob  ------------------------------------
                    const var TheKnob1 = Content.addKnob("TheKnob1", 30, 40);
                    Content.setPropertiesFromJSON("TheKnob1", {
                        "text": "The Knob1",
                        "tooltip": "This is the tooltip",
                        "isPluginParameter": true,
                        "pluginParameterName": "The Knob One",
                        "isMetaParameter": true,
                        "useUndoManager": true,
                        "width": 161.0,
                        "height": 45.0,
                        "parentComponent": "Panel1",
                        "min": -1.0,
                        "middlePosition": 0.0,
                        "stepSize": "0.1"
                    });
                    
                    
                    
                    
                    // Create Button  ------------------------------------
                    const var Button1 = Content.addButton("Button1", 50, 120);
                    Content.setPropertiesFromJSON("Button1", {
                        "parentComponent": "Panel1",
                        "isPluginParameter": true,
                        "isMetaParameter": true,
                        "tooltip": "The Button 1 tooltip",
                        "useUndoManager": true,
                        "pluginParameterName": "The Button One",
                        "isMomentary": false,
                        "textColour": 0xFFFF3F3F,
                        "bgColour": 0x55F83F3F
                    });
                    
                    HiseSnippet 1299.3ocsW0raaaDDdorYPjZRfCPaOVPnSJ.1NRxVoosnPt9GU3lZagH6fbKXM4JqElbWBxkIV0H.8knGxs9lzGf9DTfdtm6wdptyvk+JKoHKfxDCH9Myr6ry7MyrrefzlEFJCHFUOcrOiX7.yAiEpQ6MhxEjC2mX7HyingJVfkFZ2w9zvPlCwvXkuGALptJI94u6tK0kJrY4PDxqjba1Ox83pbz967BtqaOpC6TtWAs2dmCskh8jtxHveVwrIwmZeI8B1wTTsJlDi6cfCWICFnnJVHnytRmwCFIemPq+q3g7ycY3KsHCfERCS1aD20oe5YMjPLVse9IeE8I+SMOh6vyvyi.qEKvJ2hhw.iJyykZcGbIiBtzpZW5wlCrC39pbIn+7IlGJfDxPJDpK5JZcIU9cSy8jfFB0ldzKY8BfWxrnQ6NMW2p81Mex2TCdd5Ss1KfAttUepf4ZswB7TCxRgJq2RCzF0x5asR2PpiSLVi5ZQ0W2pUS7OX6R0IjgGHeVfhyBAuy6GFbxwEL35ZVvS82wcTip+0Vs2p45ZjQL9EiTHT6TnykANrfWRc3QgfflaVVv.9OwP8yguPyuPcSf3Jl2b.aW.UwtRkq5Uc5zr4W0o2AqW685nYw34KDxysZcWCnmNhgFNQHEgZTOUFDhfPh01KPLsfIWmeD.mGkXkHJQfT5p39ZY7PK3+JPmT3z3RXe2nK3h9z.nnD3Tf9pfHVhX+xBwB2hal0IBV9JcDSQmw5DExNS3HOhJfx+IjkxKZ8rVadKlw1cxv7oAPjYOomuT.+.8iTJlVAOt..2HeU73NNtr9xPthKEknSPGP+DxT8la1pdVFOOguajRIE28Tt1tIx3ZvF0SDB4OrrsU6EHmmax0KXf3ijTmalpDsoPPXBdy7RnygzjrbkoMRO3TPCFCJMj5FxldwYO3YK3eSovGJb68bTVVVbXjvFy4VRwwRE6DQimT65ZUq89ZVSJZ3voJCSJARWWVvTEiS5BlmgMDQdmyBVGnDtQrLEgQAkmubuEa9hsliTPQo3PAWchOK48dRWGbtA96aOMhjPxf4RUR7PPUU7ToGkLUZfKGZwR3vhTyLsSCI1+SFp+qe3C+QWxrrWmbisupYBqsj45myNbephhCHS7obROfsO6svMLziKqZtOK7RkzOV2D5NLuTusOLcXJx8i206apqCHWQLLMpA603zeD2jAVw68WIdgtCCh7mIHEG8TzgSYZntoX4iSlNZ6hv4DYD8e+ExYHJlGxNRqsHYh3S0WjdpZjrx38GxZ9SRJSIFel4T55StUmAbkLfUZJ0rn6TrQOYh9FolVtUPJZZ.WGFsb1IKfqQ94d6LQerB4OuR2C82J2GuXtIsMNrqlPabjlmsZOXAXmwgz1ogzqv.wLcpYF6lQbIKU74lSqS5LhaSMQrlY4lmSPo518laljo1s6+bl91425Vnv8ekNQtTU4KEi29OQ.FkKdST71lBH5Ot3WGbGtoby4dS4E0EerYetxdzz8wJSwGwhr+G7wjuu3glGLbHyVk6fqZ160K6GS7Q19WJiTbwEGQUAbjzdbj2.HSayfcW.zyPj+TA6yqeuI9NFAFvDNwubC7jHrUJYCE1JUHwiZGHeist6N9EL2OFA7IQLKrJ7kiv6VYM0wZtlPwpC+M113weCnBb51zdIrYqkvlsWBa5rD17rkvlubIr44y0F76X+tHkzSWN..8OHd3pgwABJvrhYgj+Cv04YUK
                    

                    develop Branch / XCode 13.1
                    macOS Monterey / M1 Max

                    MikeBM DabDabD 2 Replies Last reply Reply Quote 3
                    • MikeBM
                      MikeB @orange
                      last edited by

                      @orange That works - thank you

                      "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
                      • d.healeyD
                        d.healey
                        last edited by

                        I just remembered Christoph wrote about this ages ago in this post (lots of other good stuff in there too) - https://forum.hise.audio/topic/79/scripting-best-practices

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

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

                          @orange Hmmm.... Exactly.

                          Bollywood Music Producer and Trance Producer.

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

                          26

                          Online

                          1.7k

                          Users

                          11.8k

                          Topics

                          102.8k

                          Posts