mirror of
				https://github.com/onyx-and-iris/nvda-voicemeeter.git
				synced 2025-10-31 18:01:47 +00:00 
			
		
		
		
	events defined for sliders
resolution fix for limit slider
This commit is contained in:
		
							parent
							
								
									3d7b33c8be
								
							
						
					
					
						commit
						1fdb39a041
					
				| @ -10,13 +10,17 @@ class LabelSlider(psg.Frame): | ||||
|             size = 7 | ||||
|         else: | ||||
|             size = 4 | ||||
|         if param == "LIMIT": | ||||
|             resolution = 1 | ||||
|         else: | ||||
|             resolution = 0.1 | ||||
|         layout = [ | ||||
|             [ | ||||
|                 psg.Text(param.capitalize(), size=size), | ||||
|                 psg.Slider( | ||||
|                     range=range_, | ||||
|                     default_value=self.default_value(i, param), | ||||
|                     resolution=0.1, | ||||
|                     resolution=resolution, | ||||
|                     disable_number_display=True, | ||||
|                     size=(12, 16), | ||||
|                     expand_x=True, | ||||
|  | ||||
| @ -672,52 +672,142 @@ class NVDAVMWindow(psg.Window): | ||||
|                     self.find_element_with_focus().click() | ||||
| 
 | ||||
|                 # Strip Sliders | ||||
|                 case [["STRIP", index], ["SLIDER", "GAIN"]]: | ||||
|                 case [ | ||||
|                     ["STRIP", index], | ||||
|                     ["SLIDER", "GAIN" | "COMP" | "GATE" | "DENOISER" | "AUDIBILITY" | "LIMIT" as param], | ||||
|                 ]: | ||||
|                     label = self.cache["labels"][f"STRIP {index}||LABEL"] | ||||
|                     self.nvda.speak(f"{label} gain slider {val}") | ||||
|                 case [["STRIP", index], ["SLIDER", "GAIN"], ["FOCUS", "IN"]]: | ||||
|                     val = values[event] | ||||
|                     match param: | ||||
|                         case "GAIN": | ||||
|                             self.vm.strip[int(index)].gain = val | ||||
|                         case "COMP" | "GATE" | "DENOISER": | ||||
|                             target = getattr(self.vm.strip[int(index)], param.lower()) | ||||
|                             target.knob = val | ||||
|                         case "AUDIBILITY": | ||||
|                             self.vm.strip[int(index)].audibility = val | ||||
|                         case "LIMIT": | ||||
|                             val = int(val) | ||||
|                             self.vm.strip[int(index)].limit = val | ||||
|                     self.nvda.speak(f"{label} {param} slider {val}") | ||||
|                 case [ | ||||
|                     ["STRIP", index], | ||||
|                     ["SLIDER", "GAIN" | "COMP" | "GATE" | "DENOISER" | "AUDIBILITY" | "LIMIT" as param], | ||||
|                     ["FOCUS", "IN"], | ||||
|                 ]: | ||||
|                     if self.find_element_with_focus() is not None: | ||||
|                         self.vm.event.pdirty = False | ||||
|                         label = self.cache["labels"][f"STRIP {index}||LABEL"] | ||||
|                         val = values[f"STRIP {index}||SLIDER GAIN"] | ||||
|                         self.nvda.speak(f"{label} gain slider {val}") | ||||
|                 case [["STRIP", index], ["SLIDER", "GAIN"], ["FOCUS", "OUT"]]: | ||||
|                         val = values[f"STRIP {index}||SLIDER {param}"] | ||||
|                         if param == "LIMIT": | ||||
|                             val = int(val) | ||||
|                         self.nvda.speak(f"{label} {param} slider {val}") | ||||
|                 case [ | ||||
|                     ["STRIP", index], | ||||
|                     ["SLIDER", "GAIN" | "COMP" | "GATE" | "DENOISER" | "AUDIBILITY" | "LIMIT"], | ||||
|                     ["FOCUS", "OUT"], | ||||
|                 ]: | ||||
|                     self.vm.event.pdirty = True | ||||
|                 case [["STRIP", index], ["SLIDER", "GAIN"], ["KEY", "LEFT" | "RIGHT" | "UP" | "DOWN" as direction]]: | ||||
|                 case [ | ||||
|                     ["STRIP", index], | ||||
|                     ["SLIDER", "GAIN" | "COMP" | "GATE" | "DENOISER" | "AUDIBILITY" | "LIMIT" as param], | ||||
|                     ["KEY", "LEFT" | "RIGHT" | "UP" | "DOWN" as direction], | ||||
|                 ]: | ||||
|                     match param: | ||||
|                         case "GAIN": | ||||
|                             val = self.vm.strip[int(index)].gain | ||||
|                         case "LIMIT": | ||||
|                             val = self.vm.strip[int(index)].limit | ||||
|                         case "COMP" | "GATE" | "DENOISER": | ||||
|                             target = getattr(self.vm.strip[int(index)], param.lower()) | ||||
|                             val = target.knob | ||||
|                         case "AUDIBILITY": | ||||
|                             val = self.vm.strip[int(index)].audibility | ||||
| 
 | ||||
|                     match direction: | ||||
|                         case "RIGHT" | "UP": | ||||
|                             val += 1 | ||||
|                         case "LEFT" | "DOWN": | ||||
|                             val -= 1 | ||||
| 
 | ||||
|                     match param: | ||||
|                         case "GAIN": | ||||
|                             self.vm.strip[int(index)].gain = util.check_bounds(val, (-60, 12)) | ||||
|                     self[f"STRIP {index}||SLIDER GAIN"].update(value=util.check_bounds(val, (-60, 12))) | ||||
|                             self[f"STRIP {index}||SLIDER {param}"].update(value=util.check_bounds(val, (-60, 12))) | ||||
|                         case "LIMIT": | ||||
|                             self.vm.strip[int(index)].limit = util.check_bounds(val, (-40, 12)) | ||||
|                             self[f"STRIP {index}||SLIDER {param}"].update(value=util.check_bounds(val, (-40, 12))) | ||||
|                         case "COMP" | "GATE" | "DENOISER": | ||||
|                             setattr(target, "knob", util.check_bounds(val, (0, 10))) | ||||
|                             self[f"STRIP {index}||SLIDER {param}"].update(value=util.check_bounds(val, (0, 10))) | ||||
|                         case "AUDIBILITY": | ||||
|                             self.vm.strip[int(index)].audibility = util.check_bounds(val, (0, 10)) | ||||
|                             self[f"STRIP {index}||SLIDER {param}"].update(value=util.check_bounds(val, (0, 10))) | ||||
|                 case [ | ||||
|                     ["STRIP", index], | ||||
|                     ["SLIDER", "GAIN"], | ||||
|                     ["SLIDER", "GAIN" | "LIMIT" as param], | ||||
|                     ["KEY", "CTRL", "LEFT" | "RIGHT" | "UP" | "DOWN" as direction], | ||||
|                 ]: | ||||
|                     match param: | ||||
|                         case "GAIN": | ||||
|                             val = self.vm.strip[int(index)].gain | ||||
|                         case "LIMIT": | ||||
|                             val = self.vm.strip[int(index)].limit | ||||
| 
 | ||||
|                     match direction: | ||||
|                         case "RIGHT" | "UP": | ||||
|                             val += 3 | ||||
|                         case "LEFT" | "DOWN": | ||||
|                             val -= 3 | ||||
| 
 | ||||
|                     match param: | ||||
|                         case "GAIN": | ||||
|                             self.vm.strip[int(index)].gain = util.check_bounds(val, (-60, 12)) | ||||
|                     self[f"STRIP {index}||SLIDER GAIN"].update(value=util.check_bounds(val, (-60, 12))) | ||||
|                             self[f"STRIP {index}||SLIDER {param}"].update(value=util.check_bounds(val, (-60, 12))) | ||||
|                         case "LIMIT": | ||||
|                             self.vm.strip[int(index)].limit = util.check_bounds(val, (-40, 12)) | ||||
|                             self[f"STRIP {index}||SLIDER {param}"].update(value=util.check_bounds(val, (-40, 12))) | ||||
|                 case [ | ||||
|                     ["STRIP", index], | ||||
|                     ["SLIDER", "GAIN"], | ||||
|                     ["SLIDER", "GAIN" | "COMP" | "GATE" | "DENOISER" | "AUDIBILITY" | "LIMIT" as param], | ||||
|                     ["KEY", "SHIFT", "LEFT" | "RIGHT" | "UP" | "DOWN" as direction], | ||||
|                 ]: | ||||
|                     match param: | ||||
|                         case "GAIN": | ||||
|                             val = self.vm.strip[int(index)].gain | ||||
|                         case "COMP" | "GATE" | "DENOISER": | ||||
|                             target = getattr(self.vm.strip[int(index)], param.lower()) | ||||
|                             val = target.knob | ||||
|                         case "AUDIBILITY": | ||||
|                             val = self.vm.strip[int(index)].audibility | ||||
|                         case "LIMIT": | ||||
|                             val = self.vm.strip[int(index)].limit | ||||
| 
 | ||||
|                     match direction: | ||||
|                         case "RIGHT" | "UP": | ||||
|                             if param == "LIMIT": | ||||
|                                 val += 1 | ||||
|                             else: | ||||
|                                 val += 0.1 | ||||
|                         case "LEFT" | "DOWN": | ||||
|                             if param == "LIMIT": | ||||
|                                 val -= 1 | ||||
|                             else: | ||||
|                                 val -= 0.1 | ||||
| 
 | ||||
|                     match param: | ||||
|                         case "GAIN": | ||||
|                             self.vm.strip[int(index)].gain = util.check_bounds(val, (-60, 12)) | ||||
|                     self[f"STRIP {index}||SLIDER GAIN"].update(value=util.check_bounds(val, (-60, 12))) | ||||
|                             self[f"STRIP {index}||SLIDER {param}"].update(value=util.check_bounds(val, (-60, 12))) | ||||
|                         case "COMP" | "GATE" | "DENOISER": | ||||
|                             setattr(target, "knob", util.check_bounds(val, (0, 10))) | ||||
|                             self[f"STRIP {index}||SLIDER {param}"].update(value=util.check_bounds(val, (0, 10))) | ||||
|                         case "AUDIBILITY": | ||||
|                             self.vm.strip[int(index)].audibility = util.check_bounds(val, (0, 10)) | ||||
|                             self[f"STRIP {index}||SLIDER {param}"].update(value=util.check_bounds(val, (0, 10))) | ||||
|                         case "LIMIT": | ||||
|                             self.vm.strip[int(index)].limit = util.check_bounds(val, (-40, 12)) | ||||
|                             self[f"STRIP {index}||SLIDER {param}"].update(value=util.check_bounds(val, (-40, 12))) | ||||
| 
 | ||||
|                 # Bus Params | ||||
|                 case [["BUS", index], [param]]: | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user