HISE Logo Forum
    • Categories
    • Register
    • Login

    Finally: Fully customize stock UI elements with a scripted LookAndFeel

    Scheduled Pinned Locked Moved General Questions
    55 Posts 14 Posters 5.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 @Dalart
      last edited by

      @Dalart In the doc you'll find examples

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

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

        Found a bug. I customized a combo box to have an invisible background but this has also affected the rendering of HISE's windows.

        e4056051-962d-43c7-b4e4-09926fa055ae-image.png

        Also I have a usability question. What happens if I want to customize two controls of the same type but have them look different? Is it possible to attach the paint routine to individual controls or must be use a control statement within the paint routine to determine how each control should be painted?

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

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

          Nope, it overrides the global look and feel. However you can use the colour properties to customize individual UI elements at least a little bit.

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

            Knobs/Sliders next please :D

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

            1 Reply Last reply Reply Quote 1
            • LindonL
              Lindon @d.healey
              last edited by

              @d-healey said in Finally: Fully customize stock UI elements with a scripted LookAndFeel:

              @ustk said in Finally: Fully customize stock UI elements with a scripted LookAndFeel:

              • MidiLearnPanel => column widths

              Side request - can you make the midi learn panel even more useful by adding the ability to select the assigned CC from a right click menu? This will be very helpful for users who don't have many hardware controllers but still want to use CC automation in their DAW/host.

              Assuming this request didnt get executed? If so add my vote for it please.

              HISE Development for hire.
              www.channelrobot.com

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

                There you go:

                Link Preview Image
                - added Assign to Midi CC to MIDI learn context menu · christophhart/HISE@d30e21d

                The open source framework for sample based instruments - - added Assign to Midi CC to MIDI learn context menu · christophhart/HISE@d30e21d

                favicon

                GitHub (github.com)

                LindonL 1 Reply Last reply Reply Quote 0
                • LindonL
                  Lindon @Christoph Hart
                  last edited by

                  @Christoph-Hart said in Finally: Fully customize stock UI elements with a scripted LookAndFeel:

                  There you go:

                  Link Preview Image
                  - added Assign to Midi CC to MIDI learn context menu · christophhart/HISE@d30e21d

                  The open source framework for sample based instruments - - added Assign to Midi CC to MIDI learn context menu · christophhart/HISE@d30e21d

                  favicon

                  GitHub (github.com)

                  hey @d-healey - is this in your latest commit? If not any chance of adding it?

                  HISE Development for hire.
                  www.channelrobot.com

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

                    I think at this point it really would be best if Christoph could merge my branch into the official repo.

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

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

                      @Christoph-Hart Who else needs to sign the agreement thingy for you to merge? I can send dogs after them if needed :)

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

                      ustkU 1 Reply Last reply Reply Quote 3
                      • ustkU
                        ustk @d.healey
                        last edited by ustk

                        @d-healey We were 3, two of us did it :)
                        @Levitanus doesn't seem to be an active member for a while...
                        Maybe Christoph could reach him by email? traditional mail? carrier pigeon? 😁

                        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

                          @ustk He's active on VI-Control. I'll send him a message there.

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

                          1 Reply Last reply Reply Quote 2
                          • LevitanusL
                            Levitanus
                            last edited by

                            Hi, I'm ready to sign. Ohhh. How complicated things are... It's just few lines from the JUCE repo)

                            1 Reply Last reply Reply Quote 2
                            • LevitanusL
                              Levitanus
                              last edited by

                              Can't see what should I do

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

                                @Levitanus I think you'll need to wait for Christoph to send you the doc tomorrow.

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

                                1 Reply Last reply Reply Quote 0
                                • LevitanusL
                                  Levitanus
                                  last edited by

                                  OK, thanks. pianoist@ya.ru for the case

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

                                    Actually, if you just pasted some lines over from the JUCE library, you don't need to sign it (because then the JUCE guys have the copyright). I've just seen your name in the commit history and wanted to make sure that everything is cleared before merging.

                                    Alrighty then, we're good to go. @d-healey can you send me the link to the branch I should merge? I kind of lost track :)

                                    d.healeyD 1 Reply Last reply Reply Quote 4
                                    • d.healeyD
                                      d.healey @Christoph Hart
                                      last edited by

                                      @Christoph-Hart

                                      Link Preview Image
                                      Build software better, together

                                      GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.

                                      favicon

                                      GitHub (github.com)

                                      There is a pull request open for it.

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

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

                                        Alrighty, done :)

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

                                          Woohoo!!!!

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

                                          1 Reply Last reply Reply Quote 2
                                          • A
                                            andioak
                                            last edited by andioak

                                            @Christoph-Hart

                                            While trying to add a customization I seem to get an infinite loop:

                                            laf.registerFunction("drawToggleButton", function(g, obj)
                                            {
                                                var blue = "0xFB00A6C9";
                                                var yellowish = "0xFBB4CF0C";
                                            	  
                                                if(obj.text == "Button1") // accessing only one of the item for a special color, or anything:
                                                {
                                                    Console.print("object id is button1"); // this code keeps repeating over and over... ?
                                                    g.setColour(yellowish); // custom color only here.
                                                } 
                                                else {
                                                
                                                    g.setColour(blue); 
                                                    
                                                }
                                                
                                                g.fillRoundedRectangle(obj.area, 4.0);
                                            
                                                if(obj.over)
                                                    g.fillRoundedRectangle(obj.area, 4.0);
                                            
                                                if(obj.down)
                                                    g.fillRoundedRectangle(obj.area, 4.0);
                                                
                                                g.setColour(Colours.withAlpha(obj.textColour, obj.value ? 1.0 : 0.3));
                                                g.setFont("Arial Bold", 12.0);
                                                g.drawAlignedText(obj.text, obj.area, "centred");
                                            
                                            });
                                            

                                            The if (obj.text == "Button1") is processed all the time and always returns true, even though there is only one single item with that name.

                                            UPDATE: after testing the same if-types as already used in the hise docs copy-paste that this one is made from, it works if I remove the Console.print() and replace the if statement with this only:

                                            ... 
                                            
                                            g.setColour(blue);
                                            
                                            if(obj.text == "Button2")
                                                    g.setColour(yellowish);
                                            
                                            ...
                                            

                                            Is that how this was intended to be used only? Is there an issue with the Console? Not being handled in that stage?

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

                                            38

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            102.1k

                                            Posts