HISE Logo Forum
    • Categories
    • Register
    • Login

    button for sharing

    Scheduled Pinned Locked Moved General Questions
    15 Posts 7 Posters 2.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.
    • orangeO
      orange @d.healey
      last edited by

      @d-healey no it's not clickable in floatingtitle.
      But is there a way to make clickable area with a panel or image with java code?
      I couldn't find the solution on the forum.

      develop Branch / XCode 13.1
      macOS Monterey / M1 Max

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

        There you go :)

        Link Preview Image
        - added `Engine.openWebsite()` scripting method · christophhart/HISE@a26722b

        The open source framework for sample based instruments - - added `Engine.openWebsite()` scripting method · christophhart/HISE@a26722b

        favicon

        GitHub (github.com)

        d.healeyD orangeO hisefiloH 4 Replies Last reply Reply Quote 5
        • d.healeyD
          d.healey @Christoph Hart
          last edited by d.healey

          @christoph-hart You really should add a paypal donation button somewhere. Or setup a patreon page.

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

          ulrikU 1 Reply Last reply Reply Quote 5
          • orangeO
            orange @Christoph Hart
            last edited by orange

            @christoph-hart said in button for sharing:

            There you go :)

            Link Preview Image
            - added `Engine.openWebsite()` scripting method · christophhart/HISE@a26722b

            The open source framework for sample based instruments - - added `Engine.openWebsite()` scripting method · christophhart/HISE@a26722b

            favicon

            GitHub (github.com)

            Incredible, great thank you so much Christoph, what a speed coding art!!!! 👑 👐 🙌 🤘 :smiling_face_with_heart-eyes: :smiling_face_with_sunglasses:

            I agree with @d-healey

            develop Branch / XCode 13.1
            macOS Monterey / M1 Max

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

              @christoph-hart

              I've tried to use Engine.openWebsite(); with a button like below but I couldn't. How can we do that?

              const var GoToWebSite_Button = Content.getComponent("GoToWebSite_Button");
              
              
              inline function onGoToWebSite_ButtonControl(component, value)
              {
              	GoToWebSite_Button.Engine.openWebsite(https://www.orange.com);
              };
              
              Content.getComponent("GoToWebSite_Button").setControlCallback(onGoToWebSite_ButtonControl);
              
              

              develop Branch / XCode 13.1
              macOS Monterey / M1 Max

              1 Reply Last reply Reply Quote 0
              • ulrikU
                ulrik @d.healey
                last edited by

                @d-healey said in button for sharing:

                @christoph-hart You really should add a paypal donation button somewhere. Or setup a patreon page.

                I agree!

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

                1 Reply Last reply Reply Quote 0
                • Dominik MayerD
                  Dominik Mayer
                  last edited by Dominik Mayer

                  @orange
                  no need to reference the button before the Engine :)
                  will suffice:

                  const var Button1 = Content.getComponent("Button1");
                  
                  inline function onButton1Control(component, value)
                  {
                      Engine.openWebsite("http://www.rbemis.com/orange/index.html");
                  };
                  
                  Content.getComponent("Button1").setControlCallback(onButton1Control);
                  
                  

                  Here a variant with a Panel with written text:
                  (u have to create a Panel Component named LinkPanel with height ~100/20px in the Interface designer and set allowCallbacks to "Clicks only" )

                  const var LinkPanel = Content.getComponent("LinkPanel");
                  
                  LinkPanel.setPaintRoutine(function(g)
                  {
                      g.setColour(Colours.cornflowerblue);
                      g.drawText("website.com", [0,0,100,15]);
                  });
                  
                  LinkPanel.setMouseCallback(function(event)
                  {
                  	if (event.doubleClick)
                  	  Engine.openWebsite("http://www.rbemis.com/orange/index.html");
                  });
                  

                  for more mouseCallback behaviours you can check: http://hise.audio/manual/ScriptPanel.php#122callbackeventproperties

                  greets,
                  d

                  orangeO 1 Reply Last reply Reply Quote 0
                  • hisefiloH
                    hisefilo @Christoph Hart
                    last edited by hisefilo

                    @christoph-hart wow u rock!!! Hoping to do some "share for activate" or something. Donation is also a good idea. Maybe setting split payment so u can grab a % of it (Stripe?)

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

                      @dominik-mayer Thank you so much, these are great solutions.

                      develop Branch / XCode 13.1
                      macOS Monterey / M1 Max

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

                        Well I'll think about that Patreon thingie :)

                        @Dominik-Mayer: You don't need to require a Panel to have certain properties, just set it via scripting calls:

                        const var LinkPanel = Content.getComponent("LinkPanel");
                        
                        LinkPanel.set("width", 100);
                        LinkPanel.set("height", 20);
                        LinkPanel.set("allowCallbacks", "Clicks only");
                        
                        LinkPanel.setPaintRoutine(function(g)
                        {
                            g.setColour(Colours.cornflowerblue); // LOL
                        
                            // This method is bad (it squashes the text if the height doesn't match...
                            //g.drawText("website.com", [0,0,100,15]);
                        
                            // Use this method instead
                            g.drawAlignedText("website.com", [0, 0, this.getWidth(), this.getHeight()], "centred");
                        });
                        
                        LinkPanel.setMouseCallback(function(event)
                        {
                        	if (event.doubleClick)
                        	  Engine.openWebsite("http://www.rbemis.com/orange/index.html");
                        });
                        
                        1 Reply Last reply Reply Quote 1
                        • First post
                          Last post

                        54

                        Online

                        1.7k

                        Users

                        11.7k

                        Topics

                        101.8k

                        Posts