HISE Logo Forum
    • Categories
    • Register
    • Login

    Widget of the Day for Y'all

    Scheduled Pinned Locked Moved Presets / Scripts / Ideas
    21 Posts 4 Posters 1.0k 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 @clevername27
      last edited by ustk

      @clevername27 Just a little suggestion
      But of course, I know you wrote this code for beginners. It is good to see how things can be reduced/simplified

      This:

      local componentBlue = colourArray[1];	
      componentBlue += brightnessAdjustment;
      
      if (componentBlue < 0.0)
          componentBlue = 0.0;
      
      if (componentBlue > 1.0) // would benefit from an else if statement here
          componentBlue = 1.0;
      
      colourArray[1] = componentBlue;
      

      could be better written:

      local componentBlue = colourArray[1];	
      componentBlue += brightnessAdjustment;
      
      colourArray[1] = Math.range(componentBlue, 0.0, 1.0);
      

      Or even a one-liner

      colourArray[1] = Math.range(colourArray[1] + brightnessAdjustment, 0.0, 1.0);
      

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

      clevername27C 1 Reply Last reply Reply Quote 1
      • ustkU
        ustk @clevername27
        last edited by ustk

        @clevername27 Like Dave I'm surprised to see the reg declarations inside the function. But if it's not an issue then I'm sure LAF functions in general will largely benefit from this increased variable speed!
        Just a shame we can't nest namespaces because the 32 reg limit will be quickly reached in any small project if they're all in one unique LAF namespace...

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

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

          @ustk the limitation to 32 slots is one of the main reasons why they are so fast :)

          ustkU clevername27C 2 Replies Last reply Reply Quote 1
          • ustkU
            ustk @Christoph Hart
            last edited by ustk

            @Christoph-Hart Sure! I wouldn't need more anyway... When I reach that number I always get back to another design because it means I overdid something... (By the way, it would be cool to have an alert when reaching the limitation because I already struggled multiple times to find the origin of a bug while I was simply having too many regs within a namespace 🙄 )

            And what about declaring them inside a LAF function like @clevername27 did?

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

            Christoph HartC 1 Reply Last reply Reply Quote 1
            • clevername27C
              clevername27 @d.healey
              last edited by

              @d-healey Thank you - I simply don't know how to do that with fonts, could you please tell me?

              d.healeyD 1 Reply Last reply Reply Quote 0
              • clevername27C
                clevername27 @Christoph Hart
                last edited by

                @Christoph-Hart Are these literally register variables?

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

                  @ustk yes good idea, I‘ll make it throw an error (no idea why I didn‘t do this earlier, lol)

                  1 Reply Last reply Reply Quote 3
                  • Christoph HartC
                    Christoph Hart @clevername27
                    last edited by

                    @clevername27 said in Widget of the Day for Y'all:

                    @Christoph-Hart Are these literally register variables?

                    no, there are about 20 layers of abstraction between these variables and the CPU registers…

                    1 Reply Last reply Reply Quote 1
                    • clevername27C
                      clevername27 @ustk
                      last edited by

                      @ustk I've added your code as a comment - thank you.

                      1 Reply Last reply Reply Quote 0
                      • clevername27C
                        clevername27 @d.healey
                        last edited by

                        @d-healey Thank you for your suggestion - I've revised the code to use 'g' and "obj".

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

                          @clevername27 said in Widget of the Day for Y'all:

                          @d-healey Thank you - I simply don't know how to do that with fonts, could you please tell me?

                          You can't, if you load a font in your snippet then the user must have that font. So don't use them in snippets.

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

                          clevername27C 1 Reply Last reply Reply Quote 0
                          • clevername27C
                            clevername27 @d.healey
                            last edited by clevername27

                            @d-healey How do I draw text then - don't I have to specify some font?

                            ustkU d.healeyD 2 Replies Last reply Reply Quote 0
                            • ustkU
                              ustk @clevername27
                              last edited by ustk

                              @clevername27 loadFontAs but just give the name of an embedded font (that you can find in the property of a Label)
                              If you just want to draw a text for an example snippet, just do:

                              g.setFont("Arial", 14.0); // or whatever embedded font
                              

                              inside a paint routine (or LAF function), you don't even need to loadFontAs...
                              And if you just ignore this line, a default font will be used anyway so you don't even have to bother setting a font (but then you lose the ability to set its size)

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

                              Christoph HartC 1 Reply Last reply Reply Quote 1
                              • Christoph HartC
                                Christoph Hart @ustk
                                last edited by Christoph Hart

                                How do I draw text then - don't I have to specify some font?

                                If you don't call g.setFont(), it will default to Arial or whatever is the standard font.

                                For a "real" project, I would always embed the fonts, but if you want to pass around snippets that need to be self-contained, you can just assume that the user has installed the font on his system and if it isn't found, it will fall back to Arial (or Comic Sans MS on April 1st).

                                ustkU 1 Reply Last reply Reply Quote 1
                                • ustkU
                                  ustk @Christoph Hart
                                  last edited by

                                  @Christoph-Hart said in Widget of the Day for Y'all:

                                  (or Comic Sans MS on April 1st).

                                  🤣

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

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

                                    @clevername27 said in Widget of the Day for Y'all:

                                    @d-healey How do I draw text then - don't I have to specify some font?

                                    No need to specify a font at all, it will use the default

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

                                    1 Reply Last reply Reply Quote 1
                                    • clevername27C
                                      clevername27
                                      last edited by

                                      Thank you, everyone. Fonts sorted.

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

                                      16

                                      Online

                                      1.7k

                                      Users

                                      11.9k

                                      Topics

                                      103.3k

                                      Posts