HISE Logo Forum
    • Categories
    • Register
    • Login

    Look and Feel - Toggle Buttons and the MIDI Sources panel...

    Scheduled Pinned Locked Moved Bug Reports
    62 Posts 7 Posters 4.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.
    • ?
      A Former User @d.healey
      last edited by A Former User

      @d-healey

      Try this....LAF.gif ..
      IF it doesn't work save the XML close HISE and reload the project/open XML.

      d.healeyD 2 Replies Last reply Reply Quote 1
      • ?
        A Former User
        last edited by

        HiseSnippet 1496.3ocwW80aaaCDWJMJnwcYsEn.CCXOHjGJrWcbkcRV1ZvP8eRbavRZMhyJFPPPGsDsMWnHEnnZhaQw9psG1KC6Ky9FjcTTxRJUMKMCCSAQl73wi+t638GMPvcwggbgg4xGMK.aX9YVCmwjS6MEQXF6sig4mac.JThE1ZRcmEfBCwdFll25YJBlKunQ7ye8ztHJh4hyHYX7JNwEuOwmHynNn8OPnz9HO7QD+bbuQ68b4rdbJOBvysrbLBPtmhlfeARw1BVFlKsqGQxECkHIND3oK2a1vo7yXZ9eEIjLhhUSZZLDDjlrQuoDp2fTcMzvvbwAYZ9szZ9CrNf3QlSOyBbu3Ery1Qdaf4BEgzhEfTyOFj5yodJA7QfmYN3snFd22ZnqfDHyVQgs6XsGCbNiQfYOOrz7ZrvyWxpGG3fIa3iNE2W.Sluipa53T2dCGmZauRkUp.F+Po8aPBaJZr82auKaBgga3Jvfp8LJeDhpE69b9ocXd8wXZU0VA1aHvSHpqI8iXtRBmUcUOA5rA7fnfCvrntfmbhfGw7Vst83TdlT2lO5WpsRk2sREa3YRiwvMiNTZUmy62uU7iFauW+y03j1Sh8upyPoeHP6.hMPfpscF4o.YzwqeRBI8ax3pJVIgCwAHABb00zKjHOMtCwR8E2p5eBab1ThDWa67Lov49fIsJ5XmSdTSv1qFX+H3mVmrlddS870O4ws9foMa3jWfBrLRvRH79Rw7QD2SwdWMfcN+65uYmdarauhnU4J1kRIAg3pGm.zoOd84nJdb5qSpUFNhOl9vUtpq1CQIiDDvyzbyL03Rv84jISov+x+MX9PrqrZp2s3xWauTG.ELr2Q3y0hRBCpaO2JnsA0i8a1qomu9I.gUo3wxUmaKvzP769+D.Wi.mdb+Q7t7yKIlw9pCYJ5Pbb5uU2s5sUssyGKenJjG6o7IH1DJb0uv03RsHD4zNzfon3j.c5o9qtcrU.yPPtTO6G9PMV.z9FbM6mpDo8SrcZzpVlj+mMioQbysiq6jYHcgblBr2baYIIHzmwQBhV0NNWzrxo730g24hpShU1H9EbDGfjSaLXuutU8DKB3qRcA1b1K3R7KYUqU4cUVtx6qXe4kFOtz0To6EbJEKJcYUIWwUswprH+QXQcPgoQ34LB0gJVnaoqWgNWc0mbLxY6wHxWFfSlmUJrYIkBMRJeoJJlfPfUYbIw6kTRL8JrAwSUQLcZSiXUHe6HF+3d6fjnTgAxENq.rPRTpj4N32.sqnq2tr0N3vSk7.33.IFvYJTXVQezqjVMFwvz3y81VwiaZbtgoko5rlkN3Lhmb5bXz9WaOEqRxkArYsGwEdXwgHORTXd.qoOj71BpAjxvOsOokWZy09xeuH0VJxewCt6eDycNzacMMbmmcZNsmkMoZaezb8KufuiLoGJsf6S4HIgM4HBbiPI76ZkmT9C3mcye.eU6D+xQI.sWTnj6ODKU6MzXzjL8FX+hOzZ7m+1EWTh0Hkbr6eg2ZZEmaa0cDPFDwpOwVJhv00jhuDTfzKijAQxBj5FMdr1wTf7Pje.EeHDhTfrt6otCNnHyPBFjOnWGv8tjXbQTbeH+FuH1hamtiOjTUdPDURBnjKg9dTLRn5WsWuR.19bWjJb+RJ7nnqDB6CkMf0NVm0yowl0SGsU5PHC17QsxHlNpUCG0fSfbboQCVl6.2hRiDrLOScm5Ca6EZ9l6EQU8ckuib0mdjr.nNEZ8U0dKKjHmk+SS9DZS2oz1zKM2z0Dt22Z.Q5Nsb7tPI3ExO8eMdS9nmUr1EtG6Jy.6hV8+oa5W37I.Enw.UDMTCTPTYTdQj+PHV0ECHgA4QCU2IVPkjQO2IMqyPLyKdxEvSxhMUyMSVrY5hF9HWA+0t5pFpOq51wT.Lwh+hxkgOsElaOuPgkkSCGCeH540ttJSwZ.1KeOstA6Y8avd13FrmMuA64atA6Yqavd91qbOpDWchfD95vDfvfciyXaZtqt2O0MRi+FP+myEH
        
        1 Reply Last reply Reply Quote 0
        • ?
          A Former User
          last edited by A Former User

          Transparent 2.jpg Transparent 1.jpg
          LAF with Custom settings (Transparent BG)

          1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey @A Former User
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @A Former User
              last edited by

              @Rudra-Ghosh but I want to use laf, if I comment it out and reset that doesn't fix the problem. Or will it be okay in the exported plugin?

              ? 2 Replies Last reply Reply Quote 0
              • ?
                A Former User @d.healey
                last edited by

                @d-healey Yes... LAF is okay in Exported plugins too.

                1 Reply Last reply Reply Quote 1
                • ?
                  A Former User @d.healey
                  last edited by

                  @d-healey said in Look and Feel - Toggle Buttons and the MIDI Sources panel...:

                  if I comment it out and reset that doesn't fix the problem.

                  In such case you will need to reopen HISE.

                  d.healeyD 1 Reply Last reply Reply Quote 0
                  • d.healeyD
                    d.healey @A Former User
                    last edited by

                    @Rudra-Ghosh said in Look and Feel - Toggle Buttons and the MIDI Sources panel...:

                    @d-healey said in Look and Feel - Toggle Buttons and the MIDI Sources panel...:

                    if I comment it out and reset that doesn't fix the problem.

                    In such case you will need to reopen HISE.

                    What I mean is that hiding the problem is not a solution.

                    Are you saying that with laf enabled and the settings panel combo boxes black, I can export the plugin and the settings panel will look normal again?

                    ? 2 Replies Last reply Reply Quote 0
                    • ?
                      A Former User @d.healey
                      last edited by A Former User

                      @d-healey If you enable Laf register....you will get black box until or unless you write

                      laf.registerFunction("drawComboBox", function(g, obj) {
                       .........rest of the code
                          g.setColour(0xFFF7B7C7); 
                      
                      1 Reply Last reply Reply Quote 1
                      • ?
                        A Former User @d.healey
                        last edited by

                        @d-healey I didn't hide anything...didn't hide black combobox either. If you write

                        laf.registerFunction("drawComboBox", function(g, obj) {
                         .........rest of the code
                            g.setColour(0x00F7B7C7); // make transparent
                        
                        });
                        
                        1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User
                          last edited by

                          LAFF.png
                          Works perfectly in DAW

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

                            So in order to use the settings tile I have to make all combo boxes transparent and then redraw the settings tile using a panel and a paint routine?

                            ? 1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User @d.healey
                              last edited by

                              @d-healey Not only transparent, you can select any Combobox/Custom settings panel color from the code.

                              laf.registerFunction("drawComboBox", function(g, obj) {
                               .........rest of the code
                                  g.setColour(0xFFC7D1D6);
                              });
                              
                              
                              const var laf = Engine.createGlobalScriptLookAndFeel();
                              

                              Always override the default LAF. So you don't need to write Paint routine to draw combobox. The default combo box will be overridden by the drawComboBox

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

                                Content.makeFrontInterface(500, 400);
                                
                                const var laf = Engine.createGlobalScriptLookAndFeel();
                                laf.registerFunction("drawPopupMenuBackground", function(g, obj)
                                {
                                    g.fillAll(0xFF222222);
                                
                                });
                                
                                laf.registerFunction("drawPopupMenuItem", function(g, obj)
                                {
                                    var a = obj.area;
                                    var h = a[3];
                                    
                                    if(obj.isSeparator)
                                    {
                                        g.setColour(Colours.white);
                                        g.drawLine(a[0]+10, a[0] + a[2]-10, a[1] + a[3]/2, a[1] + a[3]/2, 1.0);
                                        return;
                                    }
                                    
                                    if(obj.isTicked)
                                    {
                                        g.setColour(0x9F5AC4EC);
                                        g.fillEllipse([a[0] + h/3, a[1] + h/3, h/3, h/3]);
                                    }
                                    
                                    g.setFont("Calibri", 15.0);
                                    
                                    if(obj.isHighlighted)
                                    {
                                        g.setColour(0x9F5AC4EC);
                                        g.fillRect(obj.area);
                                        g.setColour(Colours.white);
                                        g.drawAlignedText(obj.text, [a[0] + h, a[1], a[2] - h, a[3]], "left");
                                    }else{
                                        g.setColour(Colours.white);
                                        g.drawAlignedText(obj.text, [a[0] + h, a[1], a[2] - h, a[3]], "left");
                                    }
                                });
                                
                                laf.registerFunction("drawComboBox", function(g, obj) {
                                    var a = obj.area;
                                    g.setColour(0xFF1B2129);
                                    g.fillRoundedRectangle(a, 1.0);
                                    g.setColour(Colours.withAlpha(0xFFACACAC, (obj.enabled && obj.active) ? 1.0 : 0.2));
                                    g.drawAlignedText(obj.text, [a[0] + 10, a[1], a[2] - 30, a[3]], "centred");
                                    var h = a[3];
                                    g.drawTriangle([a[0] + a[2] - h/3 - 10, a[1] + h/3, h/4, h/4], Math.PI*2,1.0);
                                });
                                
                                d.healeyD 1 Reply Last reply Reply Quote 2
                                • d.healeyD
                                  d.healey @A Former User
                                  last edited by d.healey

                                  @Rudra-Ghosh Thanks for the example, that makes it more clear. I think I'm still going to avoid LAF for now, it feels too janky.

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

                                    @d-healey The only thing I'm not confident is the Content.createPath() issue that makes the components disappearing as we mentioned in the related thread. I'm pretty confident about the rest. It is just that switching from custom to standard LAF makes some weirdness inside Hise (hence the reset function), but once compiled, everything works as it should.

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

                                    d.healeyD ulrikU 2 Replies Last reply Reply Quote 1
                                    • LindonL
                                      Lindon @d.healey
                                      last edited by

                                      @d-healey said in Look and Feel - Toggle Buttons and the MIDI Sources panel...:

                                      @Rudra-Ghosh Thanks for the example, that makes it more clear. I think I'm still going to avoid LAF for now, it feels too janky.

                                      exactly what I decided......

                                      HISE Development for hire.
                                      www.channelrobot.com

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

                                        This post is deleted!
                                        1 Reply Last reply Reply Quote 0
                                        • ulrikU
                                          ulrik @ustk
                                          last edited by

                                          @ustk I had to put

                                          Content.createPath()
                                          

                                          outside the function to get LAF to work with sliders, then it's working fine also when compiled

                                          Hise Develop branch
                                          MacOs 15.3.1, Xcode 16.2
                                          http://musikboden.se

                                          ustkU 1 Reply Last reply Reply Quote 0
                                          • ustkU
                                            ustk @ulrik
                                            last edited by

                                            @ulrik yeah that might do it, but since Christoph said it was bad to refer to external variables in a custom LAF, I’m a bit confused on doing this...

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

                                            d.healeyD 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            20

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.7k

                                            Posts