-
Notifications
You must be signed in to change notification settings - Fork 1
/
dragonframe-script.js
executable file
·65 lines (44 loc) · 1.28 KB
/
dragonframe-script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/local/bin/node
var fs = require('fs');
var argv = require('argv');
var path = require('path');
var osc = require('node-osc');
var content = '[' + getDateTime() + ']';
var params = argv.run().targets;
// settings
var ADDRESS = '127.0.0.1';
var PORT = 1234;
// logging
params.forEach(function(param) {
content += '\t' + param;
})
// parse
var command = params[3];
var frame = parseInt(params[4]);
var sceneName = `${params[0]}_${params[1]}_${params[2]}`
var args = [frame, sceneName]
// save
if (command === "CC") {
var filePath = params[7];
args.push(filePath);
}
var client = new osc.Client(ADDRESS, PORT);
client.send('/dragonframe/' + command.toLowerCase(), args, function() {
client.kill();
});
fs.appendFile(__dirname + '/log.txt', content + '\n');
function getDateTime() {
var date = new Date();
var hour = date.getHours();
hour = (hour < 10 ? "0" : "") + hour;
var min = date.getMinutes();
min = (min < 10 ? "0" : "") + min;
var sec = date.getSeconds();
sec = (sec < 10 ? "0" : "") + sec;
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = (month < 10 ? "0" : "") + month;
var day = date.getDate();
day = (day < 10 ? "0" : "") + day;
return year + "/" + month + "/" + day + " " + hour + ":" + min + ":" + sec;
}