HISE Logo Forum
    • Categories
    • Register
    • Login

    Callback when preset saved??

    Scheduled Pinned Locked Moved Scripting
    preset browsercallbacksave
    22 Posts 4 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.
    • Dan KorneffD
      Dan Korneff @d.healey
      last edited by

      @d-healey you should make videos of your debugging journeys for Patreon.

      Dan Korneff - Producer / Mixer / Audio Nerd

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

        @Dan-Korneff I'll have a think and see if I can come up with a way of showing that in an interesting way. A lot of it is me in bed or in the shower just thinking things over until I realise where to target my effort.

        Then at the computer I'm just reading a lot through the existing code and trying to figure out which bits to copy/paste and where I need to add new stuff. Then I compile and test, then do that some more. It's quite tedious.

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

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

          Dang, I I haven't quite done it. I'm hitting an infinite loop now that ends in a segfault..

          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 d.healey

            @Christoph-Hart I've got it triggering my callback when a new preset is added.

            But when clicking the save button in the preset browser I've hit a snag.

            In the function void PresetBrowser::ModalWindow::buttonClicked(Button* b)

            I'm calling my callback caller after the replace action completes

            getMainController()->getUserPresetHandler().postPresetSave();

            But this goes into an infinite loop and I don't know why.

            This is the caller (it's the same as your changed caller, I just altered the name of the listener).

            void MainController::UserPresetHandler::postPresetSave()
            {
            	auto f = [](Dispatchable* obj)
            	{
            		auto uph = static_cast<UserPresetHandler*>(obj);
            		auto mc_ = uph->mc;
            		ignoreUnused(mc_);
            		jassert_dispatched_message_thread(mc_);
            
            		ScopedLock sl(uph->listeners.getLock());
            
            		for (auto l : uph->listeners)
            		{
            			uph->mc->checkAndAbortMessageThreadOperation();
            
            			if (l != nullptr)
            				l->presetSaved(uph->currentlyLoadedFile);
            		}
            
            		return Status::OK;
            	};
            
            	mc->getLockFreeDispatcher().callOnMessageThreadAfterSuspension(this, f);
            }
            

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

            1 Reply Last reply Reply Quote 0
            • Dan KorneffD
              Dan Korneff @d.healey
              last edited by

              @d-healey said in Callback when preset saved??:

              A lot of it is me in bed or in the shower just thinking things over until I realise where to target my effort.

              Awesome! You can do Patreon AND OnlyFans content. πŸ˜„πŸ˜„πŸ˜„πŸ˜„

              Dan Korneff - Producer / Mixer / Audio Nerd

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

                Bump bump

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

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

                  @d-healey Why don't you call your method from saveUserPresetInternal ?

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

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

                    I've added that function.

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

                      @Christoph-Hart Woohoo! Thanks!

                      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 d.healey

                        Getting a build error:

                        ../../../../../HISE/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/hi_core/MainControllerHelpers.h:116:53: error: no matching function for call to β€˜hise::MidiControllerAutomationHandler::clear()’
                          116 |         void resetUserPresetState() override { clear(); }
                        

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

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

                          Ah I see the problem. Do we want to sendNotification here?

                          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

                          50

                          Online

                          1.7k

                          Users

                          11.7k

                          Topics

                          102.2k

                          Posts