Changes

Jump to navigation Jump to search
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.
584

edits

Navigation menu