UNPKG

lamejs

Version:

Pure JavaScript MP3 Encoder

170 lines (147 loc) 3.53 kB
function new_byte(count) { return new Int8Array(count); } function new_short(count) { return new Int16Array(count); } function new_int(count) { return new Int32Array(count); } function new_float(count) { return new Float32Array(count); } function new_double(count) { return new Float64Array(count); } function new_float_n(args) { if (args.length == 1) { return new_float(args[0]); } var sz = args[0]; args = args.slice(1); var A = []; for (var i = 0; i < sz; i++) { A.push(new_float_n(args)); } return A; } function new_int_n(args) { if (args.length == 1) { return new_int(args[0]); } var sz = args[0]; args = args.slice(1); var A = []; for (var i = 0; i < sz; i++) { A.push(new_int_n(args)); } return A; } function new_short_n(args) { if (args.length == 1) { return new_short(args[0]); } var sz = args[0]; args = args.slice(1); var A = []; for (var i = 0; i < sz; i++) { A.push(new_short_n(args)); } return A; } function new_array_n(args) { if (args.length == 1) { return new Array(args[0]); } var sz = args[0]; args = args.slice(1); var A = []; for (var i = 0; i < sz; i++) { A.push(new_array_n(args)); } return A; } var Arrays = {}; Arrays.fill = function (a, fromIndex, toIndex, val) { if (arguments.length == 2) { for (var i = 0; i < a.length; i++) { a[i] = arguments[1]; } } else { for (var i = fromIndex; i < toIndex; i++) { a[i] = val; } } }; var System = {}; System.arraycopy = function (src, srcPos, dest, destPos, length) { var srcEnd = srcPos + length; while (srcPos < srcEnd) dest[destPos++] = src[srcPos++]; }; System.out = {}; System.out.println = function (message) { console.log(message); } System.out.printf = function () { console.log.apply(console, arguments); } var Util = {}; Util.SQRT2 = 1.41421356237309504880; Util.FAST_LOG10 = function (x) { return Math.log10(x); }; Util.FAST_LOG10_X = function (x, y) { return Math.log10(x) * y; }; function ShortBlock(ordinal) { this.ordinal = ordinal; } /** * LAME may use them, even different block types for L/R. */ ShortBlock.short_block_allowed = new ShortBlock(0); /** * LAME may use them, but always same block types in L/R. */ ShortBlock.short_block_coupled = new ShortBlock(1); /** * LAME will not use short blocks, long blocks only. */ ShortBlock.short_block_dispensed = new ShortBlock(2); /** * LAME will not use long blocks, short blocks only. */ ShortBlock.short_block_forced = new ShortBlock(3); var Float = {}; Float.MAX_VALUE = 3.4028235e+38; function VbrMode(ordinal) { this.ordinal = ordinal; } VbrMode.vbr_off = new VbrMode(0); VbrMode.vbr_mt = new VbrMode(1); VbrMode.vbr_rh = new VbrMode(2); VbrMode.vbr_abr = new VbrMode(3); VbrMode.vbr_mtrh = new VbrMode(4); VbrMode.vbr_default = VbrMode.vbr_mtrh; var assert = function (x) { //console.assert(x); }; module.exports = { "System": System, "VbrMode": VbrMode, "Float": Float, "ShortBlock": ShortBlock, "Util": Util, "Arrays": Arrays, "new_array_n": new_array_n, "new_byte": new_byte, "new_double": new_double, "new_float": new_float, "new_float_n": new_float_n, "new_int": new_int, "new_int_n": new_int_n, "new_short": new_short, "new_short_n": new_short_n, "assert": assert };