HISE Logo Forum
    • Categories
    • Register
    • Login

    UI Zoom Factor

    Scheduled Pinned Locked Moved Bug Reports
    26 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.
    • Christoph HartC
      Christoph Hart
      last edited by

      Did you use sendNotification? It's basically the same thing that the combobox of the settings dialogue does.

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

        @Christoph-Hart Yes

        void ScriptingApi::Engine::setZoomLevel(double scaleFactor)
        {
        	auto mc = getScriptProcessor()->getMainController_();
        	AudioProcessorDriver* driver = dynamic_cast<AudioProcessorDriver*>(mc);
        
        	driver->setGlobalScaleFactor(scaleFactor, sendNotification);
        }
        

        or

        void ScriptingApi::Engine::setZoomLevel(double scaleFactor)
        {
        	auto mc = getScriptProcessor()->getMainController_();
        	dynamic_cast<AudioProcessorDriver*>(mc)->setGlobalScaleFactor(scaleFactor, sendNotification);
        }
        

        which is the same thing

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

          @Christoph-Hart I think we need this

          #if USE_FRONTEND
          
          	auto fpe = mc->findParentComponentOfClass<FrontendProcessorEditor>();
          
          	if (fpe != nullptr)
          	{
          		fpe->setGlobalScaleFactor((float)scaleFactor);
          	}
          #endif
          

          then findParentComponentOfClass must be adapted but I don't know how...

          What's the difference between getScriptProcessor()->getMainController_(); and getProcessor()->getMainController();?
          Both are working...

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

            They are both the same (and one just calls the other method with a dynamic cast).

            Ah I see the problem (not sure how I could have missed that when I wrote my last answer). The editor window is not registered to the ScaleFactorListener system (which is weird because the system is made exactly for this purpose). I think I have to take it from here and clean up my own mess :)

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

              @Christoph-Hart Nice, I've just seen you implemented it yourself ;)

              You also corrected the macOS compilation, but I still have the same issue when compiling:

              Untitled.png

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

                Yeah, I accidentally committed this to the SNEX branch, it was meant to go to the Scriptnode branch, but I'll transfer it real quick.

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

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • d.healeyD
                    d.healey
                    last edited by

                    @ustk Think it's possible to add the same kind of function for the Streaming Mode?

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

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

                      @d-healey I can't tell but I can have a look…

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

                        @d-healey @Christoph-Hart I've done it and it seems to work... But I'm not against an input from Christoph before pushing :)

                        void ScriptingApi::Engine::setDiskMode(int mode)
                        {
                        	auto mc = dynamic_cast<MainController*>(getScriptProcessor()->getMainController_());
                        
                        	AudioProcessorDriver* driver = dynamic_cast<AudioProcessorDriver*>(mc);
                        
                        	driver->diskMode = mode;
                        	
                        	mc->getSampleManager().setDiskMode((MainController::SampleManager::DiskMode)mode);
                        }
                        

                        So mode should be 1 for fast and 2 for slow due to the original combobox offset.
                        Do you prefer a 0 based value? (0-fast 1-slow)

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

                          @ustk

                          Do you prefer a 0 based value? (0-fast 1-slow)

                          Thanks @ustk! Yes I prefer 0 based. HISE combo box values mess with the system :p

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

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

                            Yes zero is better, this represents the actual number in the XML file:

                            <?xml version="1.0" encoding="UTF-8"?>
                            
                            <GLOBAL_SETTINGS DISK_MODE="0" SCALE_FACTOR="1.0" VOICE_AMOUNT_MULTIPLIER="2"
                                             GLOBAL_BPM="-1.0" MIDI_CHANNELS="1" SAMPLES_FOUND="1" OPEN_GL="0"/>
                            
                            ustkU 1 Reply Last reply Reply Quote 2
                            • ustkU
                              ustk @Christoph Hart
                              last edited by

                              @Christoph-Hart @d-healey It was already 0-1 based I was just talking nonsense :crazy_face:
                              That's it, pushed and working...

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

                              16

                              Online

                              1.8k

                              Users

                              12.1k

                              Topics

                              104.8k

                              Posts