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

      @clevername27 A snippet should be self contained, so I wouldn't load any fonts inside it.

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

      clevername27C 1 Reply Last reply Reply Quote 0
      • 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