|  |  | @@ -906,9 +906,22 @@ public: | 
		
	
		
			
			|  |  |  | return ranges.getNormalizedValue(fPlugin.getParameterValue(index)); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | void vst_setParameter(const int32_t index, const float value) | 
		
	
		
			
			|  |  |  | void vst_setParameter(const int32_t index, float value) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | const uint32_t hints(fPlugin.getParameterHints(index)); | 
		
	
		
			
			|  |  |  | const ParameterRanges& ranges(fPlugin.getParameterRanges(index)); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if (hints & kParameterIsBoolean) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | const float midRange = ranges.min + (ranges.max - ranges.min) / 2.0f; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | value = value > midRange ? ranges.max : ranges.min; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | else if (hints & kParameterIsInteger) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | value = std::round(value); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | const float realValue(ranges.getUnnormalizedValue(value)); | 
		
	
		
			
			|  |  |  | fPlugin.setParameterValue(index, realValue); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
				|  |  | 
 |