HISE Logo Forum
    • Categories
    • Register
    • Login

    Can't change Slider style

    Scheduled Pinned Locked Moved General Questions
    27 Posts 6 Posters 3.2k 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.
    • ?
      A Former User
      last edited by

      Tell a lie! I spelt vertical without a capital V. With the V in JSON it’s working.

      1 Reply Last reply Reply Quote 0
      • ?
        A Former User @staiff
        last edited by A Former User

        @staiff I'd looked at this today, was really helpful. But I'm trying to make the vu meters with film strips, for left and right on separate containers. Little confused on how to implement it to be honest. I'd gotten as far as the code below before I posted about the knob problem. Haven't got round to thinking about changing the container ones to left and right, just trying to figure it out as I go along. Still very much wrapping my head around both JavaScript and Hise!

        const var container1 = Synth.getChildSynth("container 1");
        
        const var t = Engine.createTimerObject();
        t.setTimerCallback(function()
        
        {
            VumeterLeft.setValue(Engine.getMasterPeakLevel(0));
            VumeterRight.setValue(Engine.getMasterPeakLevel(1));
            vu1.setValue(container1.getCurrentLevel(true));
            
        });
        
        t.startTimer(30);
        
        
        1 Reply Last reply Reply Quote 0
        • ?
          A Former User
          last edited by A Former User

          Any chance someone could help me a little with the a vu meter? I've stripped the code back to below. A panel pops up after compiling, but it's not showing any level or change. In the JSON window it's linked to the right container, but nothings happening. Could anyone give us just a clue as to what I'm missing?

          const var t = Engine.createTimerObject();
          t.setTimerCallback(function()
          
          {
              VumeterLeft.setValue(Engine.getMasterPeakLevel(0));
              VumeterRight.setValue(Engine.getMasterPeakLevel(1));
          
              
          });
          
          t.startTimer(30);
          
          
          1 Reply Last reply Reply Quote 0
          • staiffS
            staiff
            last edited by staiff

            honestly didn't use vu meter in HISE. But i think i will start with the demo (dynamic) project i gave you before from Christoph and replace the part using vector rendering by filmstrip.
            i remember using it on another platform (rackafx) but that using other style of scripting.

            i will try to find again a thread where i asked to Christoph to control the pitchwheel and modwheel. Christoph gave the script with vector image, and i replaced it by filmstrip.

            found it:
            https://forum.hise.audio/topic/445/pitchwheel-modwheel-graphics-linking/11

            and the script with filmstrip (i just added this and delete the vector drawing parts):

            // le pitchwheel Modwheel:

            const var ModWheel = Content.addKnob("ModWheel", 147, 553);
            // [JSON ModWheel]
            Content.setPropertiesFromJSON("ModWheel", {
            "width": 27,
            "height": 112,
            "filmstripImage": "{PROJECT_FOLDER}ModWheel_128.png",
            "numStrips": "128"
            });
            // [/JSON ModWheel]
            const var PitchWheel = Content.addKnob("PitchWheel", 95, 553);
            // [JSON PitchWheel]
            Content.setPropertiesFromJSON("PitchWheel", {
            "width": 28,
            "height": 108,
            "filmstripImage": "{PROJECT_FOLDER}ModWheel_128.png",
            "numStrips": "128"
            });
            // [/JSON PitchWheel]

            So, pretty sure you can do this with the vumeter in the dynamic example.

            for the separate stereo, not sure how doing this. but when you want to know the God's secret, don't ask to his Saints, ask directly to God ! :D

            Christooooooooooooooph ? :D

            Excuse me i'm French.

            ? JayJ 3 Replies Last reply Reply Quote 0
            • ?
              A Former User @staiff
              last edited by A Former User

              @staiff said in Can't change Slider style:

              for the separate stereo, not sure how doing this. but when you want to know the God's secret, don't ask to his Saints, ask directly to God ! :D

              Christooooooooooooooph ? :D

              Ha, thanks for the help! I'm trying to understand Javascript better, I can tell a browser to say hello in so many different ways now, but figuring out how to use it in Hise is proving tricky. Thanks for the reply, I'll have a look through the example now.

              1 Reply Last reply Reply Quote 0
              • JayJ
                Jay @staiff
                last edited by

                @staiff can you share the mod & pitch wheels png?

                Thanks in advance

                Joansi Villalona

                1 Reply Last reply Reply Quote 0
                • JayJ
                  Jay @staiff
                  last edited by

                  @staiff I try it and it didn't work for me

                  Joansi Villalona

                  1 Reply Last reply Reply Quote 0
                  • staiffS
                    staiff
                    last edited by

                    Wheels example:
                    https://drive.google.com/open?id=1MjqMBWgF6T9Y-zlu_-2_nyGoceU8JnQ5

                    i used a simple basic Wheel .png sequence made in knobman. You will have to replace it by a better looking png sequence.

                    The white panel is not useful for the wheels, just added to create a light grey background.

                    Enjoy.

                    Excuse me i'm French.

                    JayJ 1 Reply Last reply Reply Quote 1
                    • JayJ
                      Jay @staiff
                      last edited by

                      @staiff thanks bud

                      Joansi Villalona

                      1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User
                        last edited by A Former User

                        Starting to understand this I think (I hope). One thing I'm not clear on though if anyone could explain, I've put the code I'm using below, it's from the example you gave @staiff. I get the level, all is good, but I don't understand the line:
                        vumeter.getCurrentLevel(vumeter.LimiterReduction);
                        Any chance someone could explain that to me? Why if I change LimiterReduction does it not work? Why is it linked to the limiters reduction, or attack or compressor reduction etc.? The meter is responding to the current level or peak, so don't understand why it's working if I use say .CompressorAttack? Or is there a line I can replace it with?
                        Sorry for the idiot questions! Getting there slowly...

                        I've put the code below with comments on everything incase anyone else is trying to understand how to move through it. Swapping for a filmstrip is relatively straight forward I think from here.

                        const var vumeter = Synth.getEffect("Dynamics1");
                        //name of constant variable we want 'vumeter' = point it to the module (effect in this case) labelled Dynamics1									
                        
                        const var level = Content.getComponent("level1"); 
                        //name of constant variable we to see 'level' = point it to the widget (slider) labelled level1
                        
                        
                        const var t = Engine.createTimerObject();
                        //create a constant variable labelled 't' = a timer object
                        
                        t.setTimerCallback(function()
                        // triggers the timer below
                        
                        {
                        	var v = vumeter.getCurrentLevel("VU METER");
                        
                        
                        v = Engine.getDecibelsForGainFactor(v);
                        
                        
                        level.setValue(v);
                        // variable 'level' is set to the value of variable 'v'
                        
                        });
                        
                        t.startTimer(30);
                        //triggered by the setTimerCallback function
                        

                        edit: ok, that's just me being an idiot 😬 , changed it to just a label ("VU METER") and it's working. Have changed the script above! Hopefully someone finds it helpful...

                        1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User
                          last edited by

                          Managed to get this all working. Put a link below to a project showing how to do it. Hope it helps someone out...

                          Does anyone know what the best way to make the fall of the meter back to 0 smoother? Is that to do with timer objects?

                          https://we.tl/t-pspQRut6sF

                          gorangroovesG 1 Reply Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart
                            last edited by

                            You need to filter the value you show. Pseudocode:

                            If newLevel > oldlevel
                            Then level = newLevel
                            Else level = level * 0.97

                            The number something between 0.8 and 1.0 determines the fall-off speed.

                            1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User
                              last edited by

                              This post is deleted!
                              1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User
                                last edited by A Former User

                                This post is deleted!
                                1 Reply Last reply Reply Quote 0
                                • gorangroovesG
                                  gorangrooves @A Former User
                                  last edited by

                                  @duno Hey mate, I was wondering if you could please repost the example project of the meter? Maybe on Google Drive so that it doesn't expire?

                                  Thanks very much!
                                  Goran

                                  Goran Rista
                                  https://gorangrooves.com

                                  Handy Drums and Handy Grooves
                                  https://library.gorangrooves.com

                                  1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User
                                    last edited by A Former User

                                    Hey man, it's pretty much the same as the one below...

                                    To change the slider for filmstrips, select the slider, either on the unlocked interface, or in the component list, it should highlight, then on the right hand side in the properties list, scroll down and you'll see and option saying filmstripimage, it's kind of scrunched up. Outside of hise, drag the filmstrip you want to use into the images folder in your project folder, then go back to that properties list in Hise, and open the filmstrip. Then below tell it how many steps its got. It's the option right below filmstrip in the properties. Should work then.

                                    On Christophs example he posted, change the name of the main container on the main page to say Master Chain

                                    HiseSnippet 1470.3oc6X0saaaCEVxNZHwsoacnXXWJDrKbA5BrbcbZVwPch+oMqIMFQtoaWLzQKQayUIRMJpzZTTf8n0Gg8nz2fsCIkijcbRs2ZtXsU2wyue7bN7vCUWNyCGGy3Flq0abD1v75VtiohQMGgHTi8aYXVx5jD6CwBL2XuwQn3XrugoYwGJ4at1JFpu28f8PAHpGNijgwILhG9.RHQjQsaiGSBB5f7w8Hg4jtVi88Xzlr.VBfkhVULhPdu.MD+DjTrBVFleQaehfwcEHAN1vbk8X9icGwdIUK+IjXR+.rbgigKXHM4Nr.eIhkTMZNhD32cxdN1vvzpaVDnnNBbKqCI9jynmEI9JEC6LMxGOLKbYvyIO7pr3vyLG7VQCuaZ45wIQhLNRrcMq8oPJZ.BRA4gkVViBmVzpICjfJ1LD8BbGNr3LMJWuRk6XuUkJ299qWZ8RPhHVXeJhaeHJFD4jjCvCD1+n8DKLDKZxBiXTXQ4MxKzFRKjoenhkp3I0DphKkAj6U0JvB651q8wyn6DydLY3n2uyURcwdehQdete8R1vWl6c.cpb+YoVMkZdmIsda5PBEuoGGC0.x5a9Q8+crmnr1zqWRrYLVnXzDEDzGpvKOHg5IHLZ4aKE30yC.yDEUvOgyg8+A3SwAkct8bQ3ra+yoWZ5NyQo3GjqE1izGGD2gwkGz6f7fR6xoRJUKyMKlRUyTRWoHiDmfBRvm2poYyYkPYh2nwLvTf35PY4sTaj2LIRZynOgIvGAgzRutzZkdSoY4LXv7XIKv3rf.vhygq1UWrZkoIg8w76.IA.xSjCN0NcaAqKtsP9tVd5h8bBxn6SIhihvzKpYgQ5IDnsQgTPAhJTMMtQZSC2.hOzHm3KIkOcXnfcV+3e4sFKfM9RqoxXywHOc+VHAR1IKEc.hivbAQFLLagOEthP2WaMqV33WHXQfCO6.tg4pK5F3Um42F+Ziwms3OeTiXwXYDFtHS5XOTfQH5U4unJj36Gf6xhIxbZFm8eaX9K4TwjE.XyFUx7UTbdj8SWQHqjH8dLMx5DvPBBcXOB3KM9xSxIG99sg4wmWizblNAUx5w3w8YHtuQ+gSto95V0pduZaWem6duJFDANbBiqYU6t0qVY65NakidUsF6Tam5aWcmsLD3WIxaJfwVNNfJpplB9lVpNha.d9YDewnM9AamZ2QQpEINJ.M9HOA5T7STG9.tCPAwXs.GvdInFPaG85GQzKcptslPyjXAK7gbTzHhW7zJ2BO.kDH1MJBi3xAa.1BdRJ28BfV2f0NFhhLfSkMqui9SyuGa3v.7gLe7zVUN+.LOAkhCj.QS7ow3SvxVkyGI.6NAHgqrTYFq0s8jLx4X3JaOl4ppmwnM0OGBpC8MggxN2PFvnNL+DvsSO+irsdJCY4X9AMjCSPgxzw4GJ7JYnnEEt2zpKQ3MZ93svbvqrw4ULdSGwbcq1CF.47LvthUme9pedx7PY0KXd+UszyC8gXZ+nEdZeyh+Gmtux++lt+ym69T7b2MzP4ZVtvXypydJf7Mp01OCtLy9gXJlKCpNWxgv+5C+gP8co8f66hiXwSYXWbHoGLeQbdhxql33+PcKXd5MgqjlKq28fNvlbt53hDIbU4xtgrDpXpxihKbNYId5+Jet4fBtEWL39d96DqMAitjvn.baJ7BSXReEF+ZqzwolPc555CYTVzHFk3kOoeLVvICGh44w9b2P6JDv3XYTtUiiwAXT9B3uqwAPgGhKGI6eYrvYwiEWV95aszv0VdXz9iil5E+zro9wrD4inNDAEpvanrfGg3B8R8voCXKetuYAY+P85Jx05loTe0h+F9RY5HWalxzYByOZ7QHxiydtm9WJHOurphBDaopev6Zvalg01NS9GBx3O75Wxy87jIzuGx.yWipKsF2co0n1RqwVKsF0WZM1do03dWhFxK31MAdPr93MPnaa0qvMMaSQvoC0IIi+QGL33L
                                    

                                    edit - in your project, the sampler you've got called kick, that's the string name in the variable. On Christophs example it's Master Chain, so just change the name in that variable. You need to change Synth.getChildSynth, for synth.getSampler too. If you hit esc as your writing, you'll see an autofill similar to sublime.

                                    gorangroovesG 1 Reply Last reply Reply Quote 0
                                    • gorangroovesG
                                      gorangrooves @A Former User
                                      last edited by

                                      @duno Thanks a lot. I appreciate the explanation. I will give it a shot and see how I go :)

                                      Goran Rista
                                      https://gorangrooves.com

                                      Handy Drums and Handy Grooves
                                      https://library.gorangrooves.com

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

                                      52

                                      Online

                                      1.7k

                                      Users

                                      11.7k

                                      Topics

                                      101.9k

                                      Posts