HISE Logo Forum
    • Categories
    • Register
    • Login

    Rotate an Image

    Scheduled Pinned Locked Moved General Questions
    35 Posts 9 Posters 4.1k 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.
    • JayJ
      Jay
      last edited by

      Is there a way to rotate an image while the plugin is running?

      Lets say for example I want my plugin to rotate an image while my plugin is enable, kind of a (saturation) tape

      Joansi Villalona

      hisefiloH 1 Reply Last reply Reply Quote 0
      • hisefiloH
        hisefilo @Jay
        last edited by

        @Jay maybe an animated gif is a workaround. Don't know if it's possible via scripting

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

          I think you can do this with a panel. Use the loadImage command then paint the image on the panel in the panel's paint routine where you'll also be able to use the rotate command.

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

          JayJ 1 Reply Last reply Reply Quote 0
          • JayJ
            Jay @d.healey
            last edited by

            @d-healey do you have an example?

            Joansi Villalona

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

              @Jay Nope :) I've never done it

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

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

                Okay, here's an example. Just replace test.jpg with whatever the name of your image is. The image must be in the Images folder inside your project directory.

                HiseSnippet 917.3ocsV0maaaCEmxIZn1aFXEXG.BCL.YLOO4zlrATLLu3OF7VShPbZw.FJBXjnk3BEo.EcyLBxcXmfcV1QYGgcC1dTT1Ro0on9Oh9K+9j+dO968nCTxPZdtTgbZdwpLJx4ybmuRnSFkPXBzrwHmOwUSy0niWkQxyoQHGm89IiMml6iJ992e3XBmHBoUpPnWKYgzWxRY5JsAC+EFmOkDQufkVy6mObVnTLRxkKAbrmqOJiDdMIldJw3VCW.DShXZoZtl.fA4r+wxnUySj2Hr9+ZVN6JN0HL.MGRjU8TIOxfXiVznDFOJXc8lifrDTU86Yq9uv8DVDai9ptvmWX.WEQ89gSiOD7FTGd9e7vyoF712Bum5NOTwxzUVLX6ScmIzT0BBbETGVVeQM9qFtijfGBc+Tx0zoJPXSDdG462Cenue2WztU6VJZLlHh4T72i8Kz.WM4Z7aIJb.QP4C.CqyVLUORllIEffWGq4N17XE5ykjnYovUoWmaCN+redxnKtb5Yub7jyuyvp5+6Ywc5g6X988CLmpCfdu9b4RMSP8VrTDpYRgWb2aa2BCew8URS+16DhNouVdNIhQD4dEnuaO7uoSX4FH504FVjNoS2u4fd3JkITVbh1n8MlS1lxHE4lR7VfIHMP2wudbkIaao5MEtBcxV28tEigwqFQ37q.pcU0rtXV2xsnG+U3AcweI9YG4WhLnimK4z9YJnmTVhklJfghlY5Vdu+QqIJ6g6cvgcew5CFKEmJ0zy.Dz51VMacWq20xhEayj4lWI4bHcawp8bd3v7DKSuhp5ArI9R5Z+.188Gebe3wm5S2gVVXMGkhYBl9rLp3gFpPkTW3WuZ1XhlXlyJ0A9kQUZlABNiouEVfYm5Z5NllesVlU3aIeG1IoKr1d8LoogiXvj2SbsMezerYG2vfgq1H72uZXAIZih+TOzRg1n4ejCQu+3OrDRFsjSz2eyjYcboAnceuU.lwbQNSup955Gk0Uerv8otALcXx1waisfW3F5wFukK+a6NYwBZntBr66N8We72zirK4hgEYJFvYbOcY5b3svPJfDAvjLyDNMLrWqruQ1zYlSEQEB+G7UZbfQ1oz3f0FQojPk7xP6fn44kmTnAvjn3U1ltmXjwCPECmVbmBu4cYXnoQ70.x2dDGryQ7rcNhmuyQb3NGwQ6bDe6NGw28Ahv7GL9wkZYpcr.TDLoXEkiyDAAXUELPz+Czk5i9G
                

                Peek 2018-12-17 01-12.gif

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

                JayJ 2 Replies Last reply Reply Quote 5
                • JayJ
                  Jay @d.healey
                  last edited by

                  @d-healey thanks

                  Joansi Villalona

                  1 Reply Last reply Reply Quote 0
                  • JayJ
                    Jay @d.healey
                    last edited by

                    @d-healey is there any way to make a button to stop the rotation and if so what should I add?
                    Any example?

                    Joansi Villalona

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

                      @Jay What is your end goal? i.e. why do you want a button to stop the rotation?

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

                      JayJ 1 Reply Last reply Reply Quote 0
                      • JayJ
                        Jay @d.healey
                        last edited by

                        @d-healey let's say I want to make a plug-in with a bypass button that when I bypass it the rotation stop and when I enable it the rotation start.

                        I don't know if it make sense.

                        Joansi Villalona

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

                          @Jay said in Rotate an Image:

                          @d-healey let's say I want to make a plug-in with a bypass button that when I bypass it the rotation stop and when I enable it the rotation start.

                          I don't know if it make sense.

                          Well, do you understand the script I gave you? If you can see what starts the rotation you should be able to figure out how to stop it. I don't want to give you the answer, I want you to learn so you fully understand how it works.

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

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

                            deskrotate.gif
                            HISE Turntable Tapemachine?

                            JayJ 3 Replies Last reply Reply Quote 4
                            • JayJ
                              Jay @Dominik Mayer
                              last edited by

                              @Dominik-Mayer yes something like this

                              Joansi Villalona

                              1 Reply Last reply Reply Quote 0
                              • JayJ
                                Jay @Dominik Mayer
                                last edited by Jay

                                @Dominik-Mayer can I have the code ?

                                Joansi Villalona

                                1 Reply Last reply Reply Quote 0
                                • JayJ
                                  Jay @Dominik Mayer
                                  last edited by

                                  @Dominik-Mayer ???

                                  Joansi Villalona

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

                                    @Jay said in Rotate an Image:

                                    @Dominik-Mayer ???

                                    Have you tried to understand the code I gave you? If so, which part are you struggling with?

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

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

                                      Here is the script with a little embedded Task ;)
                                      You can surely figure it out.

                                      resource:
                                      logo_new.png
                                      save as logo_bw.png in the Images Folder of your project.

                                      Content.makeFrontInterface(600, 500);
                                      
                                      const var Panel1 = Content.getComponent("Panel1");
                                      const var Knob1 = Content.getComponent("Knob1");
                                      const var Button1 = Content.getComponent("Button1");
                                      
                                      reg angle = 0;
                                      reg speed = 0;
                                      
                                      Panel1.loadImage("{PROJECT_FOLDER}logo_bw.png", "test");
                                      
                                      Panel1.setPaintRoutine(function(g){
                                          g.rotate(Math.toRadians(angle), [this.get("width")/2, this.get("height")/2]);
                                          g.drawImage("test", [0, 0, this.get("width"), this.get("height")], 0, 0);
                                      });
                                      
                                      Panel1.setTimerCallback(function(){
                                          angle = (angle + speed) % 360;
                                          this.repaint();
                                      });
                                      
                                      
                                      // Custom Callbacks for Knob1 and Button1
                                      
                                      inline function onKnob1Control(component, value)
                                      {
                                          // TASK: set something to the value of the Knob
                                      };
                                      Content.getComponent("Knob1").setControlCallback(onKnob1Control);
                                      
                                      
                                      inline function onButton1Control(component, value)
                                      {
                                          if (value)
                                          {  
                                              Panel1.startTimer(40);
                                          }
                                          else
                                          {
                                              Panel1.stopTimer();
                                          }
                                      };
                                      
                                      Content.getComponent("Button1").setControlCallback(onButton1Control);
                                      
                                      HiseSnippet 1202.3ocsW0saaaCElxIpq1adXEnWrKILv.jwxRTZSyJZwvbiiyfWZRLhyJJvPQ.iDkLQjHEjnZhWP.1ixdT1k6wXOB6MX6PQJK4Fmz3BLcSxg77wy24Gd3wiREdzrLQJxp4ISSnHquvd7TtbR+IDFGMbWj0WYOJhHkTdVBiFQSQ6LMgjkQ8QVVq7SJsrZtJp36e9wcHQDtGsZID5MBlG80rXlrZ0Q81mEEsGwmdBKtl1a0anmf2WDIxAFshsKJg3cNIjdHQoVCaj0CF3yjhzwRhjlgrVcGg+zwSDWv05+FVF6rHpRXSzX3fzKumHxWwX0pn9SXQ9iJ87LDbJiphCqniCO19.lOa150iGpMvUHpGOrZbWzayOQ5YUidqpo2irG6kxRjU6n31maOjKooADHETmVZcQM9qUs6K.M3x0iImS2KEDlgvYaW20vOy0s6Ka2pcKHQjIwumjhGQ3znMw+.tDaHU1WDmH3ffSG81cTnpvrOWb1sCoX2O.wN4Rofe6XL62QytTZHlvCinf9tuTKmkPo9F41szzZ8HAweXLTB4z4pQGezOOn+Imt2Qud2AGecjHTb5YWrdBOryZ3NPBSZNcC1LpbDj1kGKxkLN0IHm6IYBtSX2qZ2BCegqmJToZmCHxIqKEGS7YDdlSA05tF9WkSXYJGwoyELe4jNc23IqgqVbBkENQpV8cJKqOR+TxEFJWvI3XfDiacblCaQG06JTsHId8G5Mpaao8IQQmAWqpbmRuoLfpoO9a0Qzt3uA+zscMzqvfozDUbwolQZ2ZiMv8yyjhXboExvAhxRAB2uLEqTlwifHJtjBXAuPMUpOUD43Ul2WCpMhxoca2xvQvJm7pw6+BL3N3LQLEHDODKE.ynZkwhfBA0IB7Cn2cVEpBLF6NKzLOcJ8vaRZiGc2ztIK.6TJq7gqvX8+n9JyNRRpN+3rkaYsv05+PixnFjK.mHQCqFnqKH7G4dzh8648H0YVycOTHoGA0KstpUyVWeicBBVzVliJRQwatqg62JLGdd7Yzzx.pQOnO37MZsueMZ8zgjZJJ3C4L4QIT9s09EYhiPi3FFRApJKZC+kl1viiX9vSiLna6mYWT5fJ3a8GBQ2FXcHu.bSaS7eAv+kg6RjD0yAFBAjLglJYJ+2ZW56g2Y0ONzzdWZ14PgAXpYYd3oSsYaW9zgp.pvpOzVWLgtrxfecuoUB3dEMblsPO+d51MyV4286gpYplezvyk0e0uxT+QXu3ZiT72I+YL4xZh8jzKkpSYrp0DJSRSFy9MZ8YPxxCBX.FaabpOBcy.vcF2qwqmWmWbike.XYffyGOPm1Ccy2ngIED94vvSyO9fZlIyFPk9buSqdKlmwjSq6OKwLEt26YJtuz8Q1iXRuIKluMV.eU2R9elulIzZaOHHf5IqH6p1681O0wwVBpnGGHDdxOsnN6v73wv.qdTfIb3djpcjUC0EdsrqRVEYFS49EB+K7Y1bSkrkYyMK2DES7REm5o6XnlA7gEq.bhWLJbS6CTx3YMJT7NFFL8TOOUf36.luXDOYoQ7zkFwVKMhmszH1doQ78KMhmeGHT+JfWkCi6nuV.KLZPQCZKqAbBTUUTAh9Ojd9pJF
                                      

                                      Greetings,
                                      d

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

                                        @Dominik-Mayer Can we make this with animation image strips? It will loop the image strip. I tried but coulsn't figured it out. Please help...

                                        develop Branch / XCode 13.1
                                        macOS Monterey / M1 Max

                                        ossian1961O 1 Reply Last reply Reply Quote 0
                                        • ossian1961O
                                          ossian1961 @orange
                                          last edited by

                                          @orange said in Rotate an Image:

                                          @Dominik-Mayer Can we make this with animation image strips? It will loop the image strip. I tried but coulsn't figured it out. Please help...

                                          So you don't need a rotate image function, just an amimated picture... isn't it?

                                          https://www.kontakthub.com/label/Imagik-Sound/
                                          https://mirtklaar.bandcamp.com/

                                          orangeO 1 Reply Last reply Reply Quote 1
                                          • orangeO
                                            orange @ossian1961
                                            last edited by orange

                                            @ossian1961 Yes, definately.... Because I've allready made a rotated image animation inside the strip. I only need to loop it.

                                            develop Branch / XCode 13.1
                                            macOS Monterey / M1 Max

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

                                            58

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            101.7k

                                            Posts