thanks for working on this! having a c# wrapper for a7 is very nice. i also would try to reduce the amount of unnecessary verbosity though. i am no c# expert but i am sure it's possible to make it much more convenient to use.



def_debug_pan.setdigits(0, 0, 12, "fps%5.0f", ackfont, lambda: def_dfps * 16)

in python using pointers isn't possible at all so i use lambda expressions for panel elements. internally i have a big var array for panels which gets updated each frame by calling the lambdas that got registered for panel elements. it works great and even is much more powerful than simply passing a pointer. for example it supports local variables and arbitrary expressions.

lambdas are available in c# too.



i wouldn't use threads for the scheduler. the lite-c scheduler doesn't use threads either. it uses coroutines. coroutines can be simulated by generators in python and c#. you could look into the source of my scheduler. it's really simple.



just some ideas. smile