mirror of
				https://github.com/onyx-and-iris/vban-cmd-python.git
				synced 2025-11-03 23:11:48 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			798 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			798 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import sys
 | 
						|
import platform
 | 
						|
from collections import namedtuple
 | 
						|
from .errors import VMCMDErrors
 | 
						|
 | 
						|
"""
 | 
						|
Represents a major version of Voicemeeter and describes
 | 
						|
its strip layout.
 | 
						|
"""
 | 
						|
VMKind = namedtuple('VMKind', ['id', 'name', 'ins', 'outs', 'executable', 'vban'])
 | 
						|
 | 
						|
bits = 64 if sys.maxsize > 2**32 else 32
 | 
						|
os = platform.system()
 | 
						|
 | 
						|
_kind_map = {
 | 
						|
  'basic': VMKind('basic', 'Basic', (2,1), (1,1), 'voicemeeter.exe', (4, 4)),
 | 
						|
  'banana': VMKind('banana', 'Banana', (3,2), (3,2), 'voicemeeterpro.exe', (8, 8)),
 | 
						|
  'potato': VMKind('potato', 'Potato', (5,3), (5,3),
 | 
						|
  f'voicemeeter8{"x64" if bits == 64 else ""}.exe', (8, 8))
 | 
						|
}
 | 
						|
 | 
						|
def get(kind_id):
 | 
						|
    try:
 | 
						|
        return _kind_map[kind_id]
 | 
						|
    except KeyError:
 | 
						|
        raise VMCMDErrors(f'Invalid Voicemeeter kind: {kind_id}')
 | 
						|
 | 
						|
all = list(_kind_map.values())
 |