HISE Logo Forum
    • Categories
    • Register
    • Login

    Can a label be clickable?

    Scheduled Pinned Locked Moved Scripting
    34 Posts 6 Posters 703 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.
    • MorphoiceM
      Morphoice @Christoph Hart
      last edited by

      @Christoph-Hart got it! thanks

      https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

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

        @Morphoice said in Can a label be clickable?:

        I always wondered why not

        Inferior operating system :p

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

        MorphoiceM 1 Reply Last reply Reply Quote 1
        • MorphoiceM
          Morphoice @d.healey
          last edited by

          @d-healey ;-))) I'm sure there is a setting somewhere

          this is what I did now, according to your example snippet,... it's not opening the site though. Does that only work outside of HISE?

          const VersionControl = Content.getComponent("VersionControl");
          
          //
          // Check for latest version
          //
          Server.setBaseURL("https://www.morphoice.com");
          Server.callWithGET("downloads/version-morphdrum.json", {"plugin":"MorphDrum"}, function(status, response) 
          {
          	if (response["version"]!=Engine.getVersion()) 
          		var version_latest = response["version"];
          });
          
          //
          // Paint Version Control Panel
          //
          VersionControl.setPaintRoutine(function(g)
          {
          	var a = this.getLocalBounds(0);
          	var version = Engine.getVersion()==latest_version ? "Version " + Engine.getVersion() : "Version " + Engine.getVersion() + " (update available)";
          	g.setFont("Oxygen", 13.0);
          	g.setColour(Colours.white); 
          	g.drawAlignedText(version, [a[0], a[1], a[2], 13], "right");
          	g.drawAlignedText("www.morphoice.com", [a[0], 5, a[2], a[3]], "right");
          });
          
          VersionControl.setMouseCallback(function(event)
          {
          	if (event.clicked)
          		Engine.openWebsite("https://www.morphoice.com/plugins");
          });
          
          
          

          https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

          d.healeyD MorphoiceM 2 Replies Last reply Reply Quote 0
          • d.healeyD
            d.healey @Morphoice
            last edited by

            @Morphoice said in Can a label be clickable?:

            it's not opening the site though

            Did you enable allow mouse callbacks for the panel?

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

            MorphoiceM 1 Reply Last reply Reply Quote 0
            • MorphoiceM
              Morphoice @Morphoice
              last edited by

              @Morphoice I've encapsulated it in its own .js script so I can include it in my other plugins and just have to put a VersionControl panel in the bottom right corner

              https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

              MorphoiceM 1 Reply Last reply Reply Quote 0
              • MorphoiceM
                Morphoice @d.healey
                last edited by

                @d-healey of course I did not LOL

                https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                1 Reply Last reply Reply Quote 0
                • MorphoiceM
                  Morphoice @Morphoice
                  last edited by

                  @Morphoice said in Can a label be clickable?:

                  @Morphoice I've encapsulated it in its own .js script so I can include it in my other plugins and just have to put a VersionControl panel in the bottom right corner

                  so I can include it in my other plugins and just have to put a VersionControl panel AND ALLOW MOUSE CALLBACKS in the bottom right corner

                  https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

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

                    @Morphoice said in Can a label be clickable?:

                    AND ALLOW MOUSE CALLBACKS

                    You could do it from your script then you don't have to remember to do it manually - or you can use a button instead of a panel.

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

                    MorphoiceM 2 Replies Last reply Reply Quote 0
                    • MorphoiceM
                      Morphoice @d.healey
                      last edited by

                      @d-healey I was just wondering if it is possible to create an entire panel from script and not in the UI editor

                      https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

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

                        @d-healey

                        I suppose it's

                        const var panel = Content.addPanel("Panel", 0, 0);
                        

                        but getting the coordinates right will probably be a pain

                        https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                        1 Reply Last reply Reply Quote 0
                        • MorphoiceM
                          Morphoice @Christoph Hart
                          last edited by Morphoice

                          @Christoph-Hart coming across this iconic example I wonder if we ever figured out whether Oxygen is compiled into the plugins by default or has to be added to the image directory in order for all distributions to show the correct font. and if not, what does it default to? please don't say Comic Sans

                          Screenshot 2024-12-05 at 13.41.09.png

                          https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

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

                            @Morphoice said in Can a label be clickable?:

                            I was just wondering if it is possible to create an entire panel from script and not in the UI editor

                            You can create an entire UI via scripting.

                            There's a whole documentation section about this: https://docs.hise.dev/scripting/scripting-in-hise/scriptpanel.html#use-the-"create-ui-factory-method"-tool

                            For positioning you can use maths. For example if you want a panel in the centre of the UI you could use

                            panel.set("x" UiWidth / 2 - panel.getWidth() / 2);
                            panel.set("y" UiHeight / 2 - panel.getHeight() / 2);
                            

                            For your main interface you probably will want to stick to using the interface designer for most things, but for secondary scripts you should use scripting to create their UIs.

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

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

                              @Morphoice said in Can a label be clickable?:

                              what does it default to?

                              Probably whatever the OS decides. You should always include the fonts you want to use, just to be sure. Also be aware that if you're using fonts in paint routines they might look different on different operating systems, so you'll need to test and account for that.

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

                              MorphoiceM 1 Reply Last reply Reply Quote 1
                              • MorphoiceM
                                Morphoice @d.healey
                                last edited by

                                @d-healey

                                so by default an

                                Engine.loadFont("{PROJECT_FOLDER}Fonts/Oxygen.ttf"); 
                                

                                is generally a good idea at the start of the plugin, just to be safe?

                                https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

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

                                  @Morphoice said in Can a label be clickable?:

                                  is generally a good idea at the start of the plugin, just to be safe?

                                  Yes but no, loadFont is deprecated, you should use loadFontAs() instead. Only use Oxygen if that's the font you want to use.

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

                                  MorphoiceM 1 Reply Last reply Reply Quote 0
                                  • MorphoiceM
                                    Morphoice @d.healey
                                    last edited by

                                    @d-healey said in Can a label be clickable?:

                                    loadFontAs

                                    I see. So the bold version I load as "Oxygen Bold" etc.

                                    https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

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

                                      @Morphoice Yes, but you can use whatever name you like, here's an example - https://codeberg.org/LibreWave/RhapsodyBoilerplate/src/branch/main/includes/LookAndFeel.js#L22

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

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

                                        @Christoph-Hart said in Can a label be clickable?:

                                        itβ€˜s a separate HISE instance.

                                        Not really sure of that one... https://forum.hise.audio/topic/10665/warning-snippet-browser-overwriting-the-current-project/7

                                        @d-healey said in Can a label be clickable?:

                                        Inferior operating system :p

                                        Phewww.... We had a close shave! 😰 😁
                                        https://www.totalphase.com/support/articles/200349376-multiple-application-instances-on-mac-os-x/?srsltid=AfmBOoqArvsq9Evjguf3dQ4sTrVAUeIOfEVHNXRSzDGsKDhfIKEX3GHp

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

                                        MorphoiceM LindonL 2 Replies Last reply Reply Quote 2
                                        • MorphoiceM
                                          Morphoice @ustk
                                          last edited by

                                          @ustk said in Can a label be clickable?:

                                          Phewww.... We had a close shave!
                                          https://www.totalphase.com/support/articles/200349376-multiple-application-instances-on-mac-os-x/?srsltid=AfmBOoqArvsq9Evjguf3dQ4sTrVAUeIOfEVHNXRSzDGsKDhfIKEX3GHp

                                          I knew there was an option somewhere :) Superior OS :-p

                                          https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                                          d.healeyD VirtualVirginV 2 Replies Last reply Reply Quote 0
                                          • d.healeyD
                                            d.healey @Morphoice
                                            last edited by

                                            @Morphoice said in Can a label be clickable?:

                                            Superior OS

                                            This will only lead us to dark places, let's get out while we can.

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

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

                                            28

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.8k

                                            Posts