Line 43: |
Line 43: |
| == Deeper Still... == | | == Deeper Still... == |
| So we have an ordered dictionary of short Codes | | So we have an ordered dictionary of short Codes |
− | with a tuple of meta data | + | with a tuple of meta data:- |
| + | |
| + | |
| "ZY", ("ZynAddSubFX", "ZynAddSubFX - Synthesizer", "MIDI Synth", None, zynthian_engine_zynaddsubfx, True)], | | "ZY", ("ZynAddSubFX", "ZynAddSubFX - Synthesizer", "MIDI Synth", None, zynthian_engine_zynaddsubfx, True)], |
| | | |
− | and a zyntengine import * takes care of presenting these engines from the zynengine directory to the code. So in this case the class instance for zynthian_engine_zynaddsubfx is extracted from the file | + | and a zynengine import * takes care of presenting these engines from the zynengine directory to the code. So in this case the class instance for zynthian_engine_zynaddsubfx is extracted from the file |
| /zynthian-ui//zyngine/zynthian_engine_zynaddsubfx.py | | /zynthian-ui//zyngine/zynthian_engine_zynaddsubfx.py |
| | | |
| [[File:Zynthian zynaddsubfx code.png|right|400px|Zynthian top details of zynthian_engine_zynaddsubfx.py]] | | [[File:Zynthian zynaddsubfx code.png|right|400px|Zynthian top details of zynthian_engine_zynaddsubfx.py]] |
| + | |
| + | A you can see we start with some CC definitions applicable to a specific engine, by in large a lot of these are similar: |
| + | For example: |
| + | |
| + | * ['volume',7,115], |
| + | * ['panning',10,64], |
| + | |
| + | But once you get onto something like Aeolus things ,obviously, get a little more complicated. But already the zynthian is specifiying Context for Engines and maintaining that environment for the specific engine assumptions. |
| + | |
| + | It's just a big mapping ! |
| + | |
| + | That's how it works for the explicitly defined Engines, but for going forward LV2 offers a much for implicit path, which allows lists to be populated from information derived from the LV2 TTL files. |
| + | |
| + | == JALV starts to help == |
| + | |
| + | So we come to the python component that handles the LV2 bundles. |