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:
@@ -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
|
||||
Reference in New Issue
Block a user