Forum

    • Register
    • Login
    • Search
    • Categories

    Rotate an Image

    General Questions
    9
    35
    2378
    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.
    • Jay
      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

      hisefilo 1 Reply Last reply Reply Quote 0
      • hisefilo
        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.healey
          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

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

            @d-healey do you have an example?

            Joansi Villalona

            d.healey 1 Reply Last reply Reply Quote 0
            • d.healey
              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.healey
                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

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

                  @d-healey thanks

                  Joansi Villalona

                  1 Reply Last reply Reply Quote 0
                  • Jay
                    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.healey 1 Reply Last reply Reply Quote 0
                    • d.healey
                      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

                      Jay 1 Reply Last reply Reply Quote 0
                      • Jay
                        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.healey 1 Reply Last reply Reply Quote 0
                        • d.healey
                          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 Mayer
                            Dominik Mayer last edited by Dominik Mayer

                            deskrotate.gif
                            HISE Turntable Tapemachine?

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

                              @Dominik-Mayer yes something like this

                              Joansi Villalona

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

                                @Dominik-Mayer can I have the code ?

                                Joansi Villalona

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

                                  @Dominik-Mayer ???

                                  Joansi Villalona

                                  d.healey 1 Reply Last reply Reply Quote 0
                                  • d.healey
                                    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 Mayer
                                      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

                                      orange 1 Reply Last reply Reply Quote 3
                                      • orange
                                        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

                                        ossian1961 1 Reply Last reply Reply Quote 0
                                        • ossian1961
                                          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/

                                          orange 1 Reply Last reply Reply Quote 1
                                          • orange
                                            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

                                            18
                                            Online

                                            977
                                            Users

                                            6.6k
                                            Topics

                                            60.6k
                                            Posts