|  |  | @@ -525,6 +525,7 @@ static constexpr const fileRequestFunc nullFileRequestFunc = nullptr; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // UI/editor implementation | 
		
	
		
			
			|  |  |  | class CardinalWrapperEditor : public juce::AudioProcessorEditor, | 
		
	
		
			
			|  |  |  | private juce::AsyncUpdater, | 
		
	
		
			
			|  |  |  | private juce::Timer | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | CardinalWrapperProcessor& cardinalProcessor; | 
		
	
	
		
			
				|  |  | @@ -554,6 +555,22 @@ public: | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | protected: | 
		
	
		
			
			|  |  |  | void handleAsyncUpdate() override | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | DISTRHO_SAFE_ASSERT_RETURN(ui != nullptr,); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | int width = static_cast<int>(ui->getWidth()); | 
		
	
		
			
			|  |  |  | int height = static_cast<int>(ui->getHeight()); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | #ifdef DISTRHO_OS_MAC | 
		
	
		
			
			|  |  |  | const double scaleFactor = ui->getScaleFactor(); | 
		
	
		
			
			|  |  |  | width /= scaleFactor; | 
		
	
		
			
			|  |  |  | height /= scaleFactor; | 
		
	
		
			
			|  |  |  | #endif | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | setSize(width, height); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | void timerCallback() override | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | if (ui == nullptr) | 
		
	
	
		
			
				|  |  | @@ -639,21 +656,12 @@ private: | 
		
	
		
			
			|  |  |  | cardinalProcessor.plugin.setState(key, value); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | static void setSizeFunc(void* const ptr, uint width, uint height) | 
		
	
		
			
			|  |  |  | static void setSizeFunc(void* const ptr, uint, uint) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | CardinalWrapperEditor* const editor = static_cast<CardinalWrapperEditor*>(ptr); | 
		
	
		
			
			|  |  |  | DISTRHO_SAFE_ASSERT_RETURN(editor != nullptr,); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | #ifdef DISTRHO_OS_MAC | 
		
	
		
			
			|  |  |  | UIExporter* const ui = editor->ui; | 
		
	
		
			
			|  |  |  | DISTRHO_SAFE_ASSERT_RETURN(ui != nullptr,); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | const double scaleFactor = ui->getScaleFactor(); | 
		
	
		
			
			|  |  |  | width /= scaleFactor; | 
		
	
		
			
			|  |  |  | height /= scaleFactor; | 
		
	
		
			
			|  |  |  | #endif | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | editor->setSize(static_cast<int>(width), static_cast<int>(height)); | 
		
	
		
			
			|  |  |  | editor->triggerAsyncUpdate(); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
				|  |  | 
 |