@vidispine/vdt-js 22.3.0-pre.2 → 22.3.0-pre.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es.js +366 -311
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +369 -312
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
7
6
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
7
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
8
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
8
9
|
var _typeof = require('@babel/runtime/helpers/typeof');
|
|
9
10
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
10
11
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
11
|
-
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
12
12
|
var parseFileSize = require('filesize');
|
|
13
13
|
|
|
14
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
15
|
|
|
16
16
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
17
|
-
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
18
17
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
18
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
19
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
19
20
|
var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
|
|
20
21
|
var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
|
|
21
22
|
var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
|
|
22
|
-
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
23
23
|
var parseFileSize__default = /*#__PURE__*/_interopDefaultLegacy(parseFileSize);
|
|
24
24
|
|
|
25
25
|
function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -259,171 +259,212 @@ var roles = /*#__PURE__*/Object.freeze({
|
|
|
259
259
|
VXA_READ: VXA_READ
|
|
260
260
|
});
|
|
261
261
|
|
|
262
|
-
var _excluded$4 = ["
|
|
262
|
+
var _excluded$4 = ["value"],
|
|
263
263
|
_excluded2$2 = ["start", "end"];
|
|
264
264
|
|
|
265
265
|
function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
266
266
|
|
|
267
267
|
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
268
268
|
|
|
269
|
-
var
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
269
|
+
var COMBINED_PROPERTY_KEYS = ['uuid', 'user', 'timestamp', 'change', 'conflict', 'mode', 'name', 'id', 'referenced', 'data', 'inheritance'];
|
|
270
|
+
var GROUP_PROPERTY_KEYS = [].concat(COMBINED_PROPERTY_KEYS, ['cycle']);
|
|
271
|
+
var FIELD_PROPERTY_KEYS = [].concat(COMBINED_PROPERTY_KEYS, ['value', 'reference', 'type', 'track']);
|
|
272
|
+
var FIELD_VALUE_PROPERTY_KEYS = [].concat(COMBINED_PROPERTY_KEYS, ['value', 'lang']);
|
|
273
|
+
|
|
274
|
+
var isObject = function isObject(o) {
|
|
275
|
+
return Object.prototype.toString.call(o) === '[object Object]';
|
|
276
|
+
};
|
|
277
|
+
|
|
278
|
+
var isDate = function isDate(o) {
|
|
279
|
+
return Object.prototype.toString.call(o) === '[object Date]';
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
var isField = function isField(value) {
|
|
283
|
+
var FIELD_TYPES = ['string', 'boolean', 'number'];
|
|
284
|
+
|
|
285
|
+
var isFieldType = function isFieldType(v) {
|
|
286
|
+
return FIELD_TYPES.includes(_typeof__default["default"](v));
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
var isFieldObject = function isFieldObject(v) {
|
|
290
|
+
return isObject(v) && (v.value === null || isObject(v.value) || isFieldType(v.value));
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
if (value === null) {
|
|
294
|
+
return true;
|
|
295
|
+
}
|
|
274
296
|
|
|
275
297
|
if (Array.isArray(value)) {
|
|
276
|
-
return value.
|
|
277
|
-
|
|
278
|
-
return _objectSpread$7({
|
|
279
|
-
value: valueOrObject.value || ''
|
|
280
|
-
}, valueOrObject);
|
|
281
|
-
}
|
|
298
|
+
return value.some(isField);
|
|
299
|
+
}
|
|
282
300
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
301
|
+
return isFieldType(value) || isFieldObject(value) || isDate(value);
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
var isGroup = function isGroup(value) {
|
|
305
|
+
var isGroupObject = function isGroupObject(v) {
|
|
306
|
+
return isObject(v) && v.value === undefined && Object.entries(value);
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
if (Array.isArray(value)) {
|
|
310
|
+
return value.every(isGroup);
|
|
287
311
|
}
|
|
288
312
|
|
|
289
|
-
|
|
290
|
-
return [{
|
|
291
|
-
value: value
|
|
292
|
-
}];
|
|
313
|
+
return isGroupObject(value);
|
|
293
314
|
};
|
|
294
315
|
|
|
295
|
-
var
|
|
296
|
-
|
|
316
|
+
var tryPluralize = function tryPluralize(str, arr) {
|
|
317
|
+
return str + (arr.length > 1 ? 's' : '');
|
|
318
|
+
};
|
|
297
319
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
320
|
+
var ensureKeysAreValid = function ensureKeysAreValid(keysToCheck, keysToMatch) {
|
|
321
|
+
var unsupportedKeys = keysToCheck.filter(function (k) {
|
|
322
|
+
return !keysToMatch.includes(k);
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
if (unsupportedKeys.length) {
|
|
326
|
+
throw Error("Unsupported ".concat(tryPluralize('key', unsupportedKeys), " (").concat(unsupportedKeys.join(', '), ")"));
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
var parseValue = function parseValue(value) {
|
|
331
|
+
if (Array.isArray(value)) {
|
|
332
|
+
throw Error('Invalid value object, cannot be array');
|
|
306
333
|
}
|
|
307
334
|
|
|
335
|
+
if ([undefined, null].includes(value)) return {};
|
|
336
|
+
if (isDate(value)) return {
|
|
337
|
+
value: value.toISOString()
|
|
338
|
+
};
|
|
308
339
|
return {
|
|
309
|
-
value:
|
|
340
|
+
value: value
|
|
310
341
|
};
|
|
311
342
|
};
|
|
312
343
|
|
|
313
|
-
var
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
344
|
+
var parseValueObject = function parseValueObject(valueObject) {
|
|
345
|
+
ensureKeysAreValid(Object.keys(valueObject), FIELD_VALUE_PROPERTY_KEYS);
|
|
346
|
+
|
|
347
|
+
if (Object.keys(valueObject).length === 0) {
|
|
348
|
+
throw Error('Invalid value object, cannot be empty object');
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
var parsedValue = parseValue(valueObject === null || valueObject === void 0 ? void 0 : valueObject.value);
|
|
352
|
+
return _objectSpread$7(_objectSpread$7({}, valueObject), parsedValue !== undefined ? parsedValue : {});
|
|
321
353
|
};
|
|
322
354
|
|
|
323
|
-
var
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
355
|
+
var parseFieldValue = function parseFieldValue(value) {
|
|
356
|
+
if ([undefined, null].includes(value)) return undefined;
|
|
357
|
+
if (Array.isArray(value)) return value.map(parseFieldValue);
|
|
358
|
+
if (isObject(value)) return parseValueObject(value);
|
|
359
|
+
return parseValue(value);
|
|
327
360
|
};
|
|
328
361
|
|
|
329
|
-
var
|
|
330
|
-
|
|
331
|
-
var
|
|
332
|
-
_thisGroup$value = thisGroup.value,
|
|
333
|
-
groupsOrFields = _thisGroup$value === void 0 ? {} : _thisGroup$value; // eslint-disable-next-line no-use-before-define
|
|
362
|
+
var parseFieldObject = function parseFieldObject(fieldObject) {
|
|
363
|
+
ensureKeysAreValid(Object.keys(fieldObject), FIELD_PROPERTY_KEYS);
|
|
364
|
+
var parsedFieldValue = parseFieldValue(fieldObject === null || fieldObject === void 0 ? void 0 : fieldObject.value);
|
|
334
365
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
366
|
+
if (parsedFieldValue === undefined) {
|
|
367
|
+
fieldObject.value;
|
|
368
|
+
var fieldObjectWithoutValue = _objectWithoutProperties__default["default"](fieldObject, _excluded$4);
|
|
369
|
+
|
|
370
|
+
return fieldObjectWithoutValue;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
return _objectSpread$7(_objectSpread$7({}, fieldObject), {}, {
|
|
374
|
+
value: _toConsumableArray__default["default"](Array.isArray(parsedFieldValue) ? parsedFieldValue : [parsedFieldValue])
|
|
375
|
+
});
|
|
376
|
+
};
|
|
377
|
+
|
|
378
|
+
var parseField$1 = function parseField(field) {
|
|
379
|
+
if (isObject(field)) {
|
|
380
|
+
return parseFieldObject(field);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
var parsedFieldValue = parseFieldValue(field);
|
|
384
|
+
|
|
385
|
+
if (parsedFieldValue === undefined) {
|
|
386
|
+
return undefined;
|
|
387
|
+
}
|
|
338
388
|
|
|
339
389
|
return {
|
|
340
|
-
|
|
341
|
-
group: group,
|
|
342
|
-
field: field
|
|
390
|
+
value: _toConsumableArray__default["default"](Array.isArray(parsedFieldValue) ? parsedFieldValue : [parsedFieldValue])
|
|
343
391
|
};
|
|
344
392
|
};
|
|
345
393
|
|
|
346
|
-
var
|
|
394
|
+
var parseGroupsAndFields = function parseGroupsAndFields(groupOrField) {
|
|
347
395
|
var group = [];
|
|
348
396
|
var field = [];
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
})) {
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
group.push(
|
|
368
|
-
name:
|
|
369
|
-
|
|
370
|
-
}));
|
|
397
|
+
var groupAttributes = {};
|
|
398
|
+
Object.entries(groupOrField || {}).forEach(function (_ref) {
|
|
399
|
+
var _ref2 = _slicedToArray__default["default"](_ref, 2),
|
|
400
|
+
name = _ref2[0],
|
|
401
|
+
value = _ref2[1];
|
|
402
|
+
|
|
403
|
+
if (GROUP_PROPERTY_KEYS.includes(name)) {
|
|
404
|
+
groupAttributes = _objectSpread$7(_objectSpread$7({}, groupAttributes), {}, _defineProperty__default["default"]({}, name, value));
|
|
405
|
+
} else if (isField(value)) {
|
|
406
|
+
try {
|
|
407
|
+
field.push(_objectSpread$7({
|
|
408
|
+
name: name
|
|
409
|
+
}, parseField$1(value)));
|
|
410
|
+
} catch (error) {
|
|
411
|
+
throw Error(error.message + (name ? " for field \"".concat(name, "\"") : ''));
|
|
412
|
+
}
|
|
413
|
+
} else if (isGroup(value)) {
|
|
414
|
+
(Array.isArray(value) ? value : [value]).forEach(function (v) {
|
|
415
|
+
group.push(_objectSpread$7({
|
|
416
|
+
name: name
|
|
417
|
+
}, parseGroupsAndFields(v)));
|
|
371
418
|
});
|
|
372
419
|
} else {
|
|
373
|
-
|
|
374
|
-
name: name,
|
|
375
|
-
value: value
|
|
376
|
-
}));
|
|
420
|
+
throw Error("Unhandled value for \"".concat(name, "\""));
|
|
377
421
|
}
|
|
378
422
|
});
|
|
379
|
-
return {
|
|
380
|
-
group: group
|
|
423
|
+
return _objectSpread$7(_objectSpread$7(_objectSpread$7({}, groupAttributes), group.length > 0 ? {
|
|
424
|
+
group: group
|
|
425
|
+
} : {}), field.length > 0 ? {
|
|
381
426
|
field: field
|
|
382
|
-
};
|
|
427
|
+
} : {});
|
|
383
428
|
};
|
|
384
429
|
|
|
385
430
|
var parseTimespan$1 = function parseTimespan() {
|
|
386
431
|
var timespan = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
387
432
|
|
|
388
|
-
var
|
|
389
|
-
|
|
390
|
-
start =
|
|
391
|
-
|
|
392
|
-
end =
|
|
393
|
-
|
|
433
|
+
var _ref3 = timespan || {},
|
|
434
|
+
_ref3$start = _ref3.start,
|
|
435
|
+
start = _ref3$start === void 0 ? '-INF' : _ref3$start,
|
|
436
|
+
_ref3$end = _ref3.end,
|
|
437
|
+
end = _ref3$end === void 0 ? '+INF' : _ref3$end,
|
|
438
|
+
groupsAndFields = _objectWithoutProperties__default["default"](_ref3, _excluded2$2);
|
|
394
439
|
|
|
395
|
-
var
|
|
396
|
-
group =
|
|
397
|
-
field =
|
|
440
|
+
var _parseGroupsAndFields = parseGroupsAndFields(groupsAndFields),
|
|
441
|
+
group = _parseGroupsAndFields.group,
|
|
442
|
+
field = _parseGroupsAndFields.field;
|
|
398
443
|
|
|
399
|
-
return {
|
|
400
|
-
start: start,
|
|
401
|
-
end: end,
|
|
402
|
-
field: field,
|
|
444
|
+
return _objectSpread$7(_objectSpread$7(_objectSpread$7({}, group ? {
|
|
403
445
|
group: group
|
|
404
|
-
}
|
|
446
|
+
} : {}), field ? {
|
|
447
|
+
field: field
|
|
448
|
+
} : {}), {}, {
|
|
449
|
+
start: start,
|
|
450
|
+
end: end
|
|
451
|
+
});
|
|
405
452
|
};
|
|
406
453
|
/**
|
|
407
454
|
* Create a MetadataType object from a metadata object
|
|
408
|
-
*
|
|
455
|
+
*
|
|
456
|
+
* @param {Object} metadata - object with metadata to create MetadataType object of
|
|
409
457
|
* @returns {Object} MetadataType
|
|
410
458
|
*/
|
|
411
459
|
|
|
412
460
|
|
|
413
461
|
var createMetadataType = function createMetadataType() {
|
|
414
462
|
var metadata = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
});
|
|
421
|
-
} else {
|
|
422
|
-
var genericTimespan = parseTimespan$1(metadata);
|
|
423
|
-
metadataType.timespan = [genericTimespan];
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
return metadataType;
|
|
463
|
+
return {
|
|
464
|
+
timespan: (Array.isArray(metadata) ? metadata : [metadata]).map(function (t) {
|
|
465
|
+
return parseTimespan$1(t);
|
|
466
|
+
})
|
|
467
|
+
};
|
|
427
468
|
};
|
|
428
469
|
|
|
429
470
|
var sortTimespanList = function sortTimespanList(timespan1, timespan2) {
|
|
@@ -859,13 +900,13 @@ var parseHighlightTimespan = function parseHighlightTimespan() {
|
|
|
859
900
|
start = _ref.start,
|
|
860
901
|
end = _ref.end;
|
|
861
902
|
|
|
862
|
-
var
|
|
863
|
-
var
|
|
864
|
-
arrayOnSingle =
|
|
865
|
-
|
|
866
|
-
joinValue =
|
|
867
|
-
|
|
868
|
-
timespanAsList =
|
|
903
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
904
|
+
var _options$arrayOnSingl = options.arrayOnSingle,
|
|
905
|
+
arrayOnSingle = _options$arrayOnSingl === void 0 ? true : _options$arrayOnSingl,
|
|
906
|
+
_options$joinValue = options.joinValue,
|
|
907
|
+
joinValue = _options$joinValue === void 0 ? undefined : _options$joinValue,
|
|
908
|
+
_options$timespanAsLi = options.timespanAsList,
|
|
909
|
+
timespanAsList = _options$timespanAsLi === void 0 ? undefined : _options$timespanAsLi;
|
|
869
910
|
var initialValue = timespanAsList ? {
|
|
870
911
|
start: start,
|
|
871
912
|
end: end
|
|
@@ -923,27 +964,28 @@ var parseHighlightTimespanList = function parseHighlightTimespanList() {
|
|
|
923
964
|
}, {});
|
|
924
965
|
};
|
|
925
966
|
|
|
926
|
-
var
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
}
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
}
|
|
967
|
+
var CONSTANT_TIMEBASES = {
|
|
968
|
+
PAL: {
|
|
969
|
+
denominator: 25,
|
|
970
|
+
numerator: 1
|
|
971
|
+
},
|
|
972
|
+
NTSC: {
|
|
973
|
+
denominator: 30000,
|
|
974
|
+
numerator: 1001
|
|
975
|
+
},
|
|
976
|
+
NTSC30: {
|
|
977
|
+
denominator: 30,
|
|
978
|
+
numerator: 1
|
|
979
|
+
},
|
|
980
|
+
29.97: {
|
|
981
|
+
denominator: 30000,
|
|
982
|
+
numerator: 1001
|
|
983
|
+
},
|
|
984
|
+
59.94: {
|
|
985
|
+
denominator: 60000,
|
|
986
|
+
numerator: 1001
|
|
987
|
+
}
|
|
988
|
+
};
|
|
947
989
|
var FRAME_SEPARATORS = {
|
|
948
990
|
':': {
|
|
949
991
|
dropFrame: false,
|
|
@@ -963,96 +1005,13 @@ var FRAME_SEPARATORS = {
|
|
|
963
1005
|
}
|
|
964
1006
|
};
|
|
965
1007
|
|
|
966
|
-
function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
967
|
-
|
|
968
|
-
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
969
|
-
|
|
970
|
-
var splitSmpte = function splitSmpte(smpteText) {
|
|
971
|
-
var hasDropFrameSeparator = smpteText.match(/[^0-9:\-_]/);
|
|
972
|
-
var hhmmssff;
|
|
973
|
-
var frameOptions = {};
|
|
974
|
-
|
|
975
|
-
if (hasDropFrameSeparator) {
|
|
976
|
-
var _hasDropFrameSeparato = _slicedToArray__default["default"](hasDropFrameSeparator, 1),
|
|
977
|
-
frameSeparator = _hasDropFrameSeparato[0];
|
|
978
|
-
|
|
979
|
-
var _smpteText$split = smpteText.split(frameSeparator),
|
|
980
|
-
_smpteText$split2 = _slicedToArray__default["default"](_smpteText$split, 2),
|
|
981
|
-
hhmmss = _smpteText$split2[0],
|
|
982
|
-
splitFrames = _smpteText$split2[1];
|
|
983
|
-
|
|
984
|
-
hhmmssff = [].concat(_toConsumableArray__default["default"](hhmmss.split(':')), [splitFrames]);
|
|
985
|
-
frameOptions = FRAME_SEPARATORS[frameSeparator] || {};
|
|
986
|
-
} else {
|
|
987
|
-
hhmmssff = smpteText.split(':');
|
|
988
|
-
}
|
|
989
|
-
|
|
990
|
-
hhmmssff = hhmmssff.map(Number);
|
|
991
|
-
|
|
992
|
-
if (hhmmssff.length > 4 || hhmmssff.some(function (n) {
|
|
993
|
-
return Number.isNaN(n);
|
|
994
|
-
})) {
|
|
995
|
-
throw new Error('Invalid SMPTE timecode');
|
|
996
|
-
}
|
|
997
|
-
|
|
998
|
-
return [hhmmssff, frameOptions];
|
|
999
|
-
};
|
|
1000
|
-
|
|
1001
|
-
var getDropFrames = function getDropFrames(roundedFrameRate) {
|
|
1002
|
-
return roundedFrameRate === 60 ? 4 : 2;
|
|
1003
|
-
};
|
|
1004
|
-
|
|
1005
|
-
var getRoundedFrameRate = function getRoundedFrameRate(timeBase) {
|
|
1006
|
-
return Math.round(timeBase.denominator / timeBase.numerator);
|
|
1007
|
-
};
|
|
1008
|
-
|
|
1009
|
-
var countSamples = function countSamples(hh, mm, ss, ff, _ref) {
|
|
1010
|
-
var dropFrame = _ref.dropFrame,
|
|
1011
|
-
roundedFrameRate = _ref.roundedFrameRate;
|
|
1012
|
-
|
|
1013
|
-
if (!dropFrame) {
|
|
1014
|
-
return hh * 3600 * roundedFrameRate + mm * 60 * roundedFrameRate + ss * roundedFrameRate + ff;
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
|
-
if (![30, 60].includes(roundedFrameRate)) {
|
|
1018
|
-
throw new Error('Cannot use dropframe with non NTSC timebase');
|
|
1019
|
-
}
|
|
1020
|
-
|
|
1021
|
-
var dropFrames = getDropFrames(roundedFrameRate);
|
|
1022
|
-
var shouldDropMinute = mm % 10 !== 0;
|
|
1023
|
-
var shouldDropSecond = shouldDropMinute && ss === 0;
|
|
1024
|
-
var hourFrames = hh * (3600 * roundedFrameRate - 54 * dropFrames);
|
|
1025
|
-
var minuteFrames = mm * 60 * roundedFrameRate - (mm - Math.ceil(mm / 10)) * dropFrames;
|
|
1026
|
-
var secondFrames = ss * roundedFrameRate - (shouldDropMinute && ss > 1 ? dropFrames : 0);
|
|
1027
|
-
|
|
1028
|
-
if (shouldDropSecond && ff < dropFrames) {
|
|
1029
|
-
throw new Error('Invalid ff');
|
|
1030
|
-
}
|
|
1031
|
-
|
|
1032
|
-
var frameFrames = shouldDropSecond ? ff - dropFrames : ff;
|
|
1033
|
-
return hourFrames + minuteFrames + secondFrames + frameFrames;
|
|
1034
|
-
};
|
|
1035
|
-
|
|
1036
|
-
function countDroppedFrames(frames, roundedFrameRate) {
|
|
1037
|
-
var dropFrames = getDropFrames(roundedFrameRate);
|
|
1038
|
-
var oneMinuteUndroppedFrames = 60 * roundedFrameRate;
|
|
1039
|
-
var oneMinuteDroppedFrames = 60 * roundedFrameRate - dropFrames;
|
|
1040
|
-
var tenMinuteFrames = 10 * (oneMinuteUndroppedFrames - dropFrames) + dropFrames;
|
|
1041
|
-
var tenMinuteChunks = Math.floor(frames / tenMinuteFrames);
|
|
1042
|
-
var minuteRemainder = Math.max(0, frames % tenMinuteFrames - oneMinuteUndroppedFrames);
|
|
1043
|
-
var oneMinuteChunks = Math.floor(minuteRemainder / oneMinuteDroppedFrames);
|
|
1044
|
-
var frameRemainder = minuteRemainder % oneMinuteDroppedFrames;
|
|
1045
|
-
var frameChunks = frameRemainder > 0 ? dropFrames : 0;
|
|
1046
|
-
return tenMinuteChunks * 9 * dropFrames + oneMinuteChunks * dropFrames + frameChunks;
|
|
1047
|
-
}
|
|
1048
|
-
|
|
1049
1008
|
var TimeBase = /*#__PURE__*/function () {
|
|
1050
1009
|
function TimeBase() {
|
|
1051
|
-
var
|
|
1052
|
-
|
|
1053
|
-
numerator =
|
|
1054
|
-
|
|
1055
|
-
denominator =
|
|
1010
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1011
|
+
_ref$numerator = _ref.numerator,
|
|
1012
|
+
numerator = _ref$numerator === void 0 ? 1 : _ref$numerator,
|
|
1013
|
+
_ref$denominator = _ref.denominator,
|
|
1014
|
+
denominator = _ref$denominator === void 0 ? 1 : _ref$denominator;
|
|
1056
1015
|
|
|
1057
1016
|
_classCallCheck__default["default"](this, TimeBase);
|
|
1058
1017
|
|
|
@@ -1136,23 +1095,94 @@ var TimeBase = /*#__PURE__*/function () {
|
|
|
1136
1095
|
return TimeBase;
|
|
1137
1096
|
}();
|
|
1138
1097
|
|
|
1139
|
-
var
|
|
1140
|
-
|
|
1141
|
-
|
|
1098
|
+
var formatTimeBaseType = function formatTimeBaseType(timeBase) {
|
|
1099
|
+
return new TimeBase(timeBase);
|
|
1100
|
+
};
|
|
1101
|
+
|
|
1102
|
+
var formatTimeBaseText = function formatTimeBaseText(timeBaseText) {
|
|
1103
|
+
if (timeBaseText === undefined) {
|
|
1104
|
+
return formatTimeBaseType();
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
if (typeof timeBaseText === 'number') {
|
|
1108
|
+
return formatTimeBaseType({
|
|
1109
|
+
denominator: timeBaseText
|
|
1110
|
+
});
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
if (timeBaseText.includes(':')) {
|
|
1114
|
+
var _timeBaseText$split = timeBaseText.split(':'),
|
|
1115
|
+
_timeBaseText$split2 = _slicedToArray__default["default"](_timeBaseText$split, 2),
|
|
1116
|
+
_denominator = _timeBaseText$split2[0],
|
|
1117
|
+
numerator = _timeBaseText$split2[1];
|
|
1118
|
+
|
|
1119
|
+
return formatTimeBaseType({
|
|
1120
|
+
denominator: _denominator,
|
|
1121
|
+
numerator: numerator
|
|
1122
|
+
});
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
if (Object.keys(CONSTANT_TIMEBASES).includes(timeBaseText)) {
|
|
1126
|
+
return formatTimeBaseType(CONSTANT_TIMEBASES[timeBaseText]);
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
var denominator = Number(timeBaseText);
|
|
1130
|
+
|
|
1131
|
+
if (Number.isNaN(denominator)) {
|
|
1132
|
+
throw new Error("timeBaseText must be a number or ".concat(Object.keys(CONSTANT_TIMEBASES).join(','), " - is ").concat(timeBaseText));
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
return formatTimeBaseType({
|
|
1136
|
+
denominator: denominator
|
|
1137
|
+
});
|
|
1138
|
+
};
|
|
1139
|
+
|
|
1140
|
+
var formatTimeBase = function formatTimeBase(timeBase) {
|
|
1141
|
+
if (_typeof__default["default"](timeBase) === 'object') {
|
|
1142
|
+
return formatTimeBaseType(timeBase);
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1145
|
+
return formatTimeBaseText(timeBase);
|
|
1146
|
+
};
|
|
1147
|
+
|
|
1148
|
+
var getDropFrames$1 = function getDropFrames(roundedFrameRate) {
|
|
1149
|
+
return roundedFrameRate === 60 ? 4 : 2;
|
|
1150
|
+
};
|
|
1151
|
+
|
|
1152
|
+
var getRoundedFrameRate$1 = function getRoundedFrameRate(timeBase) {
|
|
1153
|
+
return Math.round(timeBase.denominator / timeBase.numerator);
|
|
1154
|
+
};
|
|
1155
|
+
|
|
1156
|
+
function countDroppedFrames(frames, roundedFrameRate) {
|
|
1157
|
+
var dropFrames = getDropFrames$1(roundedFrameRate);
|
|
1158
|
+
var oneMinuteUndroppedFrames = 60 * roundedFrameRate;
|
|
1159
|
+
var oneMinuteDroppedFrames = 60 * roundedFrameRate - dropFrames;
|
|
1160
|
+
var tenMinuteFrames = 10 * (oneMinuteUndroppedFrames - dropFrames) + dropFrames;
|
|
1161
|
+
var tenMinuteChunks = Math.floor(frames / tenMinuteFrames);
|
|
1162
|
+
var minuteRemainder = Math.max(0, frames % tenMinuteFrames - oneMinuteUndroppedFrames);
|
|
1163
|
+
var oneMinuteChunks = Math.floor(minuteRemainder / oneMinuteDroppedFrames);
|
|
1164
|
+
var frameRemainder = minuteRemainder % oneMinuteDroppedFrames;
|
|
1165
|
+
var frameChunks = frameRemainder > 0 ? dropFrames : 0;
|
|
1166
|
+
return tenMinuteChunks * 9 * dropFrames + oneMinuteChunks * dropFrames + frameChunks;
|
|
1167
|
+
}
|
|
1168
|
+
|
|
1169
|
+
var isDropFrameTimeBase = function isDropFrameTimeBase(_ref) {
|
|
1170
|
+
var numerator = _ref.numerator,
|
|
1171
|
+
denominator = _ref.denominator;
|
|
1142
1172
|
return numerator === 1001 && (denominator === 60000 || denominator === 30000);
|
|
1143
1173
|
};
|
|
1144
1174
|
|
|
1145
1175
|
var TimeCode = /*#__PURE__*/function () {
|
|
1146
1176
|
function TimeCode() {
|
|
1147
|
-
var
|
|
1148
|
-
|
|
1149
|
-
samples =
|
|
1150
|
-
timeBase =
|
|
1177
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1178
|
+
_ref2$samples = _ref2.samples,
|
|
1179
|
+
samples = _ref2$samples === void 0 ? 0 : _ref2$samples,
|
|
1180
|
+
timeBase = _ref2.timeBase;
|
|
1151
1181
|
|
|
1152
|
-
var
|
|
1153
|
-
dropFrame =
|
|
1154
|
-
|
|
1155
|
-
field =
|
|
1182
|
+
var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
1183
|
+
dropFrame = _ref3.dropFrame,
|
|
1184
|
+
_ref3$field = _ref3.field,
|
|
1185
|
+
field = _ref3$field === void 0 ? 2 : _ref3$field;
|
|
1156
1186
|
|
|
1157
1187
|
_classCallCheck__default["default"](this, TimeCode);
|
|
1158
1188
|
|
|
@@ -1260,7 +1290,7 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1260
1290
|
}, {
|
|
1261
1291
|
key: "toTime",
|
|
1262
1292
|
value: function toTime() {
|
|
1263
|
-
var roundedFrameRate = getRoundedFrameRate(this.timeBase);
|
|
1293
|
+
var roundedFrameRate = getRoundedFrameRate$1(this.timeBase);
|
|
1264
1294
|
var totalSamples = this.samples + (this.dropFrame ? countDroppedFrames(this.samples + 1, roundedFrameRate) : 0);
|
|
1265
1295
|
var hours = Math.floor(totalSamples / (3600 * roundedFrameRate));
|
|
1266
1296
|
var minutes = Math.floor(totalSamples / (60 * roundedFrameRate)) % 60;
|
|
@@ -1278,8 +1308,8 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1278
1308
|
}, {
|
|
1279
1309
|
key: "toDuration",
|
|
1280
1310
|
value: function toDuration() {
|
|
1281
|
-
var
|
|
1282
|
-
format =
|
|
1311
|
+
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1312
|
+
format = _ref4.format;
|
|
1283
1313
|
|
|
1284
1314
|
var _this$toTime = this.toTime(),
|
|
1285
1315
|
hours = _this$toTime.hours,
|
|
@@ -1305,7 +1335,7 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1305
1335
|
}, {
|
|
1306
1336
|
key: "toSmpte",
|
|
1307
1337
|
value: function toSmpte() {
|
|
1308
|
-
var
|
|
1338
|
+
var _this = this;
|
|
1309
1339
|
|
|
1310
1340
|
if (this.samples === -Infinity) return '00:00:00:00';
|
|
1311
1341
|
|
|
@@ -1323,7 +1353,7 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1323
1353
|
dropFrame = _thisSeparator$.dropFrame,
|
|
1324
1354
|
field = _thisSeparator$.field;
|
|
1325
1355
|
|
|
1326
|
-
return dropFrame ===
|
|
1356
|
+
return dropFrame === _this.dropFrame && field === _this.field;
|
|
1327
1357
|
}),
|
|
1328
1358
|
_Object$entries$find2 = _slicedToArray__default["default"](_Object$entries$find, 1),
|
|
1329
1359
|
_Object$entries$find3 = _Object$entries$find2[0],
|
|
@@ -1341,56 +1371,6 @@ var TimeCode = /*#__PURE__*/function () {
|
|
|
1341
1371
|
return TimeCode;
|
|
1342
1372
|
}();
|
|
1343
1373
|
|
|
1344
|
-
var formatTimeBaseType = function formatTimeBaseType(timeBase) {
|
|
1345
|
-
return new TimeBase(timeBase);
|
|
1346
|
-
};
|
|
1347
|
-
|
|
1348
|
-
var formatTimeBaseText = function formatTimeBaseText(timeBaseText) {
|
|
1349
|
-
if (timeBaseText === undefined) {
|
|
1350
|
-
return formatTimeBaseType();
|
|
1351
|
-
}
|
|
1352
|
-
|
|
1353
|
-
if (typeof timeBaseText === 'number') {
|
|
1354
|
-
return formatTimeBaseType({
|
|
1355
|
-
denominator: timeBaseText
|
|
1356
|
-
});
|
|
1357
|
-
}
|
|
1358
|
-
|
|
1359
|
-
if (timeBaseText.includes(':')) {
|
|
1360
|
-
var _timeBaseText$split = timeBaseText.split(':'),
|
|
1361
|
-
_timeBaseText$split2 = _slicedToArray__default["default"](_timeBaseText$split, 2),
|
|
1362
|
-
_denominator = _timeBaseText$split2[0],
|
|
1363
|
-
numerator = _timeBaseText$split2[1];
|
|
1364
|
-
|
|
1365
|
-
return formatTimeBaseType({
|
|
1366
|
-
denominator: _denominator,
|
|
1367
|
-
numerator: numerator
|
|
1368
|
-
});
|
|
1369
|
-
}
|
|
1370
|
-
|
|
1371
|
-
if (Object.keys(CONSTANT_TIMEBASES).includes(timeBaseText)) {
|
|
1372
|
-
return formatTimeBaseType(CONSTANT_TIMEBASES[timeBaseText]);
|
|
1373
|
-
}
|
|
1374
|
-
|
|
1375
|
-
var denominator = Number(timeBaseText);
|
|
1376
|
-
|
|
1377
|
-
if (Number.isNaN(denominator)) {
|
|
1378
|
-
throw new Error("timeBaseText must be a number or ".concat(Object.keys(CONSTANT_TIMEBASES).join(','), " - is ").concat(timeBaseText));
|
|
1379
|
-
}
|
|
1380
|
-
|
|
1381
|
-
return formatTimeBaseType({
|
|
1382
|
-
denominator: denominator
|
|
1383
|
-
});
|
|
1384
|
-
};
|
|
1385
|
-
|
|
1386
|
-
var formatTimeBase = function formatTimeBase(timeBase) {
|
|
1387
|
-
if (_typeof__default["default"](timeBase) === 'object') {
|
|
1388
|
-
return formatTimeBaseType(timeBase);
|
|
1389
|
-
}
|
|
1390
|
-
|
|
1391
|
-
return formatTimeBaseText(timeBase);
|
|
1392
|
-
};
|
|
1393
|
-
|
|
1394
1374
|
var formatTimeCodeType = function formatTimeCodeType(timeCode, options) {
|
|
1395
1375
|
return new TimeCode(timeCode, options);
|
|
1396
1376
|
};
|
|
@@ -1460,11 +1440,11 @@ var formatSeconds = function formatSeconds(seconds, timeBase, options) {
|
|
|
1460
1440
|
throw new Error("seconds must be digits, is ".concat(seconds));
|
|
1461
1441
|
}
|
|
1462
1442
|
|
|
1463
|
-
var
|
|
1464
|
-
|
|
1465
|
-
denominator =
|
|
1466
|
-
|
|
1467
|
-
numerator =
|
|
1443
|
+
var _ref = timeBase || {},
|
|
1444
|
+
_ref$denominator = _ref.denominator,
|
|
1445
|
+
denominator = _ref$denominator === void 0 ? 1 : _ref$denominator,
|
|
1446
|
+
_ref$numerator = _ref.numerator,
|
|
1447
|
+
numerator = _ref$numerator === void 0 ? 1 : _ref$numerator;
|
|
1468
1448
|
|
|
1469
1449
|
var samples = seconds * (denominator / numerator);
|
|
1470
1450
|
var timeCode = {
|
|
@@ -1479,13 +1459,13 @@ var formatSecondsPrecise = function formatSecondsPrecise(seconds, timeBase, opti
|
|
|
1479
1459
|
throw new Error("seconds must be digits, is ".concat(seconds));
|
|
1480
1460
|
}
|
|
1481
1461
|
|
|
1482
|
-
var
|
|
1483
|
-
|
|
1484
|
-
numerator =
|
|
1462
|
+
var _ref = timeBase || {},
|
|
1463
|
+
_ref$numerator = _ref.numerator,
|
|
1464
|
+
numerator = _ref$numerator === void 0 ? 1 : _ref$numerator;
|
|
1485
1465
|
|
|
1486
|
-
var
|
|
1487
|
-
|
|
1488
|
-
denominator =
|
|
1466
|
+
var _ref2 = timeBase || {},
|
|
1467
|
+
_ref2$denominator = _ref2.denominator,
|
|
1468
|
+
denominator = _ref2$denominator === void 0 ? 1 : _ref2$denominator;
|
|
1489
1469
|
|
|
1490
1470
|
if (!Number.isInteger(seconds)) {
|
|
1491
1471
|
var decimalPlaces = String(seconds).split('.')[1].length;
|
|
@@ -1503,17 +1483,87 @@ var formatSecondsPrecise = function formatSecondsPrecise(seconds, timeBase, opti
|
|
|
1503
1483
|
return new TimeCode(timeCode, options);
|
|
1504
1484
|
};
|
|
1505
1485
|
|
|
1486
|
+
function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1487
|
+
|
|
1488
|
+
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1489
|
+
|
|
1490
|
+
var getDropFrames = function getDropFrames(roundedFrameRate) {
|
|
1491
|
+
return roundedFrameRate === 60 ? 4 : 2;
|
|
1492
|
+
};
|
|
1493
|
+
|
|
1494
|
+
var getRoundedFrameRate = function getRoundedFrameRate(timeBase) {
|
|
1495
|
+
return Math.round(timeBase.denominator / timeBase.numerator);
|
|
1496
|
+
};
|
|
1497
|
+
|
|
1498
|
+
var splitSmpte = function splitSmpte(smpteText) {
|
|
1499
|
+
var hasDropFrameSeparator = smpteText.match(/[^0-9:\-_]/);
|
|
1500
|
+
var hhmmssff;
|
|
1501
|
+
var frameOptions = {};
|
|
1502
|
+
|
|
1503
|
+
if (hasDropFrameSeparator) {
|
|
1504
|
+
var _hasDropFrameSeparato = _slicedToArray__default["default"](hasDropFrameSeparator, 1),
|
|
1505
|
+
frameSeparator = _hasDropFrameSeparato[0];
|
|
1506
|
+
|
|
1507
|
+
var _smpteText$split = smpteText.split(frameSeparator),
|
|
1508
|
+
_smpteText$split2 = _slicedToArray__default["default"](_smpteText$split, 2),
|
|
1509
|
+
hhmmss = _smpteText$split2[0],
|
|
1510
|
+
splitFrames = _smpteText$split2[1];
|
|
1511
|
+
|
|
1512
|
+
hhmmssff = [].concat(_toConsumableArray__default["default"](hhmmss.split(':')), [splitFrames]);
|
|
1513
|
+
frameOptions = FRAME_SEPARATORS[frameSeparator] || {};
|
|
1514
|
+
} else {
|
|
1515
|
+
hhmmssff = smpteText.split(':');
|
|
1516
|
+
}
|
|
1517
|
+
|
|
1518
|
+
hhmmssff = hhmmssff.map(Number);
|
|
1519
|
+
|
|
1520
|
+
if (hhmmssff.length > 4 || hhmmssff.some(function (n) {
|
|
1521
|
+
return Number.isNaN(n);
|
|
1522
|
+
})) {
|
|
1523
|
+
throw new Error('Invalid SMPTE timecode');
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
return [hhmmssff, frameOptions];
|
|
1527
|
+
};
|
|
1528
|
+
|
|
1529
|
+
var countSamples = function countSamples(hh, mm, ss, ff, _ref) {
|
|
1530
|
+
var dropFrame = _ref.dropFrame,
|
|
1531
|
+
roundedFrameRate = _ref.roundedFrameRate;
|
|
1532
|
+
|
|
1533
|
+
if (!dropFrame) {
|
|
1534
|
+
return hh * 3600 * roundedFrameRate + mm * 60 * roundedFrameRate + ss * roundedFrameRate + ff;
|
|
1535
|
+
}
|
|
1536
|
+
|
|
1537
|
+
if (![30, 60].includes(roundedFrameRate)) {
|
|
1538
|
+
throw new Error('Cannot use dropframe with non NTSC timebase');
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
var dropFrames = getDropFrames(roundedFrameRate);
|
|
1542
|
+
var shouldDropMinute = mm % 10 !== 0;
|
|
1543
|
+
var shouldDropSecond = shouldDropMinute && ss === 0;
|
|
1544
|
+
var hourFrames = hh * (3600 * roundedFrameRate - 54 * dropFrames);
|
|
1545
|
+
var minuteFrames = mm * 60 * roundedFrameRate - (mm - Math.ceil(mm / 10)) * dropFrames;
|
|
1546
|
+
var secondFrames = ss * roundedFrameRate - (shouldDropMinute && ss > 1 ? dropFrames : 0);
|
|
1547
|
+
|
|
1548
|
+
if (shouldDropSecond && ff < dropFrames) {
|
|
1549
|
+
throw new Error('Invalid ff');
|
|
1550
|
+
}
|
|
1551
|
+
|
|
1552
|
+
var frameFrames = shouldDropSecond ? ff - dropFrames : ff;
|
|
1553
|
+
return hourFrames + minuteFrames + secondFrames + frameFrames;
|
|
1554
|
+
};
|
|
1555
|
+
|
|
1506
1556
|
var formatSmpte = function formatSmpte(smpteText, timeBaseText) {
|
|
1507
1557
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
1508
1558
|
|
|
1509
1559
|
if (smpteText === undefined) {
|
|
1510
1560
|
var _timeBase = formatTimeBase(timeBaseText);
|
|
1511
1561
|
|
|
1512
|
-
var
|
|
1562
|
+
var _timeCode = {
|
|
1513
1563
|
samples: 0,
|
|
1514
1564
|
timeBase: _timeBase
|
|
1515
1565
|
};
|
|
1516
|
-
return formatTimeCodeType(
|
|
1566
|
+
return formatTimeCodeType(_timeCode);
|
|
1517
1567
|
}
|
|
1518
1568
|
|
|
1519
1569
|
if (typeof smpteText !== 'string') {
|
|
@@ -1575,7 +1625,7 @@ function timeToCueTime(_ref) {
|
|
|
1575
1625
|
*/
|
|
1576
1626
|
|
|
1577
1627
|
|
|
1578
|
-
function metadataTypeToWebVtt(_ref2) {
|
|
1628
|
+
var metadataTypeToWebVtt = function metadataTypeToWebVtt(_ref2) {
|
|
1579
1629
|
var metadataType = _ref2.metadataType,
|
|
1580
1630
|
_ref2$subtitleGroup = _ref2.subtitleGroup,
|
|
1581
1631
|
subtitleGroup = _ref2$subtitleGroup === void 0 ? 'stl_subtitle' : _ref2$subtitleGroup,
|
|
@@ -1611,7 +1661,10 @@ function metadataTypeToWebVtt(_ref2) {
|
|
|
1611
1661
|
return "".concat(start, " --> ").concat(end, " line:0%\r").concat(text, "\r");
|
|
1612
1662
|
});
|
|
1613
1663
|
return "WEBVTT\n\n\n".concat(vttCues.join('\n'));
|
|
1614
|
-
}
|
|
1664
|
+
};
|
|
1665
|
+
|
|
1666
|
+
var SYSTEM_FIELDGROUPS = ['stl_subtitle', 'stl_tti', 'stl_gsi', 'mrk_marker', 'pho_validation', 'pho_resource', 'pho_error', 'facedetect_rect', 'facedetect_face', 'originalTrackFilename', 'stl_gsiHeader'];
|
|
1667
|
+
var SYSTEM_FIELDS = ['title', 'user', 'shapeTag', 'representativeThumbnail', 'representativeThumbnailNoAuth', 'representativeItems', 'itemId', 'collectionId', 'mediaType', 'mimeType', 'created', 'startTimeCode', 'startSeconds', 'fieldValidationError', 'schemaValidationError', 'originalFilename', 'originalUri', 'originalAudioCodec', 'originalVideoCodec', 'originalHeight', 'originalWidth', 'originalFormat', 'durationSeconds', 'durationTimeCode', 'solr-index', '__user', '__collection', '__collection_size', '__ancestor_collection', '__ancestor_collection_size', '__shape', '__shape_size', '__shape_last_added', '__placeholder_shape_size', '__version', '__version_count', '__storage', '__storage_size', '__shapetag_{tag}_hash_{hash}', '__storage_{tag}', '__storage_{tag}_size', '__storagegroup', '__storagegroup_size', '__sequence', '__sequence_size', '__metadata_last_modified', '__external_id', '__deletion_lock_id', '__deletion_lock_expiry', '__child_collection', '__child_collection_size', '__parent_collection', '__parent_collection_size', '__items_size', 'stl_text', 'stl_justification', 'stl_xrelative', 'stl_yrelative', 'stl_vertical', 'stl_verticalbase', 'stl_horizontalbase', 'stl_sizerelative', 'stl_color', 'stl_outline', 'stl_outlinecolor', 'stl_outlinesize', 'stl_font', 'stl_service', 'stl_tti', 'stl_gsi', 'cct', 'tcd', 'tcf', 'oet', 'cd', 'mnc', 'cpn', 'dfc', 'tcp', 'tcs', 'tet', 'tnb', 'tnd', 'en', 'co', 'tng', 'rd', 'mnr', 'dsc', 'opt', 'lc', 'tpt', 'tn', 'slr', 'tns', 'rn', 'pub', 'dsn', 'ecd', 'mrk_zerolength', 'mrk_text', 'mrk_color', 'pho_resource_name', 'pho_error_level', 'pho_error_code', 'pho_error_description', 'facedetect_rect_width', 'facedetect_rect_height', 'facedetect_rect_y', 'facedetect_rect_x', 'facedetect_pid', 'facedetect_rect', 'trackId', 'eidr_actor', 'eidr_alternateId', 'eidr_countryOfOrigin', 'eidr_director', 'eidr_id', 'eidr_referentType', 'eidr_releaseDate', 'eidr_resourceName', 'eidr_status', 'eidr_sync', 'ttml_div', 'ttml_root', 'vxa_collection_id', 'vxaId', 'vxaLocalPath', 'tco', 'cs', 'ebn', 'tf', 'cf', 'sgn', 'tci', 'jc', 'vp', 'sn'];
|
|
1615
1668
|
|
|
1616
1669
|
var createFacetType = function createFacetType() {
|
|
1617
1670
|
var fieldList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -2072,6 +2125,7 @@ var IMAGE = 'IMAGE';
|
|
|
2072
2125
|
var AUDIO = 'AUDIO';
|
|
2073
2126
|
var VIDEO = 'VIDEO';
|
|
2074
2127
|
var DOCUMENT = 'DOCUMENT';
|
|
2128
|
+
var BINARY = 'BINARY';
|
|
2075
2129
|
var getShapeMediaType = function getShapeMediaType() {
|
|
2076
2130
|
var shapeType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2077
2131
|
var mimeType = shapeType.mimeType,
|
|
@@ -2094,6 +2148,7 @@ var getShapeMediaType = function getShapeMediaType() {
|
|
|
2094
2148
|
if (mimeType.endsWith('/msword')) return DOCUMENT;
|
|
2095
2149
|
if (mimeType.endsWith('/json')) return DOCUMENT;
|
|
2096
2150
|
if (mimeType.endsWith('/xml')) return DOCUMENT;
|
|
2151
|
+
if (mimeType.endsWith('/octet-stream')) return BINARY;
|
|
2097
2152
|
return undefined;
|
|
2098
2153
|
};
|
|
2099
2154
|
|
|
@@ -2311,6 +2366,8 @@ var getDocumentType = function getDocumentType() {
|
|
|
2311
2366
|
return undefined;
|
|
2312
2367
|
};
|
|
2313
2368
|
|
|
2369
|
+
exports.SYSTEM_FIELDGROUPS = SYSTEM_FIELDGROUPS;
|
|
2370
|
+
exports.SYSTEM_FIELDS = SYSTEM_FIELDS;
|
|
2314
2371
|
exports.TimeBase = TimeBase;
|
|
2315
2372
|
exports.TimeCode = TimeCode;
|
|
2316
2373
|
exports.createFacetType = createFacetType;
|