from soloud_codegen import *
fo = open("soloud.au3", "w")
fo.write("; SoLoud wrapper for AutoIt\n")
fo.write("; This file is autogenerated; any changes will be overwritten\n")
fo.write('Global $dll = DllOpen(@ScriptDir & "\\soloud_x86.dll")\n')
fo.write("\n")
fo.write("; Enumerations\n")
for x in soloud_enum:
fo.write("Const $" + x + " = " + str(soloud_enum[x]) + "\n")
fo.write("\n")
fo.write("; Functions\n")
for x in soloud_func:
funcdef = "Func _" + x[1] + "("
first = True;
for p in x[2]:
if len(p) > 0:
if not first:
funcdef += ", "
else:
first = False
funcdef += "$" + p[1]
funcdef += ")"
calldef = "\tLocal $ret = DllCall($dll, "
calldef += '"' + x[0] + '", ' calldef += '"' + x[1] + '"'
for p in x[2]:
if len(p) > 0:
calldef += ', "' + p[0] + '", "' + p[1] + '"'
calldef += ')'
fo.write(funcdef + "\n")
fo.write(calldef + "\n")
fo.write('\tIf @error Then Return SetError(1, 1, 0)\n')
fo.write('\tReturn $ret[0]\n')
fo.write('EndFunc\n')
fo.write("\n")
fo.close()
print("soloud.au3 generated")