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.
    • 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

                            27

                            Online

                            1.8k

                            Users

                            12.1k

                            Topics

                            105.8k

                            Posts