mirror of
				https://github.com/onyx-and-iris/vban-cmd-python.git
				synced 2025-10-31 05:31:45 +00:00 
			
		
		
		
	rework bus mode getter
rework bus mode getter
This commit is contained in:
		
							parent
							
								
									0fc4f693fa
								
							
						
					
					
						commit
						e8aa762c70
					
				| @ -74,24 +74,26 @@ def bus_mode_prop(param): | |||||||
|     def fget(self): |     def fget(self): | ||||||
|         val = self.getter(f"mode.{param}") |         val = self.getter(f"mode.{param}") | ||||||
|         if val is None: |         if val is None: | ||||||
|  |             modelist = { | ||||||
|  |                 "amix": (1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1), | ||||||
|  |                 "repeat": (0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2), | ||||||
|  |                 "bmix": (1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3), | ||||||
|  |                 "composite": (0, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0), | ||||||
|  |                 "tvmix": (1, 0, 1, 4, 5, 4, 5, 0, 1, 0, 1), | ||||||
|  |                 "upmix21": (0, 2, 2, 4, 4, 6, 6, 0, 0, 2, 2), | ||||||
|  |                 "upmix41": (1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3), | ||||||
|  |                 "upmix61": (0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8), | ||||||
|  |                 "centeronly": (1, 0, 1, 0, 1, 0, 1, 8, 9, 8, 9), | ||||||
|  |                 "lfeonly": (0, 2, 2, 0, 0, 2, 2, 8, 8, 10, 10), | ||||||
|  |                 "rearonly": (1, 2, 3, 0, 1, 2, 3, 8, 9, 10, 11), | ||||||
|  |             } | ||||||
|  |             vals = ( | ||||||
|  |                 int.from_bytes(self.public_packet.busstate[self.index], "little") & val | ||||||
|  |                 for val in self._modes.modevals | ||||||
|  |             ) | ||||||
|             if param == "normal": |             if param == "normal": | ||||||
|                 return any( |                 return not any(val for val in vals) | ||||||
|                     not int.from_bytes( |             return tuple(round(val / 16) for val in vals) == modelist[param] | ||||||
|                         self.public_packet.busstate[self.index], "little" |  | ||||||
|                     ) |  | ||||||
|                     & val |  | ||||||
|                     == 0 |  | ||||||
|                     for val in self._modes.modevals |  | ||||||
|                 ) |  | ||||||
|             else: |  | ||||||
|                 val = ( |  | ||||||
|                     not int.from_bytes( |  | ||||||
|                         self.public_packet.busstate[self.index], "little" |  | ||||||
|                     ) |  | ||||||
|                     & getattr(self._modes, f"_{param}") |  | ||||||
|                     == 0 |  | ||||||
|                 ) |  | ||||||
|             return val |  | ||||||
|         return val == 1 |         return val == 1 | ||||||
| 
 | 
 | ||||||
|     def fset(self, val): |     def fset(self, val): | ||||||
|  | |||||||
| @ -203,10 +203,11 @@ class VbanCmd(abc.ABC): | |||||||
|             count = int.from_bytes(self._text_header.framecounter, "little") + 1 |             count = int.from_bytes(self._text_header.framecounter, "little") + 1 | ||||||
|             self._text_header.framecounter = count.to_bytes(4, "little") |             self._text_header.framecounter = count.to_bytes(4, "little") | ||||||
|             self.cache[f"{id_}.{param}"] = val |             self.cache[f"{id_}.{param}"] = val | ||||||
|  |             sleep(self._delay) | ||||||
|             if self._sync: |             if self._sync: | ||||||
|                 sleep(self._delay) |                 sleep(self._delay) | ||||||
|             if self.in_apply: |             # if self.in_apply: | ||||||
|                 sleep(self._ratelimit) |             # sleep(self._ratelimit) | ||||||
| 
 | 
 | ||||||
|     def sendtext(self, cmd): |     def sendtext(self, cmd): | ||||||
|         """Sends a multiple parameter string over a network.""" |         """Sends a multiple parameter string over a network.""" | ||||||
| @ -252,7 +253,7 @@ class VbanCmd(abc.ABC): | |||||||
|             else: |             else: | ||||||
|                 raise ValueError(obj) |                 raise ValueError(obj) | ||||||
|             target.apply(submapping) |             target.apply(submapping) | ||||||
|             sleep(self._ratelimit) |             # sleep(self._ratelimit) | ||||||
|         self.in_apply = False |         self.in_apply = False | ||||||
| 
 | 
 | ||||||
|     def apply_profile(self, name: str): |     def apply_profile(self, name: str): | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user