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>
101 lines
3.4 KiB
Python
101 lines
3.4 KiB
Python
from FPDF.Gradients import *
|
|
|
|
pdf=Gradients()
|
|
|
|
#first page
|
|
pdf.AddPage()
|
|
pdf.SetFont('Arial','',14)
|
|
pdf.Cell(0,5,'Page 1',0,1,'C')
|
|
pdf.Ln()
|
|
|
|
#set colors for gradients (r,g,b) or (grey 0-255)
|
|
red=[255,0,0]
|
|
blue=[0,0,200]
|
|
yellow=[255,255,0]
|
|
green=[0,255,0]
|
|
white=[255]
|
|
black=[0]
|
|
|
|
#set the coordinates x1,y1,x2,y2 of the gradient (see linear_gradient_coords.jpg)
|
|
coords=[0.0,0.0,1.0,0.0]
|
|
|
|
#paint a linear gradient
|
|
pdf.LinearGradient(20,25,80,80,red,blue,coords)
|
|
|
|
#set the coordinates fx,fy,cx,cy,r of the gradient (see radial_gradient_coords.jpg)
|
|
coords=[0.5,0.5,1.0,1.0,1.2]
|
|
|
|
#paint a radial gradient
|
|
pdf.RadialGradient(110,25,80,80,white,black,coords)
|
|
|
|
#paint a coons patch mesh with default coordinates
|
|
pdf.CoonsPatchMesh(20,115,80,80,yellow, blue, green, red)
|
|
|
|
#set the coordinates for the cubic Bézier points x1,y1 ... x12, y12 of the patch (see coons_patch_mesh_coords.jpg)
|
|
coords=[0.00,0.00, 0.33,0.20, #lower left
|
|
0.67,0.00, 1.00,0.00, 0.80,0.33, #lower right
|
|
0.80,0.67, 1.00,1.00, 0.67,0.80, #upper right
|
|
0.33,1.00, 0.00,1.00, 0.20,0.67, #upper left
|
|
0.00,0.33] #lower left
|
|
coords_min=0.0 #minimum value of the coordinates
|
|
coords_max=1.0 #maximum value of the coordinates
|
|
|
|
#paint a coons patch gradient with the above coordinates
|
|
pdf.CoonsPatchMesh(110,115,80,80,yellow,blue,green,red,coords,coords_min,coords_max)
|
|
|
|
#second page
|
|
pdf.AddPage()
|
|
pdf.Cell(0,5,'Page 2',0,1,'C')
|
|
pdf.Ln()
|
|
|
|
#first patch: f = 0
|
|
patch_array={0:{},1:{},2:{},3:{}}
|
|
patch_array[0]['f']=0
|
|
patch_array[0]['points']=[0.00,0.00, 0.33,0.00,
|
|
0.67,0.00, 1.00,0.00, 1.00,0.33,
|
|
0.8,0.67, 1.00,1.00, 0.67,0.8,
|
|
0.33,1.80, 0.00,1.00, 0.00,0.67,
|
|
0.00,0.33]
|
|
patch_array[0]['colors']={}
|
|
patch_array[0]['colors'][0]={'r':255.0,'g':255.0,'b':0.0}
|
|
patch_array[0]['colors'][1]={'r':0.0,'g':0.0,'b':255.0}
|
|
patch_array[0]['colors'][2]={'r':0.0,'g':255.0,'b':0.0}
|
|
patch_array[0]['colors'][3]={'r':255.0,'g':0.0,'b':0.0}
|
|
|
|
#second patch - above the other: f = 2
|
|
patch_array[1]['f']=2
|
|
patch_array[1]['points']=[0.00,1.33,
|
|
0.00,1.67, 0.00,2.00, 0.33,2.00,
|
|
0.67,2.00, 1.00,2.00, 1.00,1.67,
|
|
1.5,1.33]
|
|
patch_array[1]['colors']={}
|
|
patch_array[1]['colors'][0]={'r':0.0,'g':0.0,'b':0.0}
|
|
patch_array[1]['colors'][1]={'r':255.0,'g':0.0,'b':255.0}
|
|
|
|
#third patch - right of the above: f = 3
|
|
patch_array[2]['f']=3
|
|
patch_array[2]['points']=[1.33,0.80,
|
|
1.67,1.50, 2.00,1.00, 2.00,1.33,
|
|
2.00,1.67, 2.00,2.00, 1.67,2.00,
|
|
1.33,2.00]
|
|
patch_array[2]['colors']={}
|
|
patch_array[2]['colors'][0]={'r':0.0,'g':255.0,'b':255.0}
|
|
patch_array[2]['colors'][1]={'r':0.0,'g':0.0,'b':0.0}
|
|
|
|
#fourth patch - below the above, which means left(?) of the above: f = 1
|
|
patch_array[3]['f']=1
|
|
patch_array[3]['points']=[2.00,0.67,
|
|
2.00,0.33, 2.00,0.00, 1.67,0.00,
|
|
1.33,0.00, 1.00,0.00, 1.00,0.33,
|
|
0.8,0.67]
|
|
patch_array[3]['colors']={}
|
|
patch_array[3]['colors'][0]={'r':0.0,'g':0.0,'b':0.0}
|
|
patch_array[3]['colors'][1]={'r':0.0,'g':0.0,'b':255.0}
|
|
|
|
coords_min=0
|
|
coords_max=2
|
|
|
|
pdf.CoonsPatchMesh(10,25,190,200,'','','','',patch_array,coords_min,coords_max)
|
|
|
|
pdf.Output('gradients.pdf','F')
|