Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. #!/usr/bin/env node
  2.  
  3. /*
  4. * Execute to vim by running
  5. * $vim `./msketch.js`
  6. * or
  7. * $vim `./msketch.js someName`
  8. *
  9. * Add this to your vimrc to execute a sketch using F5
  10. * autocmd Filetype java nnoremap <F5> :w<CR> :!cd %:p:h && processing-java --sketch=$PWD/ --run <CR> %
  11. */
  12.  
  13. var fs = require("fs"),
  14. sketchName = process.argv[2],
  15. today = new Date(),
  16. alphas = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z".split(","),
  17. stream,
  18. template;
  19.  
  20. function dateSlug(d) {
  21. "use strict";
  22. var year = d.getFullYear().toString().substr(2, 2),
  23. month = (d.getMonth() + 1).toString(),
  24. day = d.getDate().toString();
  25.  
  26. if (month.length < 2) { month = "0" + month; }
  27. if (day.length < 2) { day = "0" + day; }
  28.  
  29. return year + month + day;
  30. }
  31.  
  32.  
  33. if (sketchName === undefined) {
  34. sketchName = "sketch_" + dateSlug(today);
  35.  
  36. while (fs.existsSync(sketchName)) {
  37. sketchName = "sketch_" + dateSlug(today) + alphas.shift();
  38. }
  39. }
  40.  
  41. template = '// # ' + sketchName + "\n";
  42. template += '// **Created By:** + ' + process.env.USER + "\n";
  43. template += '// **Created On:** + ' + today.toDateString() + "\n";
  44. template += '// ' + "\n\n";
  45. template += "int tick = 0;\n";
  46. template += "boolean save_files = false;\n";
  47. template += 'String outputName = "data/output/" + System.currentTimeMillis() + "/";' + "\n\n";
  48. template += "void setup ()\n";
  49. template += "{\n";
  50. template += " // P3D, P2D \n";
  51. template += " size(512, 512);\n";
  52. template += "}\n\n";
  53. template += "void draw ()\n";
  54. template += "{\n";
  55. template += " long t = System.currentTimeMillis();\n";
  56. template += " if (t % 30 == 0 && save_files) {\n";
  57. template += ' save(outputName + "s-" + t + ".jpg");' + "\n";
  58. template += " }\n";
  59. template += "}\n\n";
  60.  
  61. fs.mkdirSync("./" + sketchName);
  62.  
  63. stream = fs.createWriteStream("./" + sketchName + "/" + sketchName + ".pde");
  64. stream.write(template);
  65. stream.end();
  66.  
  67. fs.mkdirSync("./" + sketchName + "/data");
  68. fs.mkdirSync("./" + sketchName + "/data/output");
  69. fs.mkdirSync("./" + sketchName + "/data/input");
  70.  
  71. process.stdout.write("./" + sketchName + "/" + sketchName + ".pde");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement