浏览代码

Kinda working

Noah 7 年前
父节点
当前提交
17a13a5483
共有 4 个文件被更改,包括 16 次插入23 次删除
  1. 4 6
      audiogram/index.js
  2. 4 1
      bin/worker
  3. 8 7
      server/render.js
  4. 0 9
      test/frame-test.js

+ 4 - 6
audiogram/index.js 查看文件

12
     combineFrames = require("./combine-frames.js"),
12
     combineFrames = require("./combine-frames.js"),
13
     trimAudio = require("./trim.js");
13
     trimAudio = require("./trim.js");
14
 
14
 
15
-function Audiogram(settings) {
15
+function Audiogram(id) {
16
 
16
 
17
   // Unique audiogram ID
17
   // Unique audiogram ID
18
-  this.id = settings.id;
19
-
20
-  this.settings = settings;
18
+  this.id = id;
21
 
19
 
22
   // File locations to use
20
   // File locations to use
23
   this.dir = path.join(serverSettings.workingDirectory, this.id);
21
   this.dir = path.join(serverSettings.workingDirectory, this.id);
66
     samplesPerFrame: this.settings.samplesPerFrame
64
     samplesPerFrame: this.settings.samplesPerFrame
67
   }, function(err, waveform){
65
   }, function(err, waveform){
68
 
66
 
69
-    return cb(err, self.settings.waveform = waveform);
67
+    return cb(err, self.waveform = waveform);
70
 
68
 
71
   });
69
   });
72
 
70
 
120
       numFrames: self.numFrames,
118
       numFrames: self.numFrames,
121
       frameDir: self.frameDir,
119
       frameDir: self.frameDir,
122
       caption: self.settings.caption,
120
       caption: self.settings.caption,
123
-      waveform: self.settings.waveform,
121
+      waveform: self.waveform,
124
       tick: function() {
122
       tick: function() {
125
         transports.incrementField(self.id, "framesComplete");
123
         transports.incrementField(self.id, "framesComplete");
126
       }
124
       }

+ 4 - 1
bin/worker 查看文件

30
 
30
 
31
 function render(settings) {
31
 function render(settings) {
32
 
32
 
33
-  var audiogram = new Audiogram(settings);
33
+  var audiogram = new Audiogram(settings.id);
34
+
35
+  // TODO rename to theme
36
+  audiogram.settings = settings;
34
 
37
 
35
   audiogram.render(function(err){
38
   audiogram.render(function(err){
36
 
39
 

+ 8 - 7
server/render.js 查看文件

2
     spawn = require("child_process").spawn,
2
     spawn = require("child_process").spawn,
3
     path = require("path"),
3
     path = require("path"),
4
     _ = require("underscore"),
4
     _ = require("underscore"),
5
-    Audiogram = require("../audiogram/"),
6
     logger = require("../lib/logger"),
5
     logger = require("../lib/logger"),
7
     transports = require("../lib/transports");
6
     transports = require("../lib/transports");
8
 
7
 
22
     return res.status(500).send("No valid audio received.");
21
     return res.status(500).send("No valid audio received.");
23
   }
22
   }
24
 
23
 
25
-  req.body.settings.id = req.file.destination.split(path.sep).pop();
26
-
27
   // Start at the beginning, or specified time
24
   // Start at the beginning, or specified time
28
   if (req.body.settings.start) {
25
   if (req.body.settings.start) {
29
     req.body.settings.start = +req.body.settings.start;
26
     req.body.settings.start = +req.body.settings.start;
39
 
36
 
40
 function route(req, res) {
37
 function route(req, res) {
41
 
38
 
42
-  var audiogram = new Audiogram(req.body.settings);
39
+  var id = req.file.destination.split(path.sep).pop();
43
 
40
 
44
-  transports.uploadAudio(audiogram.audioPath, "audio/" + audiogram.id,function(err) {
41
+  transports.uploadAudio(path.join(req.file.destination, "audio"), "audio/" + id,function(err) {
45
 
42
 
46
     if (err) {
43
     if (err) {
47
       throw err;
44
       throw err;
48
     }
45
     }
49
 
46
 
50
     // Queue up the job with a timestamp
47
     // Queue up the job with a timestamp
51
-    transports.addJob(_.extend({ created: (new Date()).getTime() }, req.body.settings));
48
+    transports.addJob({
49
+      created: (new Date()).getTime(),
50
+      settings: req.body.settings,
51
+      caption: req.body.caption
52
+    });
52
 
53
 
53
-    res.json({ id: req.body.settings.id });
54
+    res.json({ id: id });
54
 
55
 
55
     // If there's no separate worker, spawn one right away
56
     // If there's no separate worker, spawn one right away
56
     if (!serverSettings.worker) {
57
     if (!serverSettings.worker) {

+ 0 - 9
test/frame-test.js 查看文件

25
   initializeCanvas(options, function(err, renderer){
25
   initializeCanvas(options, function(err, renderer){
26
 
26
 
27
     test.error(err);
27
     test.error(err);
28
-    test.assert(renderer.context.canvas instanceof Canvas);
29
-    test.assert(renderer.context.canvas.width === options.width);
30
-    test.assert(renderer.context.canvas.height === options.height);
31
 
28
 
32
     drawFrames(renderer, {
29
     drawFrames(renderer, {
33
       numFrames: 2,
30
       numFrames: 2,
54
   initializeCanvas(options, function(err, renderer){
51
   initializeCanvas(options, function(err, renderer){
55
 
52
 
56
     test.error(err);
53
     test.error(err);
57
-    test.assert(renderer.context.canvas instanceof Canvas);
58
-    test.assert(renderer.context.canvas.width === options.width);
59
-    test.assert(renderer.context.canvas.height === options.height);
60
 
54
 
61
     drawFrames(renderer, {
55
     drawFrames(renderer, {
62
       numFrames: 2,
56
       numFrames: 2,
85
   initializeCanvas(options, function(err, renderer){
79
   initializeCanvas(options, function(err, renderer){
86
 
80
 
87
     test.error(err);
81
     test.error(err);
88
-    test.assert(renderer.context.canvas instanceof Canvas);
89
-    test.assert(renderer.context.canvas.width === options.width);
90
-    test.assert(renderer.context.canvas.height === options.height);
91
 
82
 
92
     drawFrames(renderer, {
83
     drawFrames(renderer, {
93
       numFrames: 2,
84
       numFrames: 2,