From 22fda1eac77be235a768dec0b580c2bdce681c60 Mon Sep 17 00:00:00 2001 From: kkapsner Date: Sat, 30 Jun 2018 23:34:59 +0200 Subject: [PATCH] Changed the way the random indices are chosen Only the offset is random. The indices are then spaced evenly. --- lib/modifiedAudioAPI.js | 13 +++++++++---- lib/settingDefinitions.js | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/modifiedAudioAPI.js b/lib/modifiedAudioAPI.js index d131695..161ca1c 100644 --- a/lib/modifiedAudioAPI.js +++ b/lib/modifiedAudioAPI.js @@ -65,16 +65,21 @@ } function forEachIndex(array, prefs, callback){ - var l = array.length; + var length = array.length; var rate = getAudioFakeRate(array, prefs); - var indexRng = randomSupply.getIndexRng(rate, l, window); var start = 0; forEachFixedIndex(prefs, function(index){ callback(index, start); start += 1; }); - for (var i = start; i < rate; i += 1){ - callback(indexRng(i), i); + if (start < rate){ + var delta = Math.floor(length / (rate - start)); + var indexRng = randomSupply.getIndexRng(1, length - delta * (rate - start - 1), window); + var offset = indexRng(0); + for (var i = start; i < rate; i += 1){ + callback(offset, i); + offset += delta; + } } } diff --git a/lib/settingDefinitions.js b/lib/settingDefinitions.js index b3b19d2..882ac35 100644 --- a/lib/settingDefinitions.js +++ b/lib/settingDefinitions.js @@ -169,7 +169,7 @@ }, { name: "audioFakeRate", - defaultValue: "10", + defaultValue: "100", options: ["1", "10", "100", "1000", "0.1%", "1%"] }, {