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>
104 lines
2.4 KiB
Python
104 lines
2.4 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: definitions.pyc
|
|
# Compiled at: 2022-04-20 07:08:28
|
|
import mytime, os, base64
|
|
infoStatusByText = 0
|
|
infoStatusVersionOK = 1
|
|
infoStatusImageSaved = 2
|
|
infoStatusVerifyingFirmwareVersion = 3
|
|
infoStatusSettingToStandby = 4
|
|
infoStatusErasing = 5
|
|
infoStatusUploading = 6
|
|
infoStatusEraseFailed = 7
|
|
infoStatusWriteFailed = 8
|
|
infoStatusUnsupported = 9
|
|
infoStatusResetOK = 10
|
|
closedByUser = 1048576
|
|
enableClose = 2097152
|
|
infoStatusUIMask = 15728640
|
|
infoStatusInterfaceUpdate = 16777216
|
|
infoStatusMainUpdate = 33554432
|
|
infoStatusMakeFlashImage = 50331648
|
|
infoStatusLoadFlashImage = 67108864
|
|
infoStatusProcessmask = 251658240
|
|
infoStatusStart = 268435456
|
|
infoStatusRunning = 536870912
|
|
infoStatusFinished = 805306368
|
|
infoStatusProgressMask = 4026531840L
|
|
mac_names = 'posix'
|
|
|
|
def isMAC():
|
|
return os.name == 'posix'
|
|
|
|
|
|
def sleep(t):
|
|
mytime.sleep(t)
|
|
return
|
|
|
|
|
|
def displayTime():
|
|
return mytime.displayTime()
|
|
|
|
|
|
def getFloatFromTextControl(control):
|
|
val = control.GetValue()
|
|
res = ''
|
|
kilo = False
|
|
for c in val:
|
|
if c.isdigit() or c in ('.', ',', '-'):
|
|
res += c
|
|
if c in ('k', 'K') and res != '':
|
|
kilo = True
|
|
|
|
if res[0] in ('.', ','):
|
|
res = '0' + res
|
|
try:
|
|
return float(res)
|
|
except:
|
|
print mytime.displayTime(), 'd.failed to convert value', val, 'to float'
|
|
traceback.print_exc(file=sys.stdout)
|
|
return 0
|
|
|
|
return
|
|
|
|
|
|
def encode(clear, key):
|
|
enc = []
|
|
for i in range(len(clear)):
|
|
key_c = key[i % len(key)]
|
|
enc_c = chr((ord(clear[i]) + ord(key_c)) % 256)
|
|
enc.append(enc_c)
|
|
|
|
return base64.urlsafe_b64encode(('').join(enc))
|
|
|
|
|
|
def decode(enc, key):
|
|
dec = []
|
|
enc = base64.urlsafe_b64decode(enc)
|
|
for i in range(len(enc)):
|
|
key_c = key[i % len(key)]
|
|
dec_c = chr((256 + ord(enc[i]) - ord(key_c)) % 256)
|
|
dec.append(dec_c)
|
|
|
|
return ('').join(dec)
|
|
|
|
|
|
def safename(name):
|
|
name = name.replace('>', '&r&')
|
|
name = name.replace('<', '&l&')
|
|
name = name.replace(':', '&d&')
|
|
name = name.replace('|', '&p&')
|
|
name = name.replace('"', '&q&')
|
|
name = name.replace('/', '&s&')
|
|
name = name.replace('\\', '&b&')
|
|
name = name.replace('?', '&v&')
|
|
name = name.replace('*', '&a&')
|
|
return name
|
|
|
|
|
|
|
|
# okay decompiling pycode/definitions.pyc
|