Forum
    • Categories
    • Register
    • Login

    LAF for MatrixPeakMeter

    Scheduled Pinned Locked Moved General Questions
    19 Posts 4 Posters 1.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.
    • JulesVJ
      JulesV @David Healey
      last edited by

      @d-healey When I make trace(obj) , I get:

      "id": "PeakMtr",
        "area": [
          0.0,
          0.0,
          50.0,
          300.0
        ],
        "numChannels": 2,
        "peaks": [
          0.0,
          0.0
        ],
        "maxPeaks": [
          0.0,
          0.0
        ],
        "isVertical": true,
        "segmentSize": 0.0,
        "paddingSize": 1.0,
        "processorId": "SimpleGain1",
        "bgColour": 4278190080,
        "itemColour": 495684491,
        "itemColour2": 4294904844,
        "textColour": 4294967295,
        "parentName": ""
      

      So the obj.peaks[0] is the left channel, obj.peaks[1] is the right channel, isn't it?

      Since I need to draw individually, I need this?

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

        @JulesV said in LAF for MatrixPeakMeter:

        So the obj.peaks[0] is the left channel, obj.peaks[1] is the right channel, isn't it?

        Correct, so obj.peaks[0] is a number, so your loop is like writing for (x in 10)

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

        JulesVJ 1 Reply Last reply Reply Quote 1
        • JulesVJ
          JulesV @David Healey
          last edited by

          @d-healey Hmm, I knew there was a syntax mistake :) I am new into this.
          Can you please be more clearer or a simple snippet?

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

            @JulesV obj.peaks is an array. obj.peaks[0] will give you the first value in the array. A for in loop will loop over all the values of an array.

            Your original snippet that you posted does this.

            d69d99ee-5958-4818-83f5-7f2d1a236516-image.png

            Everything you need is in that snippet.

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

            JulesVJ 1 Reply Last reply Reply Quote 0
            • JulesVJ
              JulesV @David Healey
              last edited by

              @d-healey Yes I know, that's because I used for (x in obj.peaks[0]) for the left channel, like previously mentioned.

              And I got no iterable type error.

              I really don't get it.

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

                @JulesV obj.peaks[0] contains just one value. Let's imagine it contains 0.05. A loop requires an array, 0.05 is a number, not an array.

                If you want to do something with the left channel's value you write obj.peaks[0], and for the right channel obj.peaks[1].

                If you want to do something with both channels then you would use obj.peaks and a loop, as in the snippet.

                For example to print both the left and right values to the console you can do this:

                Console.print(obj.peaks[0]); // Left value
                Console.print(obj.peaks[1]); // Right value
                

                Or you could do this

                for (x in obj.peaks)
                {
                    Console.print(x);
                }
                

                Or this

                for (i = 0; i < obj.peaks.length; i++)
                {
                    Console.print(obj.peaks[i]);
                }
                

                etc.

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

                JulesVJ 1 Reply Last reply Reply Quote 0
                • JulesVJ
                  JulesV @David Healey
                  last edited by

                  @d-healey Yes I already know this. And that's still not the solution or help hahaha :D Thanks anyway.

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

                    @JulesV said in LAF for MatrixPeakMeter:

                    that's still not the solution

                    Do you know how to draw a rectangle in a paint routine?

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

                    JulesVJ 1 Reply Last reply Reply Quote 0
                    • JulesVJ
                      JulesV @David Healey
                      last edited by

                      @d-healey Yes I know.

                      David HealeyD orangeO 2 Replies Last reply Reply Quote 0
                      • David HealeyD
                        David Healey @JulesV
                        last edited by David Healey

                        @JulesV Draw two of them in your look and feel function. Then draw two more on top of them and multiply the height by the obj.peak value.

                        You might need to add an offset to the Y or something funky like that, otherwise the peak meter will look upside down, but we can deal with that later.

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

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

                          @JulesV As David suggested you need to draw with obj.peak value. But you need to use obj.peak value like this:

                          HiseSnippet 1809.3oc0Y8zSabDEeWfMEb9iRpRU5kJMB0CFJX40j.zRqvIXbhUgDKLIzJDJZX2msm3cmwc2w7mDEodreExs9In26sdsm6gdpRUJGpxgJ0uAouY1016BFBklPRrTPd98duY9Mu4Mu2abpFHbfvPQfgYl02uMXXdAqZ6ykMWpIkwMpTxv7RVqRCkP.IB5V62lFFBtFllCeaEf4XiXn+7OKdKpGk6.8gLLdff4.qv7Yx9nUK90LOuxTWXcleBsudwJNB9RBOQGjOCak2nM0oEsAbWpRsgrLtCMrog4jVy5VmNq6b2HuMLy7tyUvdta74WetYymut671ys8baOC0kN6b4MLO2xtLoHnljJgPCyQtkvc+ZME6xiVfGvBYa6ApA1F0vUNBtrvyUsEUnFK0j44VsqiJzvvzpZe21vQtsqZsJyk0Cuu66xZAj9VjzAZNTZ5MbJ5Ymjd4SPuAPIyDTZjHJcEqZNAr1x9RT747VU33oYcJdNkjJQ5ZLj+vVKIPM3xb9zVP4.bPOKxht3oH3elXgLYxfGVgRxNz.RUf1ZUY.4qHcssAHWR32VvwAYGOV93GvrUn0SXhS.fdgUDNTuUDhV2j6VF.urJaPEyE.MXp3vxc3NRlfmcb2.5tqRkAr8zyOfBGeJR8txaLEQr8ilHySxLFtDgBOHW6.FRGYfZqnjgy8XjLio3BEYBBkihrXgHHYSlSKN55PQ14WXrLDBI5OMxEp1ep.0r42qb4B5O3rEIrNFdulnCGigVCbjTdCOHKcJR9b1pciRo5h.RVFNw4WfvHeodoai6hvbd.ugrIh9Ye1DZUeh5O3+HY59E8xe6.pKC8akwEK6lJ6YRvOhTEv0ZJBcyY1R6CxsciH7dvjoSr6lljUgMcOjIlrGc1js0Vw6KRzmCRkAtY2bl7jIIr3EaRRVabURNoSLUeBDqEpwQpMtOxmfF5u7zLjLOU4OiitTNkCE8fQNnJciIHB9cER3d7r5vhL3TbPQ0qOPYpfz.gmGDLPwpDYAGmgY4c72FvCfcndcfdJhWVSmAv5ny.jLAkSzclDJJ3U3L48ZC7iJskQ7EM7a2uRIpjpRaDig50FBjLEELKA6fIsiRhLlUIHrkTzVqa7EZLKhLNqWTZixdBpjwarNCoJyUYV7ghwd8xuW7QE2uex90KFuzcSVcfaxFciYQSN2EdYyWpLpeDtBsaMlDw8wJqg0awg9DSqmfgKi2ySTwc7ufLdMleaOPU.yd7oTxqfAv6gRl1VODq.3I1cCQPqPrHDfBpS8BAsrZPCej3q.t0XOVIJet7ZA2ucIvgtuJXHAZI7LZP32ODpgb1AvhEbN3EldQZA6Vl5fgFHrcrIUottnaNdY6hphBVkpccIPimU89BTy8lpaMDsPBwF+6VYdpwtLWYy9mJUJ1DXMZ1uX8uDTz3vkVvhZB2NdTY5JcJ2Yr.L3OU4EUIDdHStex9EdsU96jRwqXUkIcZNXNNz.3HdE4MAGiaZ3hVKWuNlyrOAGwp72bFzgvn850q20.8xewD.1GSqd3kKvilxOsQ5.ous3.ZFrBeGLISUgGM3fd4gOwaS6ieaNxINTPskHuSGt9gVZ2765jTez+tMIurUU5aqCar4HUswn5aXE961wOcdeDybHU84nw4UiUjnFvc0CdI9IVnsZrYrP6tBS5FtVja37VaP2AzukS6A9H8XrsSexsANDn7OG4Ubx7+weeReMW6S7q4tG1c3Nv5ATdXaQHXmblqA9r0wlKBSgd.KJLPKJjNujrCO8TGAkRKkqnL5JRn2nE6BVHIHF1jZxvwoloUY8avw3OWbYNECJpA3N28dgNniQ4mSFWUsCVgWeiwNog8gKjD9Nz.W7Lz43xUNxIKW4q3Msm6M0aZG4jcw43o26A8fjp.6Xc4XT8zkwBedXG18xpWm1wS1EsPJVtpfKZ2TvYoNzWCvrGMZ.ohkF3F5lRI0oUejqVbMvCngItZ9oEWgwAZ.5mfSouv9+7OGw.Ou9XqH5RT4N9eke9LML6X6ib3STeju146aidJGJw5e9n0+Ch5YQuxiF88zkYzPpi6Uf5IJiPJ1SvZodABF.iuj2caLJIgEEy76Oewt3IM36u5O8WKthX2p3BVN.9tdyyO7aEuC6PnFkJdfT3qC3qbSmyEi1dc0e5Yc2.wIhtTbhn0.rC7siSUFAQhvReHslP3qdkYrO3Ge1ydwhkn9sQl28.XlYd9ha.3qfwjX8U6WWrTv9G.6EKl7wAZ.7L.dLjH+Ch9yu+5kO9RRX.16Oo1tlE12RAhN+F4seBtyhCxyh0vm5DHdnSzOFnJ04nZDbey0+maLl0ppwDaC8OPXRGqO1q0CcbROUGxvBmVCm4zZ30OsFdiSqgydZMbtSqgy+pMT0J7M6HE9Q2SvmDTcY8O8noYzqAzWYL9W.5u1kZ
                          

                          develop Branch / XCode 13.1
                          macOS Monterey / M1 Max

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

                            @orange If we use this snippet and disable effects ( Reverb and Delay) we will see abrupt peak meter run down kind of on/off. Looks very ugly.

                            Bollywood Music Producer and Trance Producer.

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

                              @DabDab MatrixPeakMeter apparently does not get obj.peak values by taking the Up & Down DecayTime values in LAF. Because of that it seems like that.

                              @d-healey Is there a way to get Up & Down DecayTime values in the FloatingTile json data in LAF?

                              Or create peak meter with these values in LAF for MatrixPeakMeter FT?

                              develop Branch / XCode 13.1
                              macOS Monterey / M1 Max

                              David HealeyD DabDabD 2 Replies Last reply Reply Quote 0
                              • David HealeyD
                                David Healey @orange
                                last edited by

                                @orange said in LAF for MatrixPeakMeter:

                                Is there a way to get Up & Down DecayTime values in the FloatingTile json data in LAF?

                                Not that I'm aware of. You'd probably need to make a custom meter using a panel + timer.

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

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

                                  @orange said in LAF for MatrixPeakMeter:

                                  MatrixPeakMeter apparently does not get obj.peak values by taking the Up & Down DecayTime values in LAF.

                                  Exactly. 👍

                                  Your post https://forum.hise.audio/topic/6615/laf-collection-for-everyone?_=1744108411508
                                  and Knob Peak Meter by Steve-mohican is impressive.
                                  I didn't find matrix peak meter very useful in anyway.

                                  Bollywood Music Producer and Trance Producer.

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

                                  33

                                  Online

                                  2.1k

                                  Users

                                  13.0k

                                  Topics

                                  113.0k

                                  Posts