fix_gen.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. import json
  2. from collections import OrderedDict
  3. f_out = open("patch.json","w")
  4. nr=0
  5. dmx=1
  6. def add(jdata,att):
  7. global nr,dmx,name,fix,sub
  8. print("======", "{}_{}{:02}".format( name,fix,sub) )
  9. #for i in jdata:
  10. # print(i )
  11. if "ATTRIBUT" in jdata:
  12. for a in att:
  13. if a == "":
  14. print("---",nr+dmx-1,nr,"")
  15. nr+=1
  16. continue
  17. rdata = '{"NR": 1, "MASTER": "0", "MODE": "S", "VALUE": 0, "ACTIVE": 0, "FX": "", "FX2": {}}'
  18. jattr = json.loads(rdata,object_pairs_hook=OrderedDict)
  19. jattr["NR"] = nr
  20. if a in ["DIM","RED","GREEN","BLUE","PAN","TILT","ZOOM","IRIS"]:
  21. jattr["MODE"] = "F"
  22. jdata["ATTRIBUT"][a] = jattr
  23. print("add",nr+dmx-1,nr,a)
  24. nr+=1
  25. print()
  26. fix = 501
  27. sub =1
  28. name="SPX_"
  29. dmx=1
  30. univ=1
  31. for i in range(4): # fixtures
  32. print("====================================")
  33. rdata='{"DMX": 1, "UNIVERS": 1, "NAME": "SPX7_01", "TYPE": "MOVER", "VENDOR": "JB", "ATTRIBUT":{}}'
  34. jdata = json.loads(rdata,object_pairs_hook=OrderedDict)
  35. jdata["NAME"] = "{}_{}{:02}".format( name,fix,sub)
  36. nr=1
  37. jdata["UNIVERS"] = univ
  38. jdata["DMX"] = dmx
  39. att = []
  40. att.append("PAN")
  41. att.append("PAN-FINE")
  42. att.append("TITL")
  43. att.append("TILT-FINE")
  44. att.append("")
  45. att.append("SHUTTER")
  46. att.append("DIM")
  47. att.append("ZOOM")
  48. att.append("GOBO")
  49. att.append("")
  50. att.append("GOBO2")
  51. att.append("G-ROT")
  52. att.append("")
  53. att.append("PRISMA")
  54. att.append("P-ROT")
  55. att.append("")
  56. att.append("")
  57. att.append("")
  58. att.append("")
  59. att.append("")
  60. add(jdata,att)
  61. fnr="{}{:02}".format(fix,sub)
  62. f_out.write("{}\t{}\t{}\n".format(fnr,fnr,json.dumps(jdata) ) )
  63. rdata='{"DMX": 1, "UNIVERS": 1, "NAME": "SPX7_01", "TYPE": "MOVER", "VENDOR": "JB", "ATTRIBUT":{}}'
  64. jdata = json.loads(rdata,object_pairs_hook=OrderedDict)
  65. for i in range(3):
  66. sub+=1
  67. jdata["NAME"] = "{}_{}{:02}".format( name,fix,sub)
  68. dmx+=nr-1
  69. univ=1
  70. nr=1
  71. jdata["UNIVERS"] = univ
  72. jdata["DMX"] = dmx
  73. att = []
  74. att.append("RED")
  75. att.append("GREEN")
  76. att.append("BLUE")
  77. att.append("WHITE")
  78. add(jdata,att)
  79. fnr="{}{:02}".format(fix,sub)
  80. f_out.write("{}\t{}\t{}\n".format(fnr,fnr,json.dumps(jdata) ) )
  81. f_out.flush()
  82. fix += 1
  83. sub=1
  84. dmx+=nr-1