HISE Logo Forum
    • Categories
    • Register
    • Login

    Issues in exported AAX plugins: drawing panels and buttons, sliding a panel

    Scheduled Pinned Locked Moved Bug Reports
    35 Posts 5 Posters 1.7k 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.
    • gorangroovesG
      gorangrooves @Christoph Hart
      last edited by

      @Christoph-Hart I did. I would close Projucer, open updated Projucer project and clean build in VS before compiling.

      Goran Rista
      https://gorangrooves.com

      Handy Drums and Handy Grooves
      https://library.gorangrooves.com

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

        @gorangrooves Something might be messing up in your local repo, you should definitely be able to build HISE all the way back to the first commit, except for those occasional commits that no-one can compile.

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

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

          @d-healey I'll try again. I'll delete everything locally and start fresh.

          Goran Rista
          https://gorangrooves.com

          Handy Drums and Handy Grooves
          https://library.gorangrooves.com

          gorangroovesG 1 Reply Last reply Reply Quote 0
          • gorangroovesG
            gorangrooves @gorangrooves
            last edited by

            @d-healey @Christoph-Hart I deleted the local HISE repository and started fresh. I was able to compile HISE from Jan 5th, 2023 and AAX.

            My plugin displayed the GUI properly, but panel sliding (timer) and onNoteOn are not working. That leads me to believe that there are several issues introduced at different HISE development stages. I will continue to hunt down and document exactly what happened and when and will report here.

            Goran Rista
            https://gorangrooves.com

            Handy Drums and Handy Grooves
            https://library.gorangrooves.com

            gorangroovesG 1 Reply Last reply Reply Quote 1
            • gorangroovesG
              gorangrooves @gorangrooves
              last edited by

              @Christoph-Hart I remembered I still had a backup of my old plugin version where those problematic features were working. I compiled it with the newest HISE and latest AAX SDK, and all those functions worked. The panel slides out, on NoteOn works. Whatever I had then working, it works now.

              So, the problem lies somewhere in my project, but only for exported AAX.

              Where do I go from here?

              Goran Rista
              https://gorangrooves.com

              Handy Drums and Handy Grooves
              https://library.gorangrooves.com

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

                @gorangrooves said in Issues in exported AAX plugins: drawing panels and buttons, sliding a panel:

                Where do I go from here?

                Did you use git to keep track of changes in your project?

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

                Christoph HartC 1 Reply Last reply Reply Quote 0
                • Christoph HartC
                  Christoph Hart @d.healey
                  last edited by

                  Yes, git would be super nice for this. If you haven't used git yet, it's time to do so, then commit your earlier version and then overwrite it with your current project it will show you all changes.

                  gorangroovesG 1 Reply Last reply Reply Quote 0
                  • gorangroovesG
                    gorangrooves @Christoph Hart
                    last edited by

                    @Christoph-Hart I've been meaning to do the Git, but am not familiar enough with it and am pressed for the time.

                    I've restructured the project significantly, so I am not sure Git would be of much help other than telling me that everything is different now 😂 I used to have all sections of the project on the onInit. Now, they are split into files integrated with include.

                    I guess this will be a trial-and-error process. If I can at least get to the bits of code that are misbehaving, you could provide the clues as to why. The maddening thing is that it all works in HISE, compiled app, and VST, so there is no indication of anything being wrong.

                    Goran Rista
                    https://gorangrooves.com

                    Handy Drums and Handy Grooves
                    https://library.gorangrooves.com

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

                      @gorangrooves said in Issues in exported AAX plugins: drawing panels and buttons, sliding a panel:

                      Now, they are split into files integrated with include.

                      That will help. Comment out all of the includes. Then re-add them one by one until the problem happens.

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

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

                        @d-healey 👍 Yes, I'll do that.

                        Goran Rista
                        https://gorangrooves.com

                        Handy Drums and Handy Grooves
                        https://library.gorangrooves.com

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

                          @gorangrooves Hard to say what exactly is causing that but I would scan everything related to repaint() calls or when you start / stop any timers.

                          gorangroovesG 1 Reply Last reply Reply Quote 0
                          • gorangroovesG
                            gorangrooves @Christoph Hart
                            last edited by

                            @Christoph-Hart Yeah, I'll turn off things that use timers, see if other sections improve, and go from there.

                            Goran Rista
                            https://gorangrooves.com

                            Handy Drums and Handy Grooves
                            https://library.gorangrooves.com

                            gorangroovesG 1 Reply Last reply Reply Quote 0
                            • gorangroovesG
                              gorangrooves @gorangrooves
                              last edited by

                              @Christoph-Hart @d-healey Alright, guys. After going down every single rabbit hole, disabling everything in my plugin until there was almost nothing left, while still having the same issues, I came upon a discovery.

                              I closed the GUI in Pro Tool and re-opened it, and bam, my sliding panel was working!

                              I then recompiled my plugins with all the features and loaded them into PT. When the GUI comes up at the start, it is messed up, and things don't work, but as soon as I close it and reopen it, everything is perfect. WTF?!

                              There is only one more thing I can think of that I can try: make sure all my LAF scripts are at the very end.

                              Goran Rista
                              https://gorangrooves.com

                              Handy Drums and Handy Grooves
                              https://library.gorangrooves.com

                              gorangroovesG 1 Reply Last reply Reply Quote 0
                              • gorangroovesG
                                gorangrooves @gorangrooves
                                last edited by

                                @Christoph-Hart I moved the LAF to the end of the plugin, but that didn't change anything.

                                BTW I have these warnings with the current HISE version.

                                Interface: Skipping changed() callback during onInit for stopBtn
                                Interface: WARNING: time between abort checks 502 ms) is above timeout (500 ms).
                                goto @0
                                Interface: WARNING: time between abort checks 502 ms) is above timeout (500 ms).
                                goto @0
                                Interface: Skipping changed() callback during onInit for autoplayBtn
                                Interface: Skipping changed() callback during onInit for AddChSlider1
                                Interface: Skipping changed() callback during onInit for PillButton4
                                Interface: Skipping changed() callback during onInit for dawTempoBtn
                                

                                Sometimes, the "time between abort checks" is greater, like 700ms.

                                Could that have anything to do with it?

                                Goran Rista
                                https://gorangrooves.com

                                Handy Drums and Handy Grooves
                                https://library.gorangrooves.com

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

                                  @gorangrooves The skip warnings are not critical, they are just reporting what went previously unnoticed.

                                  Are you using a background thread in HiseScript? The other warning should fire only when you have a background thread where you don't check if the thread should exit regularly.

                                  gorangroovesG ustkU 2 Replies Last reply Reply Quote 0
                                  • gorangroovesG
                                    gorangrooves @Christoph Hart
                                    last edited by

                                    @Christoph-Hart Yes, there is a background thread for the MIDI loop browser.

                                    So, I disabled LAF for the plugin, but the results were still the same in PT. Certain things are not working until the GUI is closed and reopened.

                                    What does all this mean? Where do we go from here?

                                    Goran Rista
                                    https://gorangrooves.com

                                    Handy Drums and Handy Grooves
                                    https://library.gorangrooves.com

                                    gorangroovesG 1 Reply Last reply Reply Quote 0
                                    • gorangroovesG
                                      gorangrooves @gorangrooves
                                      last edited by

                                      I managed to strip the plugin to the bare bone and get those components working. Now, I'll enable one by one, compile, load...rinse, repeat.

                                      Goran Rista
                                      https://gorangrooves.com

                                      Handy Drums and Handy Grooves
                                      https://library.gorangrooves.com

                                      Dan KorneffD 1 Reply Last reply Reply Quote 0
                                      • Dan KorneffD
                                        Dan Korneff @gorangrooves
                                        last edited by

                                        @gorangrooves that sounds like my past 4 days 🙃
                                        Fun!

                                        Dan Korneff - Producer / Mixer / Audio Nerd

                                        gorangroovesG 1 Reply Last reply Reply Quote 0
                                        • gorangroovesG
                                          gorangrooves @Dan Korneff
                                          last edited by

                                          @Dan-Korneff I hear you, bro! I made good progress today, but I am exhausted. Hoping to nail it tomorrow.
                                          I hope you are managing to hunt down the bugs messing with your project.

                                          Goran Rista
                                          https://gorangrooves.com

                                          Handy Drums and Handy Grooves
                                          https://library.gorangrooves.com

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

                                            @Christoph-Hart @gorangrooves I remember putting a shouldAbort check at every sensible places in the MIDI browser but I might have missed one...
                                            The issue with placing everything in separate scripts is that you cannot always have a really good separation (well, depending on your coding style)
                                            For instance I always have a declaration script at the very beginning because you can use a component in different places, and if it's not declared already you get an assertion...
                                            Unless I am very sure the component in question won't be accessed from elsewhere so I can declare it in the corresponding namespace of that script, it goes to the declaration one. This is just an exemple as many things can go wrong.

                                            Another thing is to have a namespace per script to keep things tidy, so don't forget to append the namespace to any external call of a variable/function.

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

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

                                            21

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.4k

                                            Posts