HISE Logo Forum
    • Categories
    • Register
    • Login

    Almost finished my first FX plugin! Just 1 small animation problem...

    Scheduled Pinned Locked Moved General Questions
    25 Posts 6 Posters 1.5k 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.
    • SteveRiggsS
      SteveRiggs @orange
      last edited by

      @orange

      I'll put the updated code in here as well in case you need to see

      Content.makeFrontInterface(600, 500);
      
      const var NoiseGenerator1 = Synth.getChildSynth("Noise Generator1");
      
      /** Creates a VU-Meter from a filmstrip for the master volume. */
      /** Creates a VU-Meter from a filmstrip for the master volume. */
      inline function createFilmStripVuMeter(name, x, y, isLeft)
      {
      	local widget = Content.addPanel(name, x, y);
          
          Content.setPropertiesFromJSON(name, {
            "width": 127, // this uses the exact dimensions of one filmstrip
            "height": 167,
            "opaque": true // opaque is important in order to increase the drawing performance
          });
          
          // Put the image in your image folder
          widget.loadImage("{PROJECT_FOLDER}LED Output Meter V1_128 Frames_127 x 167 pixels.png", "filmstrip");
          
          widget.data.value = 0.0;
          widget.data.isLeft = isLeft;
          
          // Set the initial image 
          widget.setImage("filmstrip", 0, 0);
          
          widget.setTimerCallback(function()
          {
          	// Get the peak value from the master output
          	var newValue = Engine.getMasterPeakLevel(this.data.isLeft ? 0 : 1);
          	
          	if(newValue > this.data.value)
          		this.data.value = newValue;
          	else
          		// Just decay the current value (0.92 controls the decay time)
          		this.data.value = this.data.value * 0.92;
          	
          	// Calculate the filmstrip index
          	// this must be an integer value
          	// 84 is used instead of 128 because 84 is ~0dB which is
          	// more accurate for this example filmstrip
          	var index = parseInt(this.data.value * 84.0);
          	
          	// If you just want to paint one image, 
          	// you don't need the paint routine, but
          	// just use this method
          	// the yOffset is index * heightOfFilmstrip
          	this.setImage("filmstrip", 0, index * 65);	
          });
          
          widget.startTimer(30);
          return widget;
      };
      
      const var VuMeterLeft = createFilmStripVuMeter("VuMeterLeft", 11, 10, false);
      
      

      www.anarchyaudioworx.com

      www.facebook.com/groups/audioworx/

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

        Did you try this Console.print(index); ? all I get is 0.

        Another thing I noticed . The timer is running constantly, wouldn't it be better to only run it while the value > 0?

        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
          last edited by d.healey

          Because of this thread I assume something must have changed in HISE.

          Anyway it seems that

              	var index = parseInt(this.data.value * 84.0);
          
              	// If you just want to paint one image, 
              	// you don't need the paint routine, but
              	// just use this method
              	// the yOffset is index * heightOfFilmstrip
              	this.setImage("filmstrip", 0, index * 64);
          

          Is where the problem lies. Firstly var index = parseInt(this.data.value * 84.0); always returns 0, I think that if you increase 84 to 19000 it might be better.

          And this this.setImage("filmstrip", 0, index * 64); You need to change 64 to be the height of your filmstrip frame 167

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

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

            @SteveRiggs
            The project is in the attachment below, both right and left channel meters are working now ;)

            alt text

            VU.zip

            develop Branch / XCode 13.1
            macOS Monterey / M1 Max

            NatanN 1 Reply Last reply Reply Quote 3
            • SteveRiggsS
              SteveRiggs
              last edited by

              @orange @d-healey Boom! Thanks guys. Very much appreciated!

              @orange Out of interest (so I know for next time), was it just the line David mentioned below that was the problem? Or did I mess up anything else? 🤣

              And this this.setImage("filmstrip", 0, index * 64); You need to change 64 to be the height of your filmstrip frame 167

              www.anarchyaudioworx.com

              www.facebook.com/groups/audioworx/

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

                @SteveRiggs Yeah index value must be height of the each frames ;)

                develop Branch / XCode 13.1
                macOS Monterey / M1 Max

                SteveRiggsS 1 Reply Last reply Reply Quote 1
                • SteveRiggsS
                  SteveRiggs @orange
                  last edited by

                  @orange Excellent. Thanks man

                  www.anarchyaudioworx.com

                  www.facebook.com/groups/audioworx/

                  1 Reply Last reply Reply Quote 0
                  • NatanN
                    Natan @orange
                    last edited by Natan

                    @orange said in Almost finished my first FX plugin! Just 1 small animation problem...:

                    Thank You @orange For The Project. But Somehow The Example Won't Work After I Compiled The Plugin, Any Idea?
                    NOTE: ENABLE_ALL_PEAK_METERS=1 Enabled
                    Meter Works In Hise, But Does Nothing In Compiled Fx Plugin :(

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

                      @Natanr said in Almost finished my first FX plugin! Just 1 small animation problem...:

                      @orange said in Almost finished my first FX plugin! Just 1 small animation problem...:

                      Thank You @orange For The Project. But Somehow The Example Won't Work After I Compiled The Plugin, Any Idea?
                      NOTE: ENABLE_ALL_PEAK_METERS=1 Enabled
                      Meter Works In Hise, But Does Nothing In Compiled Fx Plugin :(

                      Have you enabled "Embed Image Files" & "Embed Audio Files" in the preferences section?

                      develop Branch / XCode 13.1
                      macOS Monterey / M1 Max

                      NatanN 1 Reply Last reply Reply Quote 0
                      • NatanN
                        Natan @orange
                        last edited by

                        @orange If You Mean This CheckBox, It Is Already Ticked :/
                        Screen Shot 2019-11-04 at 12.51.11 PM.png

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

                          @Natanr What about "Embed Image Files" ? Did you enabled it too?

                          Also are you sure that your image strip is in your project's image folder?

                          develop Branch / XCode 13.1
                          macOS Monterey / M1 Max

                          NatanN 1 Reply Last reply Reply Quote 0
                          • NatanN
                            Natan @orange
                            last edited by

                            @orange Mate, There Is No Such An Option In My Preferences :(

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

                              @Natanr Should be right under embed audio files, I see it is not there in your screen shot. What version of HISE are you using?

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

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

                                @d-healey I'm On 2.1.0 / 29 Oct / Build 650

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

                                  Weird. I'm on a build from Oct 21st and mine looks like this

                                  c9daad81-42b3-4944-a526-58177b978675-image.png

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

                                  NatanN 1 Reply Last reply Reply Quote 2
                                  • NatanN
                                    Natan @d.healey
                                    last edited by

                                    @d-healey Wierd :/

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

                                      @Natanr

                                      • In the latest Hise builds, if you create new projects, "Embed Image Files" option is under the "Embed Audio Files". But if you open old projects in new Hise builds, "Embed Image Files" opton is on somewhere in bottom, please check carefullly, look again around VST3 support area.

                                      • Try to create a new empty project. Then go to the Preferences section, and see if this option is available or not.

                                      develop Branch / XCode 13.1
                                      macOS Monterey / M1 Max

                                      NatanN 1 Reply Last reply Reply Quote 1
                                      • NatanN
                                        Natan @orange
                                        last edited by

                                        @orange Thanks Mate, I'll Check And Keep You Updated :)

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

                                        44

                                        Online

                                        1.7k

                                        Users

                                        11.7k

                                        Topics

                                        101.8k

                                        Posts