|
@@ -191,13 +191,10 @@ transcriber.prototype.merge = function() {
|
191
|
191
|
arrays.forEach(array => pushWordToSortedArray(potentialWords, array));
|
192
|
192
|
|
193
|
193
|
// keep adding words to transcription until all arrays are exhausted
|
194
|
|
- let lowestWordArray;
|
195
|
|
- let wordToAdd;
|
196
|
|
- let foundSmaller;
|
197
|
|
-
|
198
|
194
|
while (hasPopulatedArrays(arrays)) {
|
199
|
195
|
// first select the lowest array;
|
200
|
|
- lowestWordArray = arrays[0];
|
|
196
|
+ let lowestWordArray = arrays[0];
|
|
197
|
+
|
201
|
198
|
arrays.forEach(wordArray => {
|
202
|
199
|
if (wordArray[0].begin < lowestWordArray[0].begin) {
|
203
|
200
|
lowestWordArray = wordArray;
|
|
@@ -205,23 +202,29 @@ transcriber.prototype.merge = function() {
|
205
|
202
|
});
|
206
|
203
|
|
207
|
204
|
// put the word in the transcription
|
208
|
|
- wordToAdd = lowestWordArray.shift();
|
|
205
|
+ let wordToAdd = lowestWordArray.shift();
|
|
206
|
+
|
209
|
207
|
this.updateTranscription(wordToAdd, lowestWordArray.name);
|
210
|
208
|
|
211
|
209
|
// keep going until a word in another array has a smaller time
|
212
|
210
|
// or the array is empty
|
213
|
|
- while (!foundSmaller && lowestWordArray.length > 0) {
|
|
211
|
+ while (lowestWordArray.length > 0) {
|
|
212
|
+ let foundSmaller = false;
|
|
213
|
+ const wordToCompare = lowestWordArray[0].begin;
|
|
214
|
+
|
214
|
215
|
arrays.forEach(wordArray => {
|
215
|
|
- if (wordArray[0].begin < lowestWordArray[0].begin) {
|
|
216
|
+ if (wordArray[0].begin < wordToCompare) {
|
216
|
217
|
foundSmaller = true;
|
217
|
218
|
}
|
218
|
219
|
});
|
219
|
220
|
|
220
|
221
|
// add next word if no smaller time has been found
|
221
|
|
- if (!foundSmaller) {
|
222
|
|
- wordToAdd = lowestWordArray.shift();
|
223
|
|
- this.updateTranscription(wordToAdd, null);
|
|
222
|
+ if (foundSmaller) {
|
|
223
|
+ break;
|
224
|
224
|
}
|
|
225
|
+
|
|
226
|
+ wordToAdd = lowestWordArray.shift();
|
|
227
|
+ this.updateTranscription(wordToAdd, null);
|
225
|
228
|
}
|
226
|
229
|
|
227
|
230
|
}
|