Erster Commit: nativer Linux-Port aus macOS-Bytecode

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>
This commit is contained in:
maik
2026-08-20 19:57:01 +02:00
co-authored by Claude Opus 4.8
commit a7c93fa266
654 changed files with 478133 additions and 0 deletions
+103
View File
@@ -0,0 +1,103 @@
# 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