diff --git a/lib/Voice/VoiceConnection.js b/lib/Voice/VoiceConnection.js index 4a89fada9..b4aa1305b 100644 --- a/lib/Voice/VoiceConnection.js +++ b/lib/Voice/VoiceConnection.js @@ -124,19 +124,16 @@ var VoiceConnection = (function (_EventEmitter) { count = 0, length = 20, retStream = new _StreamIntent2["default"](), - onWarning = false, - lastVolume = this.volume !== undefined ? this.volume.get() : 1; + onWarning = false; + this.volume = stream; this.playing = true; this.playingIntent = retStream; - this.setVolume(lastVolume); - function send() { if (!self.playingIntent || !self.playing) { self.setSpeaking(false); retStream.emit("end"); - //console.log("ending 1"); return; } try { @@ -147,7 +144,6 @@ var VoiceConnection = (function (_EventEmitter) { if (onWarning) { retStream.emit("end"); self.setSpeaking(false); - //console.log("ending 2"); return; } else { onWarning = true; @@ -253,9 +249,7 @@ var VoiceConnection = (function (_EventEmitter) { callback = options; options = {}; } - if (options.volume != null) { - this.setVolume(options.volume); - } + options.volume = options.volume !== undefined ? options.volume : this.getVolume(); return new Promise(function (resolve, reject) { _this.encoder.encodeFile(stream, options)["catch"](error).then(function (data) { self.streamProc = data.proc; @@ -285,9 +279,7 @@ var VoiceConnection = (function (_EventEmitter) { callback = options; options = {}; } - if (options.volume != null) { - this.setVolume(options.volume); - } + options.volume = options.volume !== undefined ? options.volume : this.getVolume(); return new Promise(function (resolve, reject) { _this2.encoder.encodeStream(stream, options)["catch"](error).then(function (data) { self.streamProc = data.proc; @@ -317,9 +309,7 @@ var VoiceConnection = (function (_EventEmitter) { callback = options; options = {}; } - if (options.volume != null) { - this.setVolume(options.volume); - } + options.volume = options.volume !== undefined ? options.volume : this.getVolume(); return new Promise(function (resolve, reject) { _this3.encoder.encodeArbitraryFFmpeg(ffmpegOptions)["catch"](error).then(function (data) { self.streamProc = data.proc; diff --git a/lib/Voice/VolumeTransformer.js b/lib/Voice/VolumeTransformer.js index 576db754a..accedab11 100644 --- a/lib/Voice/VolumeTransformer.js +++ b/lib/Voice/VolumeTransformer.js @@ -11,10 +11,11 @@ var Transform = require('stream').Transform; var Volume = (function (_Transform) { _inherits(Volume, _Transform); - function Volume() { + function Volume(volume) { _classCallCheck(this, Volume); - _Transform.apply(this, arguments); + _Transform.call(this); + this.set(volume); } Volume.prototype.get = function get() { @@ -22,7 +23,7 @@ var Volume = (function (_Transform) { }; Volume.prototype.set = function set(volume) { - this.volume = volume; + this.volume = volume === undefined ? 1 : volume; }; Volume.prototype._transform = function _transform(buffer, encoding, callback) { diff --git a/src/Voice/VoiceConnection.js b/src/Voice/VoiceConnection.js index 469b657e4..6567b7922 100644 --- a/src/Voice/VoiceConnection.js +++ b/src/Voice/VoiceConnection.js @@ -89,19 +89,16 @@ export default class VoiceConnection extends EventEmitter { count = 0, length = 20, retStream = new StreamIntent(), - onWarning = false, - lastVolume = this.volume !== undefined ? this.volume.get() : 1; + onWarning = false; + this.volume = stream; this.playing = true; this.playingIntent = retStream; - this.setVolume(lastVolume); - function send() { if (!self.playingIntent || !self.playing) { self.setSpeaking(false); retStream.emit("end"); - //console.log("ending 1"); return; } try { @@ -112,7 +109,6 @@ export default class VoiceConnection extends EventEmitter { if (onWarning) { retStream.emit("end"); self.setSpeaking(false); - //console.log("ending 2"); return; } else { onWarning = true; @@ -216,9 +212,7 @@ export default class VoiceConnection extends EventEmitter { callback = options; options = {}; } - if (options.volume != null) { - this.setVolume(options.volume); - } + options.volume = options.volume !== undefined ? options.volume : this.getVolume(); return new Promise((resolve, reject) => { this.encoder .encodeFile(stream, options) @@ -245,9 +239,7 @@ export default class VoiceConnection extends EventEmitter { callback = options; options = {}; } - if (options.volume != null) { - this.setVolume(options.volume); - } + options.volume = options.volume !== undefined ? options.volume : this.getVolume(); return new Promise((resolve, reject) => { this.encoder .encodeStream(stream, options) @@ -275,9 +267,7 @@ export default class VoiceConnection extends EventEmitter { callback = options; options = {}; } - if (options.volume != null) { - this.setVolume(options.volume); - } + options.volume = options.volume !== undefined ? options.volume : this.getVolume(); return new Promise((resolve, reject) => { this.encoder .encodeArbitraryFFmpeg(ffmpegOptions) diff --git a/src/Voice/VolumeTransformer.js b/src/Voice/VolumeTransformer.js index f8506fb70..e17c9c47e 100644 --- a/src/Voice/VolumeTransformer.js +++ b/src/Voice/VolumeTransformer.js @@ -1,6 +1,11 @@ const Transform = require('stream').Transform; class Volume extends Transform { + constructor(volume) { + super(); + this.set(volume); + } + get volume() { return this._volume === undefined ? 1 : this._volume; } @@ -18,7 +23,7 @@ class Volume extends Transform { } set(volume) { - this.volume = volume; + this.volume = volume === undefined ? 1 : volume; } _transform(buffer, encoding, callback) {