From 8b1a22f10946087d68748623fc3a7a13bbbd9e8c Mon Sep 17 00:00:00 2001 From: Noah Date: Fri, 12 Feb 2016 17:30:18 -0500 Subject: [PATCH] Make encoding/buffer overrideable --- README.md | 5 +++++ index.js | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 416bf70..c97fdd4 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,11 @@ waveform(audiofile, { 'png-color-bg': '00000000', // bg color, rrggbbaa 'png-color-center': '000000ff', // gradient center color, rrggbbaa 'png-color-outer': '000000ff', // gradient outer color, rrggbbaa + + // node-specific options + encoding: "utf8", // different output encoding for callback (default is 'buffer') + maxBuffer: 1024 * 1000 // max buffer before the process is killed (default is 1024 * 5000) + }, function(err, buf) { // done }); diff --git a/index.js b/index.js index 8c69683..3effff5 100644 --- a/index.js +++ b/index.js @@ -7,11 +7,18 @@ var flagNames = { 'wjs-plain': true, }; +var processOptions = { + encoding: 'buffer', + maxBuffer: 5000 * 1024 +}; + module.exports = function(audiofile, options, callback) { var cmdline = [audiofile]; for (var optName in options) { if (flagNames[optName]) { cmdline.push('--' + optName); + } else if (processOptions[optName]){ + processOptions[optName] = options[optName]; } else { var value = options[optName]; cmdline.push('--' + optName); @@ -19,7 +26,7 @@ module.exports = function(audiofile, options, callback) { } } - execFile(waveformBin, cmdline, {encoding: 'buffer', maxBuffer: 5000*1024}, function(err, stdout, stderr) { + execFile(waveformBin, cmdline, processOptions, function(err, stdout, stderr) { if (err) { err.stdout = stdout; err.stderr = stderr;