compositor for 2d shader
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. import processing.net.*;
  2. int port = 10002;
  3. Server composiorServer;
  4. void updateServer() {
  5. Client thisClient = composiorServer.available();
  6. if (thisClient != null) {
  7. if (thisClient.available() > 0) {
  8. String msg = thisClient.readString().toString();
  9. println("Bot reads: " + msg);
  10. String arr[] = msg.split(" ");
  11. String cmd = arr[0];
  12. String[] params = Arrays.copyOfRange(arr, 1, arr.length);
  13. println(cmd);
  14. switch(cmd) {
  15. case("add"):
  16. switch(params[0]) {
  17. case("darker"):
  18. if (fxManager.fxList.size() < maxFx) fxManager.addFx(new DARKER());
  19. break;
  20. case("asdfpixelsort"):
  21. if (fxManager.fxList.size() < maxFx) fxManager.addFx(new ASDFPIXELSORT());
  22. break;
  23. case("auecho"):
  24. if (fxManager.fxList.size() < maxFx) fxManager.addFx(new AUECHO());
  25. break;
  26. case("brighter"):
  27. if (fxManager.fxList.size() < maxFx) fxManager.addFx(new BRIGHTER());
  28. break;
  29. case("distorter"):
  30. if (fxManager.fxList.size() < maxFx) fxManager.addFx(new DISTORTER());
  31. break;
  32. case("grauzone"):
  33. if (fxManager.fxList.size() < maxFx) fxManager.addFx(new GRAUZONE());
  34. break;
  35. case("slitscan"):
  36. if (fxManager.fxList.size() < maxFx) fxManager.addFx(new SLITSCAN());
  37. break;
  38. case("wzip"):
  39. if (fxManager.fxList.size() < maxFx) fxManager.addFx(new WZIP());
  40. break;
  41. default:
  42. break;
  43. }
  44. break;
  45. case("remove"):
  46. if (params[0].equals("last")) {
  47. fxManager.removeFx(fxManager.fxList.size()-1);
  48. } else if (params[0].equals("all")) {
  49. for (int i = 0; i < fxManager.fxList.size(); i++) {
  50. fxManager.removeFx(i);
  51. }
  52. fxManager.removeFx(fxManager.fxList.size()-1);
  53. } else {
  54. fxManager.removeFx(int(params[0])-1);
  55. }
  56. break;
  57. case("swap"):
  58. fxManager.swapFx(int(params[0])-1, int(params[1])-1);
  59. break;
  60. case("play"):
  61. if (fxManager.fxList.size() > int(params[0])-1) {
  62. //fxManager.fxList.get(int(params[0])-1).shader.play();
  63. }
  64. break;
  65. case("random"):
  66. if (fxManager.fxList.size() > int(params[0])-1) {
  67. for (int j = 0; j < fxManager.fxList.get(int(params[0])-1).shader.params.size(); j++) {
  68. fxManager.fxList.get(int(params[0])-1).shader.params.get(j).randomize();
  69. }
  70. }
  71. break;
  72. case("pause"):
  73. if (fxManager.fxList.size() > int(params[0])-1) {
  74. //fxManager.fxList.get(int(params[0])-1).shader.pause();
  75. }
  76. break;
  77. case("render"):
  78. airisRender(5000);
  79. break;
  80. case("set"):
  81. if (fxManager.fxList.size() > int(params[0])-1) {
  82. for (int i = 0; i < params.length; i++) {
  83. if (Arrays.asList(fxManager.fxList.get(int(params[0])-1).shader.getParamNames()).contains(params[i])) {
  84. String attemptedCommand = params[i];
  85. println(fxManager.fxList.get(int(params[0])-1).shader.paramIdByName(params[i]));
  86. try {
  87. if (isNumeric(params[i+1])) {
  88. attemptedCommand += params[i+1];
  89. println(attemptedCommand);
  90. if (fxManager.fxList.get(int(params[0])-1).shader.animating) {
  91. //fxManager.fxList.get(int(params[0])-1).shader.pause();
  92. }
  93. fxManager.fxList.get(int(params[0])-1).shader.params.get(fxManager.fxList.get(int(params[0])-1).shader.paramIdByName(params[i])).setValue(float(params[i+1]));
  94. }
  95. }
  96. catch(Exception e) {
  97. println(e);
  98. println("Error parsing parameters in set");
  99. }
  100. }
  101. }
  102. /*
  103. println(params);
  104. println(fxManager.fxList.get(int(params[0])-1).shader.commands);
  105. if (Arrays.asList(fxManager.fxList.get(int(params[0])-1).shader.commands).contains(params[1])) {
  106. fxManager.fxList.get(int(params[0])-1).shader.pause();
  107. fxManager.fxList.get(int(params[0])-1).shader.setValue(params[1], float(params[2]));
  108. } else {
  109. println("Parameter not found " + params[1]);
  110. }
  111. */
  112. }
  113. break;
  114. default:
  115. break;
  116. }
  117. }
  118. }
  119. }
  120. public static boolean isNumeric(String strNum) {
  121. if (strNum == null) {
  122. return false;
  123. }
  124. try {
  125. double d = Double.parseDouble(strNum);
  126. }
  127. catch (NumberFormatException nfe) {
  128. return false;
  129. }
  130. return true;
  131. }