Läuft die Voice Acoustic VA-Remotecontrol (AllDSP AllControl) nativ unter Linux auf echtem wxGTK 3.0 — ohne Wine und ohne dekompilierten App-Code. Ausgeführt wird das unveränderte Python-2.7-Bytecode aus dem macOS-.app; C-Extensions (wxGTK/numpy/ scipy/PortAudio) kommen nativ aus Debian stretch. Enthält: va/ (Original-.pyc + pure-Python-Libs + Assets + launch.py mit den drei Linux-Fixes), Dockerfile/run.sh/entrypoint.sh, reference/ (dekompilierter Quellcode zum Debuggen) und README/STATUS. img.cache (378 MB, regenerierbar) ist per .gitignore ausgeschlossen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
# uncompyle6 version 3.9.3
|
|
# Python bytecode version base 2.6 (62161)
|
|
# Decompiled from: Python 3.9.25 (main, Oct 31 2025, 23:16:49)
|
|
# [GCC 14.2.0]
|
|
# Embedded file name: user_config_helpers.pyc
|
|
# Compiled at: 2022-04-20 07:08:28
|
|
import wx, os, data_model, traceback, one_unit, ConfigParser, protocol, sys, select_keys, select_units, d_protocol, mytime
|
|
mac_names = 'posix'
|
|
strid_fixed_membid = {'Gain': 'Gain', 'Mute': 'Mute', 'Protect': 'Protect'}
|
|
|
|
def findFreeUI(parent, keySet):
|
|
for j in range(512):
|
|
key = data_model.Key(protocol.STRUCT_ID_UI_CONTROL, protocol.MEMBER_ID_UI_CONTROL, j / 256, j % 256)
|
|
try:
|
|
val = [_[1] for c in parent.model.get(key)]
|
|
except:
|
|
continue
|
|
|
|
if val[0] == 0 and key not in keySet:
|
|
return j
|
|
|
|
return
|
|
|
|
|
|
def getString(strID):
|
|
return one_unit.getString(strID)
|
|
|
|
|
|
def getKeys(frame, uiNumber, memberID=None, structID=None):
|
|
uiIndex = 0
|
|
keys = {}
|
|
if frame.frame.parent.MAC[:4] in ('DEMO', 'VN::'):
|
|
return keys
|
|
else:
|
|
for j in range(512):
|
|
key = data_model.Key(protocol.STRUCT_ID_UI_CONTROL, protocol.MEMBER_ID_UI_CONTROL, j / 256, j % 256)
|
|
try:
|
|
val = [_[1] for c in frame.frame.parent.model.get(key, fast=True)]
|
|
except:
|
|
continue
|
|
|
|
if val[0] == uiNumber and (memberID == None or memberID == val[2]) and (structID == None or structID == val[1] & 63):
|
|
keys[uiIndex] = (
|
|
key, val)
|
|
uiIndex += 1
|
|
|
|
return keys
|
|
|
|
|
|
|
|
# okay decompiling pycode/user_config_helpers.pyc
|