x_ite 9.3.2 → 9.4.0
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/assets/components/Annotation.js +15 -15
- package/dist/assets/components/Annotation.min.js +1 -1
- package/dist/assets/components/CADGeometry.js +14 -14
- package/dist/assets/components/CADGeometry.min.js +1 -1
- package/dist/assets/components/CubeMapTexturing.js +25 -25
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +13 -13
- package/dist/assets/components/DIS.min.js +1 -1
- package/dist/assets/components/EventUtilities.js +9 -9
- package/dist/assets/components/EventUtilities.min.js +1 -1
- package/dist/assets/components/Geometry2D.js +19 -19
- package/dist/assets/components/Geometry2D.min.js +1 -1
- package/dist/assets/components/Geospatial.js +33 -33
- package/dist/assets/components/Geospatial.min.js +1 -1
- package/dist/assets/components/HAnim.js +24 -24
- package/dist/assets/components/HAnim.min.js +1 -1
- package/dist/assets/components/KeyDeviceSensor.js +8 -8
- package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
- package/dist/assets/components/Layout.js +27 -27
- package/dist/assets/components/Layout.min.js +1 -1
- package/dist/assets/components/NURBS.js +23 -23
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +23 -23
- package/dist/assets/components/ParticleSystems.min.js +1 -1
- package/dist/assets/components/Picking.js +18 -18
- package/dist/assets/components/Picking.min.js +1 -1
- package/dist/assets/components/RigidBodyPhysics.js +18 -18
- package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
- package/dist/assets/components/Scripting.js +116 -121
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +24 -24
- package/dist/assets/components/Text.min.js +1 -1
- package/dist/assets/components/TextureProjection.js +17 -17
- package/dist/assets/components/TextureProjection.min.js +1 -1
- package/dist/assets/components/Texturing3D.js +30 -30
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +26 -26
- package/dist/assets/components/VolumeRendering.min.js +1 -1
- package/dist/assets/components/X_ITE.js +8 -8
- package/dist/assets/components/X_ITE.min.js +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.d.ts +3 -0
- package/dist/x_ite.js +1403 -478
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.min.mjs +1 -1
- package/dist/x_ite.mjs +1403 -478
- package/dist/x_ite.zip +0 -0
- package/package.json +4 -4
package/dist/x_ite.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* X_ITE v9.
|
|
1
|
+
/* X_ITE v9.4.0 */(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
2
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
3
3
|
module.exports = factory();
|
|
4
4
|
else if(typeof define === 'function' && define.amd)
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
|
12
12
|
/******/ var __webpack_modules__ = ({
|
|
13
13
|
|
|
14
|
-
/***/
|
|
14
|
+
/***/ 412:
|
|
15
15
|
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
16
16
|
|
|
17
|
-
/* provided dependency */ var jQuery = __webpack_require__(
|
|
17
|
+
/* provided dependency */ var jQuery = __webpack_require__(440);
|
|
18
18
|
/**
|
|
19
19
|
* @preserve jquery.fullscreen 1.1.5
|
|
20
20
|
* https://github.com/code-lts/jquery-fullscreen-plugin
|
|
@@ -210,7 +210,7 @@ installFullScreenHandlers();
|
|
|
210
210
|
|
|
211
211
|
/***/ }),
|
|
212
212
|
|
|
213
|
-
/***/
|
|
213
|
+
/***/ 838:
|
|
214
214
|
/***/ ((module, exports, __webpack_require__) => {
|
|
215
215
|
|
|
216
216
|
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
|
@@ -224,7 +224,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
224
224
|
(function (factory) {
|
|
225
225
|
if ( true ) {
|
|
226
226
|
// AMD. Register as an anonymous module.
|
|
227
|
-
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(
|
|
227
|
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(440)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
|
228
228
|
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
|
229
229
|
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
|
|
230
230
|
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
@@ -435,7 +435,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
435
435
|
|
|
436
436
|
/***/ }),
|
|
437
437
|
|
|
438
|
-
/***/
|
|
438
|
+
/***/ 440:
|
|
439
439
|
/***/ (function(module, exports) {
|
|
440
440
|
|
|
441
441
|
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
|
@@ -11159,7 +11159,7 @@ return jQuery;
|
|
|
11159
11159
|
|
|
11160
11160
|
/***/ }),
|
|
11161
11161
|
|
|
11162
|
-
/***/
|
|
11162
|
+
/***/ 149:
|
|
11163
11163
|
/***/ ((module) => {
|
|
11164
11164
|
|
|
11165
11165
|
/**
|
|
@@ -15938,7 +15938,7 @@ if (true) {
|
|
|
15938
15938
|
|
|
15939
15939
|
/***/ }),
|
|
15940
15940
|
|
|
15941
|
-
/***/
|
|
15941
|
+
/***/ 284:
|
|
15942
15942
|
/***/ (function(__unused_webpack_module, exports) {
|
|
15943
15943
|
|
|
15944
15944
|
|
|
@@ -19183,7 +19183,7 @@ if (true) {
|
|
|
19183
19183
|
|
|
19184
19184
|
/***/ }),
|
|
19185
19185
|
|
|
19186
|
-
/***/
|
|
19186
|
+
/***/ 27:
|
|
19187
19187
|
/***/ (function(module, exports) {
|
|
19188
19188
|
|
|
19189
19189
|
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
|
|
@@ -19692,7 +19692,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
19692
19692
|
tmpCanvas.height = h;
|
|
19693
19693
|
tmpCanvas.style.width = w + 'px';
|
|
19694
19694
|
tmpCanvas.style.height = h + 'px';
|
|
19695
|
-
tmpCanvas.getContext('2d').setTransform(1, 0, 0, 1, 0, 0);
|
|
19695
|
+
tmpCanvas.getContext('2d', { willReadFrequently: true }).setTransform(1, 0, 0, 1, 0, 0);
|
|
19696
19696
|
};
|
|
19697
19697
|
|
|
19698
19698
|
var setFrameOffset = function(frame, offset) {
|
|
@@ -19793,7 +19793,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
19793
19793
|
};
|
|
19794
19794
|
|
|
19795
19795
|
var doImg = function (img) {
|
|
19796
|
-
if (!frame) frame = tmpCanvas.getContext('2d');
|
|
19796
|
+
if (!frame) frame = tmpCanvas.getContext('2d', { willReadFrequently: true });
|
|
19797
19797
|
|
|
19798
19798
|
var currIdx = frames.length;
|
|
19799
19799
|
|
|
@@ -19946,7 +19946,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
19946
19946
|
|
|
19947
19947
|
offset = frameOffsets[i];
|
|
19948
19948
|
|
|
19949
|
-
tmpCanvas.getContext("2d").putImageData(frames[i].data, offset.x, offset.y);
|
|
19949
|
+
tmpCanvas.getContext("2d", { willReadFrequently: true }).putImageData(frames[i].data, offset.x, offset.y);
|
|
19950
19950
|
ctx.globalCompositeOperation = "copy";
|
|
19951
19951
|
ctx.drawImage(tmpCanvas, 0, 0);
|
|
19952
19952
|
};
|
|
@@ -20041,7 +20041,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
20041
20041
|
|
|
20042
20042
|
var div = document.createElement('div');
|
|
20043
20043
|
canvas = document.createElement('canvas');
|
|
20044
|
-
ctx = canvas.getContext('2d');
|
|
20044
|
+
ctx = canvas.getContext('2d', { willReadFrequently: true });
|
|
20045
20045
|
toolbar = document.createElement('div');
|
|
20046
20046
|
|
|
20047
20047
|
tmpCanvas = document.createElement('canvas');
|
|
@@ -20311,7 +20311,7 @@ Object .defineProperty (Namespace, "add",
|
|
|
20311
20311
|
}
|
|
20312
20312
|
else
|
|
20313
20313
|
{
|
|
20314
|
-
const X3D = window [Symbol .for ("X_ITE.X3D-9.
|
|
20314
|
+
const X3D = window [Symbol .for ("X_ITE.X3D-9.4.0")];
|
|
20315
20315
|
|
|
20316
20316
|
if (X3D)
|
|
20317
20317
|
X3D [name] = module;
|
|
@@ -34246,7 +34246,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
|
|
|
34246
34246
|
x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
|
|
34247
34247
|
/* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
|
|
34248
34248
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
|
|
34249
|
-
/* provided dependency */ var $ = __webpack_require__(
|
|
34249
|
+
/* provided dependency */ var $ = __webpack_require__(440);
|
|
34250
34250
|
/*******************************************************************************
|
|
34251
34251
|
*
|
|
34252
34252
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -34383,7 +34383,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
|
|
|
34383
34383
|
*
|
|
34384
34384
|
******************************************************************************/
|
|
34385
34385
|
|
|
34386
|
-
const BROWSER_VERSION_default_ = "9.
|
|
34386
|
+
const BROWSER_VERSION_default_ = "9.4.0";
|
|
34387
34387
|
;
|
|
34388
34388
|
|
|
34389
34389
|
x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSION_default_);
|
|
@@ -38964,7 +38964,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
|
|
|
38964
38964
|
x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
|
|
38965
38965
|
/* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
|
|
38966
38966
|
;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
|
|
38967
|
-
/* provided dependency */ var X3DParser_$ = __webpack_require__(
|
|
38967
|
+
/* provided dependency */ var X3DParser_$ = __webpack_require__(440);
|
|
38968
38968
|
/*******************************************************************************
|
|
38969
38969
|
*
|
|
38970
38970
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -39226,7 +39226,7 @@ const Expressions_default_ = Expressions;
|
|
|
39226
39226
|
x_ite_Namespace .add ("Expressions", "x_ite/Parser/Expressions", Expressions_default_);
|
|
39227
39227
|
/* harmony default export */ const Parser_Expressions = (Expressions_default_);
|
|
39228
39228
|
;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
|
|
39229
|
-
/* provided dependency */ var VRMLParser_$ = __webpack_require__(
|
|
39229
|
+
/* provided dependency */ var VRMLParser_$ = __webpack_require__(440);
|
|
39230
39230
|
/*******************************************************************************
|
|
39231
39231
|
*
|
|
39232
39232
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -41912,7 +41912,7 @@ const VRMLParser_default_ = VRMLParser;
|
|
|
41912
41912
|
x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
|
|
41913
41913
|
/* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
|
|
41914
41914
|
;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
|
|
41915
|
-
/* provided dependency */ var XMLParser_$ = __webpack_require__(
|
|
41915
|
+
/* provided dependency */ var XMLParser_$ = __webpack_require__(440);
|
|
41916
41916
|
/*******************************************************************************
|
|
41917
41917
|
*
|
|
41918
41918
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -44021,7 +44021,7 @@ const URLs_default_ = URLs;
|
|
|
44021
44021
|
x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
|
|
44022
44022
|
/* harmony default export */ const Networking_URLs = (URLs_default_);
|
|
44023
44023
|
;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
|
|
44024
|
-
/* provided dependency */ var GLTF2Parser_$ = __webpack_require__(
|
|
44024
|
+
/* provided dependency */ var GLTF2Parser_$ = __webpack_require__(440);
|
|
44025
44025
|
/*******************************************************************************
|
|
44026
44026
|
*
|
|
44027
44027
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -47322,7 +47322,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
|
|
|
47322
47322
|
x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
|
|
47323
47323
|
/* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
|
|
47324
47324
|
;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
|
|
47325
|
-
/* provided dependency */ var GLB2Parser_$ = __webpack_require__(
|
|
47325
|
+
/* provided dependency */ var GLB2Parser_$ = __webpack_require__(440);
|
|
47326
47326
|
/*******************************************************************************
|
|
47327
47327
|
*
|
|
47328
47328
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -47474,7 +47474,7 @@ const GLB2Parser_default_ = GLB2Parser;
|
|
|
47474
47474
|
x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
|
|
47475
47475
|
/* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
|
|
47476
47476
|
;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
|
|
47477
|
-
/* provided dependency */ var OBJParser_$ = __webpack_require__(
|
|
47477
|
+
/* provided dependency */ var OBJParser_$ = __webpack_require__(440);
|
|
47478
47478
|
/*******************************************************************************
|
|
47479
47479
|
*
|
|
47480
47480
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -50829,8 +50829,8 @@ const MatrixStack_default_ = MatrixStack;
|
|
|
50829
50829
|
x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
|
|
50830
50830
|
/* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
|
|
50831
50831
|
;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
|
|
50832
|
-
/* provided dependency */ var SVGParser_$ = __webpack_require__(
|
|
50833
|
-
/* provided dependency */ var libtess = __webpack_require__(
|
|
50832
|
+
/* provided dependency */ var SVGParser_$ = __webpack_require__(440);
|
|
50833
|
+
/* provided dependency */ var libtess = __webpack_require__(149);
|
|
50834
50834
|
/*******************************************************************************
|
|
50835
50835
|
*
|
|
50836
50836
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -53598,7 +53598,7 @@ const SVGParser_default_ = SVGParser;
|
|
|
53598
53598
|
x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
|
|
53599
53599
|
/* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
|
|
53600
53600
|
;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
|
|
53601
|
-
/* provided dependency */ var GoldenGate_$ = __webpack_require__(
|
|
53601
|
+
/* provided dependency */ var GoldenGate_$ = __webpack_require__(440);
|
|
53602
53602
|
/*******************************************************************************
|
|
53603
53603
|
*
|
|
53604
53604
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -53948,7 +53948,7 @@ const Plane3_default_ = Plane3;
|
|
|
53948
53948
|
x_ite_Namespace .add ("Plane3", "standard/Math/Geometry/Plane3", Plane3_default_);
|
|
53949
53949
|
/* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
|
|
53950
53950
|
;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
|
|
53951
|
-
/* provided dependency */ var Triangle3_libtess = __webpack_require__(
|
|
53951
|
+
/* provided dependency */ var Triangle3_libtess = __webpack_require__(149);
|
|
53952
53952
|
/*******************************************************************************
|
|
53953
53953
|
*
|
|
53954
53954
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -58362,6 +58362,7 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
|
|
|
58362
58362
|
this .addPickableSensorNode (childNode);
|
|
58363
58363
|
break;
|
|
58364
58364
|
}
|
|
58365
|
+
case Base_X3DConstants .ListenerPointSource:
|
|
58365
58366
|
case Base_X3DConstants .Sound:
|
|
58366
58367
|
case Base_X3DConstants .SpatialSound:
|
|
58367
58368
|
case Base_X3DConstants .X3DBackgroundNode:
|
|
@@ -58393,7 +58394,6 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
|
|
|
58393
58394
|
case Base_X3DConstants .NurbsPositionInterpolator:
|
|
58394
58395
|
case Base_X3DConstants .NurbsSurfaceInterpolator:
|
|
58395
58396
|
case Base_X3DConstants .RigidBodyCollection:
|
|
58396
|
-
case Base_X3DConstants .TimeSensor:
|
|
58397
58397
|
case Base_X3DConstants .X3DFollowerNode:
|
|
58398
58398
|
case Base_X3DConstants .X3DInfoNode:
|
|
58399
58399
|
case Base_X3DConstants .X3DInterpolatorNode:
|
|
@@ -58402,6 +58402,7 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
|
|
|
58402
58402
|
case Base_X3DConstants .X3DScriptNode:
|
|
58403
58403
|
case Base_X3DConstants .X3DSequencerNode:
|
|
58404
58404
|
case Base_X3DConstants .X3DSoundNode:
|
|
58405
|
+
case Base_X3DConstants .X3DTimeDependentNode:
|
|
58405
58406
|
case Base_X3DConstants .X3DTriggerNode:
|
|
58406
58407
|
break;
|
|
58407
58408
|
default:
|
|
@@ -58471,6 +58472,7 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
|
|
|
58471
58472
|
this .pickableSensorNodes .delete (childNode);
|
|
58472
58473
|
break;
|
|
58473
58474
|
}
|
|
58475
|
+
case Base_X3DConstants .ListenerPointSource:
|
|
58474
58476
|
case Base_X3DConstants .Sound:
|
|
58475
58477
|
case Base_X3DConstants .SpatialSound:
|
|
58476
58478
|
case Base_X3DConstants .X3DBackgroundNode:
|
|
@@ -58501,7 +58503,6 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
|
|
|
58501
58503
|
case Base_X3DConstants .NurbsPositionInterpolator:
|
|
58502
58504
|
case Base_X3DConstants .NurbsSurfaceInterpolator:
|
|
58503
58505
|
case Base_X3DConstants .RigidBodyCollection:
|
|
58504
|
-
case Base_X3DConstants .TimeSensor:
|
|
58505
58506
|
case Base_X3DConstants .X3DFollowerNode:
|
|
58506
58507
|
case Base_X3DConstants .X3DInfoNode:
|
|
58507
58508
|
case Base_X3DConstants .X3DInterpolatorNode:
|
|
@@ -58510,6 +58511,7 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
|
|
|
58510
58511
|
case Base_X3DConstants .X3DScriptNode:
|
|
58511
58512
|
case Base_X3DConstants .X3DSequencerNode:
|
|
58512
58513
|
case Base_X3DConstants .X3DSoundNode:
|
|
58514
|
+
case Base_X3DConstants .X3DTimeDependentNode:
|
|
58513
58515
|
case Base_X3DConstants .X3DTriggerNode:
|
|
58514
58516
|
break;
|
|
58515
58517
|
default:
|
|
@@ -62439,7 +62441,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
|
|
|
62439
62441
|
x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
|
|
62440
62442
|
/* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
|
|
62441
62443
|
;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
|
|
62442
|
-
/* provided dependency */ var ImageTexture_$ = __webpack_require__(
|
|
62444
|
+
/* provided dependency */ var ImageTexture_$ = __webpack_require__(440);
|
|
62443
62445
|
/*******************************************************************************
|
|
62444
62446
|
*
|
|
62445
62447
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -63677,9 +63679,6 @@ Object .assign (Object .setPrototypeOf (X3DTimeDependentNode .prototype, Core_X3
|
|
|
63677
63679
|
{
|
|
63678
63680
|
this ._isPaused = true;
|
|
63679
63681
|
|
|
63680
|
-
if (this .pauseTimeValue !== this .getBrowser () .getCurrentTime ())
|
|
63681
|
-
this .pauseTimeValue = this .getBrowser () .getCurrentTime ();
|
|
63682
|
-
|
|
63683
63682
|
if (this .getLive () .getValue ())
|
|
63684
63683
|
this .real_pause ();
|
|
63685
63684
|
}
|
|
@@ -63698,9 +63697,6 @@ Object .assign (Object .setPrototypeOf (X3DTimeDependentNode .prototype, Core_X3
|
|
|
63698
63697
|
{
|
|
63699
63698
|
this ._isPaused = false;
|
|
63700
63699
|
|
|
63701
|
-
if (this .resumeTimeValue !== this .getBrowser () .getCurrentTime ())
|
|
63702
|
-
this .resumeTimeValue = this .getBrowser () .getCurrentTime ();
|
|
63703
|
-
|
|
63704
63700
|
if (this .getLive () .getValue ())
|
|
63705
63701
|
this .real_resume ();
|
|
63706
63702
|
}
|
|
@@ -64818,7 +64814,7 @@ Object .assign (Object .setPrototypeOf (X3DViewpointNode .prototype, Core_X3DBin
|
|
|
64818
64814
|
this .timeSensor .setup ();
|
|
64819
64815
|
|
|
64820
64816
|
this .easeInEaseOut ._key = new x_ite_Fields .MFFloat (0, 1);
|
|
64821
|
-
this .easeInEaseOut ._easeInEaseOut = new x_ite_Fields .MFVec2f (new x_ite_Fields .SFVec2f (
|
|
64817
|
+
this .easeInEaseOut ._easeInEaseOut = new x_ite_Fields .MFVec2f (new x_ite_Fields .SFVec2f (), new x_ite_Fields .SFVec2f ());
|
|
64822
64818
|
this .easeInEaseOut .setup ();
|
|
64823
64819
|
|
|
64824
64820
|
this .positionInterpolator ._key = new x_ite_Fields .MFFloat (0, 1);
|
|
@@ -65053,7 +65049,7 @@ Object .assign (Object .setPrototypeOf (X3DViewpointNode .prototype, Core_X3DBin
|
|
|
65053
65049
|
default:
|
|
65054
65050
|
{
|
|
65055
65051
|
// LINEAR
|
|
65056
|
-
this .easeInEaseOut ._easeInEaseOut = new x_ite_Fields .MFVec2f (new x_ite_Fields .SFVec2f (
|
|
65052
|
+
this .easeInEaseOut ._easeInEaseOut = new x_ite_Fields .MFVec2f (new x_ite_Fields .SFVec2f (), new x_ite_Fields .SFVec2f ());
|
|
65057
65053
|
break;
|
|
65058
65054
|
}
|
|
65059
65055
|
}
|
|
@@ -66040,7 +66036,7 @@ const X3DWorld_default_ = X3DWorld;
|
|
|
66040
66036
|
x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
|
|
66041
66037
|
/* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
|
|
66042
66038
|
;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
|
|
66043
|
-
/* provided dependency */ var FileLoader_$ = __webpack_require__(
|
|
66039
|
+
/* provided dependency */ var FileLoader_$ = __webpack_require__(440);
|
|
66044
66040
|
/*******************************************************************************
|
|
66045
66041
|
*
|
|
66046
66042
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -66105,8 +66101,7 @@ function FileLoader (node)
|
|
|
66105
66101
|
|
|
66106
66102
|
this .node = node;
|
|
66107
66103
|
this .browser = node .getBrowser ();
|
|
66108
|
-
this .
|
|
66109
|
-
this .executionContext = this .external ? node .getExecutionContext () : this .browser .currentScene;
|
|
66104
|
+
this .executionContext = node .getExecutionContext ();
|
|
66110
66105
|
this .target = "";
|
|
66111
66106
|
this .url = [ ];
|
|
66112
66107
|
this .URL = new URL (this .getBaseURL ());
|
|
@@ -66128,10 +66123,7 @@ Object .assign (Object .setPrototypeOf (FileLoader .prototype, Base_X3DObject .p
|
|
|
66128
66123
|
getBaseURL ()
|
|
66129
66124
|
{
|
|
66130
66125
|
if (this .node instanceof Execution_X3DWorld)
|
|
66131
|
-
|
|
66132
|
-
if (this .external)
|
|
66133
|
-
return this .browser .getBaseURL ();
|
|
66134
|
-
}
|
|
66126
|
+
return this .browser .getBaseURL ();
|
|
66135
66127
|
|
|
66136
66128
|
return this .executionContext .getBaseURL ();
|
|
66137
66129
|
},
|
|
@@ -66967,7 +66959,7 @@ const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
|
|
|
66967
66959
|
x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
|
|
66968
66960
|
/* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
|
|
66969
66961
|
;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
|
|
66970
|
-
/* provided dependency */ var X3DRoute_$ = __webpack_require__(
|
|
66962
|
+
/* provided dependency */ var X3DRoute_$ = __webpack_require__(440);
|
|
66971
66963
|
/*******************************************************************************
|
|
66972
66964
|
*
|
|
66973
66965
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -68374,9 +68366,14 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
|
|
|
68374
68366
|
},
|
|
68375
68367
|
dispose ()
|
|
68376
68368
|
{
|
|
68377
|
-
for (const route of
|
|
68369
|
+
for (const route of Array .from (this [X3DExecutionContext_routes]))
|
|
68378
68370
|
this .deleteRoute (route);
|
|
68379
68371
|
|
|
68372
|
+
this .externprotos .clear ();
|
|
68373
|
+
this .protos .clear ();
|
|
68374
|
+
this .importedNodes .clear ();
|
|
68375
|
+
this .routes .clear ();
|
|
68376
|
+
|
|
68380
68377
|
Base_X3DBaseNode .prototype .dispose .call (this);
|
|
68381
68378
|
},
|
|
68382
68379
|
});
|
|
@@ -89853,7 +89850,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
|
|
|
89853
89850
|
x_ite_Namespace .add ("X3DShaderNode", "x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
|
|
89854
89851
|
/* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
|
|
89855
89852
|
;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
|
|
89856
|
-
/* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(
|
|
89853
|
+
/* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(440);
|
|
89857
89854
|
/*******************************************************************************
|
|
89858
89855
|
*
|
|
89859
89856
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -95494,7 +95491,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
|
|
|
95494
95491
|
x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
|
|
95495
95492
|
/* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
|
|
95496
95493
|
;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
|
|
95497
|
-
/* provided dependency */ var ShaderPart_$ = __webpack_require__(
|
|
95494
|
+
/* provided dependency */ var ShaderPart_$ = __webpack_require__(440);
|
|
95498
95495
|
/*******************************************************************************
|
|
95499
95496
|
*
|
|
95500
95497
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -96151,7 +96148,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
|
|
|
96151
96148
|
x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
|
|
96152
96149
|
/* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
|
|
96153
96150
|
;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
|
|
96154
|
-
/* provided dependency */ var Appearance_$ = __webpack_require__(
|
|
96151
|
+
/* provided dependency */ var Appearance_$ = __webpack_require__(440);
|
|
96155
96152
|
/*******************************************************************************
|
|
96156
96153
|
*
|
|
96157
96154
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -99570,6 +99567,85 @@ const Components_Shape_default_ = {
|
|
|
99570
99567
|
|
|
99571
99568
|
x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_default_);
|
|
99572
99569
|
/* harmony default export */ const Components_Shape = (Components_Shape_default_);
|
|
99570
|
+
;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundNode.js
|
|
99571
|
+
/*******************************************************************************
|
|
99572
|
+
*
|
|
99573
|
+
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
99574
|
+
*
|
|
99575
|
+
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
|
|
99576
|
+
*
|
|
99577
|
+
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
|
|
99578
|
+
*
|
|
99579
|
+
* The copyright notice above does not evidence any actual of intended
|
|
99580
|
+
* publication of such source code, and is an unpublished work by create3000.
|
|
99581
|
+
* This material contains CONFIDENTIAL INFORMATION that is the property of
|
|
99582
|
+
* create3000.
|
|
99583
|
+
*
|
|
99584
|
+
* No permission is granted to copy, distribute, or create derivative works from
|
|
99585
|
+
* the contents of this software, in whole or in part, without the prior written
|
|
99586
|
+
* permission of create3000.
|
|
99587
|
+
*
|
|
99588
|
+
* NON-MILITARY USE ONLY
|
|
99589
|
+
*
|
|
99590
|
+
* All create3000 software are effectively free software with a non-military use
|
|
99591
|
+
* restriction. It is free. Well commented source is provided. You may reuse the
|
|
99592
|
+
* source in any way you please with the exception anything that uses it must be
|
|
99593
|
+
* marked to indicate is contains 'non-military use only' components.
|
|
99594
|
+
*
|
|
99595
|
+
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
99596
|
+
*
|
|
99597
|
+
* Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
|
|
99598
|
+
*
|
|
99599
|
+
* This file is part of the X_ITE Project.
|
|
99600
|
+
*
|
|
99601
|
+
* X_ITE is free software: you can redistribute it and/or modify it under the
|
|
99602
|
+
* terms of the GNU General Public License version 3 only, as published by the
|
|
99603
|
+
* Free Software Foundation.
|
|
99604
|
+
*
|
|
99605
|
+
* X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
99606
|
+
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
99607
|
+
* A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
|
|
99608
|
+
* details (a copy is included in the LICENSE file that accompanied this code).
|
|
99609
|
+
*
|
|
99610
|
+
* You should have received a copy of the GNU General Public License version 3
|
|
99611
|
+
* along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
|
|
99612
|
+
* copy of the GPLv3 License.
|
|
99613
|
+
*
|
|
99614
|
+
* For Silvio, Joy and Adi.
|
|
99615
|
+
*
|
|
99616
|
+
******************************************************************************/
|
|
99617
|
+
|
|
99618
|
+
|
|
99619
|
+
|
|
99620
|
+
|
|
99621
|
+
function X3DSoundNode (executionContext)
|
|
99622
|
+
{
|
|
99623
|
+
Core_X3DChildNode .call (this, executionContext);
|
|
99624
|
+
|
|
99625
|
+
this .addType (Base_X3DConstants .X3DSoundNode);
|
|
99626
|
+
}
|
|
99627
|
+
|
|
99628
|
+
Object .setPrototypeOf (X3DSoundNode .prototype, Core_X3DChildNode .prototype);
|
|
99629
|
+
|
|
99630
|
+
Object .defineProperties (X3DSoundNode,
|
|
99631
|
+
{
|
|
99632
|
+
typeName:
|
|
99633
|
+
{
|
|
99634
|
+
value: "X3DSoundNode",
|
|
99635
|
+
enumerable: true,
|
|
99636
|
+
},
|
|
99637
|
+
componentInfo:
|
|
99638
|
+
{
|
|
99639
|
+
value: Object .freeze ({ name: "Sound", level: 1 }),
|
|
99640
|
+
enumerable: true,
|
|
99641
|
+
},
|
|
99642
|
+
});
|
|
99643
|
+
|
|
99644
|
+
const X3DSoundNode_default_ = X3DSoundNode;
|
|
99645
|
+
;
|
|
99646
|
+
|
|
99647
|
+
x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3DSoundNode_default_);
|
|
99648
|
+
/* harmony default export */ const Sound_X3DSoundNode = (X3DSoundNode_default_);
|
|
99573
99649
|
;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundProcessingNode.js
|
|
99574
99650
|
/*******************************************************************************
|
|
99575
99651
|
*
|
|
@@ -99627,12 +99703,12 @@ x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_defaul
|
|
|
99627
99703
|
|
|
99628
99704
|
function X3DSoundProcessingNode (executionContext)
|
|
99629
99705
|
{
|
|
99630
|
-
|
|
99706
|
+
Sound_X3DSoundNode .call (this, executionContext);
|
|
99631
99707
|
Time_X3DTimeDependentNode .call (this, executionContext);
|
|
99632
99708
|
|
|
99633
99709
|
this .addType (Base_X3DConstants .X3DSoundProcessingNode);
|
|
99634
99710
|
|
|
99635
|
-
this .addChildObjects (Base_X3DConstants .inputOutput, "loop", new x_ite_Fields .SFBool (
|
|
99711
|
+
this .addChildObjects (Base_X3DConstants .inputOutput, "loop", new x_ite_Fields .SFBool ());
|
|
99636
99712
|
|
|
99637
99713
|
const audioContext = this .getBrowser () .getAudioContext ();
|
|
99638
99714
|
|
|
@@ -99641,15 +99717,14 @@ function X3DSoundProcessingNode (executionContext)
|
|
|
99641
99717
|
this .audioSource = new GainNode (audioContext, { gain: 1 });
|
|
99642
99718
|
}
|
|
99643
99719
|
|
|
99644
|
-
Object .assign (Object .setPrototypeOf (X3DSoundProcessingNode .prototype,
|
|
99720
|
+
Object .assign (Object .setPrototypeOf (X3DSoundProcessingNode .prototype, Sound_X3DSoundNode .prototype),
|
|
99645
99721
|
Time_X3DTimeDependentNode .prototype,
|
|
99646
99722
|
{
|
|
99647
99723
|
initialize ()
|
|
99648
99724
|
{
|
|
99649
|
-
|
|
99725
|
+
Sound_X3DSoundNode .prototype .initialize .call (this);
|
|
99650
99726
|
Time_X3DTimeDependentNode .prototype .initialize .call (this);
|
|
99651
99727
|
|
|
99652
|
-
this ._enabled .addInterest ("set_enabled__", this);
|
|
99653
99728
|
this ._gain .addInterest ("set_gain__", this);
|
|
99654
99729
|
this ._channelCount .addInterest ("set_channelCount__", this);
|
|
99655
99730
|
this ._channelCountMode .addInterest ("set_channelCountMode__", this);
|
|
@@ -99695,6 +99770,8 @@ Object .assign (Object .setPrototypeOf (X3DSoundProcessingNode .prototype, Core_
|
|
|
99695
99770
|
|
|
99696
99771
|
this .audioDestination .connect (this .audioSource);
|
|
99697
99772
|
}
|
|
99773
|
+
|
|
99774
|
+
Time_X3DTimeDependentNode .prototype .set_enabled__ .call (this);
|
|
99698
99775
|
},
|
|
99699
99776
|
set_gain__ ()
|
|
99700
99777
|
{
|
|
@@ -99709,30 +99786,33 @@ Object .assign (Object .setPrototypeOf (X3DSoundProcessingNode .prototype, Core_
|
|
|
99709
99786
|
},
|
|
99710
99787
|
set_channelCountMode__: (function ()
|
|
99711
99788
|
{
|
|
99712
|
-
const channelCountModes = new
|
|
99789
|
+
const channelCountModes = new Map ([
|
|
99790
|
+
["MAX", "max"],
|
|
99791
|
+
["CLAMPED-MAX", "clamped-max"],
|
|
99792
|
+
["EXPLICIT", "explicit"],
|
|
99793
|
+
]);
|
|
99713
99794
|
|
|
99714
99795
|
return function ()
|
|
99715
99796
|
{
|
|
99716
99797
|
if (!this ._enabled .getValue ())
|
|
99717
99798
|
return;
|
|
99718
99799
|
|
|
99719
|
-
|
|
99720
|
-
|
|
99721
|
-
this .audioDestination .channelCountMode = channelCountModes .has (channelCountMode) ? channelCountMode : "max";
|
|
99800
|
+
this .audioDestination .channelCountMode = channelCountModes .get (this ._channelCountMode .getValue ()) ?? "max";
|
|
99722
99801
|
};
|
|
99723
99802
|
})(),
|
|
99724
99803
|
set_channelInterpretation__: (function ()
|
|
99725
99804
|
{
|
|
99726
|
-
const channelInterpretations = new
|
|
99805
|
+
const channelInterpretations = new Map ([
|
|
99806
|
+
["SPEAKERS", "speakers"],
|
|
99807
|
+
["DISCRETE", "discrete"],
|
|
99808
|
+
]);
|
|
99727
99809
|
|
|
99728
99810
|
return function ()
|
|
99729
99811
|
{
|
|
99730
99812
|
if (!this ._enabled .getValue ())
|
|
99731
99813
|
return;
|
|
99732
99814
|
|
|
99733
|
-
|
|
99734
|
-
|
|
99735
|
-
this .audioDestination .channelInterpretation = channelInterpretations .has (channelInterpretation) ? channelInterpretation : "speakers";
|
|
99815
|
+
this .audioDestination .channelInterpretation = channelInterpretations .get (this ._channelInterpretation .getValue ()) ?? "speakers";
|
|
99736
99816
|
};
|
|
99737
99817
|
})(),
|
|
99738
99818
|
set_children__ ()
|
|
@@ -99744,7 +99824,7 @@ Object .assign (Object .setPrototypeOf (X3DSoundProcessingNode .prototype, Core_
|
|
|
99744
99824
|
|
|
99745
99825
|
for (const child of this ._children)
|
|
99746
99826
|
{
|
|
99747
|
-
const childNode = Base_X3DCast (Base_X3DConstants .
|
|
99827
|
+
const childNode = Base_X3DCast (Base_X3DConstants .X3DSoundNode, child);
|
|
99748
99828
|
|
|
99749
99829
|
if (!childNode)
|
|
99750
99830
|
continue;
|
|
@@ -99778,7 +99858,7 @@ Object .assign (Object .setPrototypeOf (X3DSoundProcessingNode .prototype, Core_
|
|
|
99778
99858
|
dispose ()
|
|
99779
99859
|
{
|
|
99780
99860
|
Time_X3DTimeDependentNode .prototype .dispose .call (this);
|
|
99781
|
-
|
|
99861
|
+
Sound_X3DSoundNode .prototype .dispose .call (this);
|
|
99782
99862
|
},
|
|
99783
99863
|
});
|
|
99784
99864
|
|
|
@@ -99868,7 +99948,6 @@ function Analyser (executionContext)
|
|
|
99868
99948
|
this .byteFrequencyData = new Uint8Array (this .analyserNode .frequencyBinCount);
|
|
99869
99949
|
this .byteTimeDomainData = new Uint8Array (this .analyserNode .frequencyBinCount);
|
|
99870
99950
|
|
|
99871
|
-
this .getAudioDestination () .connect (this .analyserNode);
|
|
99872
99951
|
this .analyserNode .connect (this .getAudioSource ());
|
|
99873
99952
|
}
|
|
99874
99953
|
|
|
@@ -99970,22 +100049,22 @@ Object .defineProperties (Analyser,
|
|
|
99970
100049
|
fieldDefinitions:
|
|
99971
100050
|
{
|
|
99972
100051
|
value: new Base_FieldDefinitionArray ([
|
|
99973
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata",
|
|
99974
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description",
|
|
99975
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled",
|
|
100052
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
|
|
100053
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
|
|
100054
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
99976
100055
|
|
|
99977
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
99978
100056
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "fftSize", new x_ite_Fields .SFInt32 (2048)),
|
|
99979
100057
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "minDecibels", new x_ite_Fields .SFFloat (-100)),
|
|
99980
100058
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "maxDecibels", new x_ite_Fields .SFFloat (-30)),
|
|
99981
100059
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "smoothingTimeConstant", new x_ite_Fields .SFFloat (0.8)),
|
|
99982
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
|
|
99983
100060
|
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "frequencyBinCount", new x_ite_Fields .SFInt32 ()), // skip test
|
|
99984
100061
|
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "byteFrequencyData", new x_ite_Fields .MFInt32 ()), // experimental
|
|
99985
100062
|
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "byteTimeDomainData", new x_ite_Fields .MFInt32 ()), // experimental
|
|
99986
100063
|
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "floatFrequencyData", new x_ite_Fields .MFFloat ()), // experimental
|
|
99987
100064
|
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "floatTimeDomainData", new x_ite_Fields .MFFloat ()), // experimental
|
|
99988
100065
|
|
|
100066
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
100067
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
|
|
99989
100068
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
|
|
99990
100069
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
|
|
99991
100070
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
|
|
@@ -100063,7 +100142,7 @@ x_ite_Namespace .add ("Analyser", "x_ite/Components/Sound/Analyser", Analyser_de
|
|
|
100063
100142
|
|
|
100064
100143
|
function X3DSoundSourceNode (executionContext)
|
|
100065
100144
|
{
|
|
100066
|
-
|
|
100145
|
+
Sound_X3DSoundNode .call (this, executionContext);
|
|
100067
100146
|
Time_X3DTimeDependentNode .call (this, executionContext);
|
|
100068
100147
|
|
|
100069
100148
|
this .addType (Base_X3DConstants .X3DSoundSourceNode);
|
|
@@ -100074,12 +100153,12 @@ function X3DSoundSourceNode (executionContext)
|
|
|
100074
100153
|
this .mediaElement = null;
|
|
100075
100154
|
}
|
|
100076
100155
|
|
|
100077
|
-
Object .assign (Object .setPrototypeOf (X3DSoundSourceNode .prototype,
|
|
100156
|
+
Object .assign (Object .setPrototypeOf (X3DSoundSourceNode .prototype, Sound_X3DSoundNode .prototype),
|
|
100078
100157
|
Time_X3DTimeDependentNode .prototype,
|
|
100079
100158
|
{
|
|
100080
100159
|
initialize ()
|
|
100081
100160
|
{
|
|
100082
|
-
|
|
100161
|
+
Sound_X3DSoundNode .prototype .initialize .call (this);
|
|
100083
100162
|
Time_X3DTimeDependentNode .prototype .initialize .call (this);
|
|
100084
100163
|
|
|
100085
100164
|
this ._gain .addInterest ("set_gain__", this);
|
|
@@ -100090,43 +100169,45 @@ Object .assign (Object .setPrototypeOf (X3DSoundSourceNode .prototype, Core_X3DC
|
|
|
100090
100169
|
{
|
|
100091
100170
|
return this .audioSource;
|
|
100092
100171
|
},
|
|
100172
|
+
getMediaElement ()
|
|
100173
|
+
{
|
|
100174
|
+
return this .mediaElement;
|
|
100175
|
+
},
|
|
100093
100176
|
setMediaElement (value)
|
|
100094
100177
|
{
|
|
100095
100178
|
this .mediaElement ?.pause ();
|
|
100096
100179
|
|
|
100097
100180
|
this .mediaElement = value;
|
|
100098
100181
|
|
|
100099
|
-
if (value)
|
|
100100
|
-
|
|
100101
|
-
// Init mediaElement.
|
|
100182
|
+
if (!value)
|
|
100183
|
+
return;
|
|
100102
100184
|
|
|
100103
|
-
|
|
100185
|
+
// Init mediaElement.
|
|
100104
100186
|
|
|
100105
|
-
|
|
100187
|
+
this .set_loop ();
|
|
100106
100188
|
|
|
100107
|
-
|
|
100189
|
+
// Handle events.
|
|
100108
100190
|
|
|
100109
|
-
|
|
100191
|
+
this .resetElapsedTime ();
|
|
100110
100192
|
|
|
100111
|
-
|
|
100193
|
+
if (this ._isActive .getValue ())
|
|
100194
|
+
{
|
|
100195
|
+
if (this ._isPaused .getValue ())
|
|
100112
100196
|
{
|
|
100113
|
-
|
|
100114
|
-
{
|
|
100115
|
-
this .set_pause ();
|
|
100116
|
-
}
|
|
100117
|
-
else
|
|
100118
|
-
{
|
|
100119
|
-
if (this .getLiveState ())
|
|
100120
|
-
this .set_start ();
|
|
100121
|
-
else
|
|
100122
|
-
this .set_pause ();
|
|
100123
|
-
}
|
|
100197
|
+
this .set_pause ();
|
|
100124
100198
|
}
|
|
100125
100199
|
else
|
|
100126
100200
|
{
|
|
100127
|
-
this .
|
|
100201
|
+
if (this .getLiveState ())
|
|
100202
|
+
this .set_start ();
|
|
100203
|
+
else
|
|
100204
|
+
this .set_pause ();
|
|
100128
100205
|
}
|
|
100129
100206
|
}
|
|
100207
|
+
else
|
|
100208
|
+
{
|
|
100209
|
+
this .set_stop ();
|
|
100210
|
+
}
|
|
100130
100211
|
},
|
|
100131
100212
|
set_gain__ ()
|
|
100132
100213
|
{
|
|
@@ -100136,16 +100217,19 @@ Object .assign (Object .setPrototypeOf (X3DSoundSourceNode .prototype, Core_X3DC
|
|
|
100136
100217
|
{ },
|
|
100137
100218
|
set_loop ()
|
|
100138
100219
|
{
|
|
100139
|
-
if (this .mediaElement)
|
|
100140
|
-
|
|
100220
|
+
if (!this .mediaElement)
|
|
100221
|
+
return;
|
|
100222
|
+
|
|
100223
|
+
this .mediaElement .loop = this ._loop .getValue ();
|
|
100141
100224
|
},
|
|
100142
100225
|
set_start ()
|
|
100143
100226
|
{
|
|
100144
|
-
if (this .mediaElement)
|
|
100145
|
-
|
|
100146
|
-
|
|
100147
|
-
|
|
100148
|
-
|
|
100227
|
+
if (!this .mediaElement)
|
|
100228
|
+
return;
|
|
100229
|
+
|
|
100230
|
+
this .mediaElement .currentTime = 0;
|
|
100231
|
+
|
|
100232
|
+
this .getBrowser () .startAudioElement (this .mediaElement);
|
|
100149
100233
|
},
|
|
100150
100234
|
set_pause ()
|
|
100151
100235
|
{
|
|
@@ -100153,7 +100237,7 @@ Object .assign (Object .setPrototypeOf (X3DSoundSourceNode .prototype, Core_X3DC
|
|
|
100153
100237
|
},
|
|
100154
100238
|
set_resume ()
|
|
100155
100239
|
{
|
|
100156
|
-
this .
|
|
100240
|
+
this .getBrowser () .startAudioElement (this .mediaElement);
|
|
100157
100241
|
},
|
|
100158
100242
|
set_stop ()
|
|
100159
100243
|
{
|
|
@@ -100168,11 +100252,11 @@ Object .assign (Object .setPrototypeOf (X3DSoundSourceNode .prototype, Core_X3DC
|
|
|
100168
100252
|
},
|
|
100169
100253
|
set_time ()
|
|
100170
100254
|
{
|
|
100171
|
-
this ._elapsedTime = this .getElapsedTime ();
|
|
100172
|
-
|
|
100173
100255
|
if (!this .mediaElement)
|
|
100174
100256
|
return;
|
|
100175
100257
|
|
|
100258
|
+
this ._elapsedTime = this .getElapsedTime ();
|
|
100259
|
+
|
|
100176
100260
|
if (this .mediaElement .currentTime < this .mediaElement .duration)
|
|
100177
100261
|
return;
|
|
100178
100262
|
|
|
@@ -100181,7 +100265,7 @@ Object .assign (Object .setPrototypeOf (X3DSoundSourceNode .prototype, Core_X3DC
|
|
|
100181
100265
|
dispose ()
|
|
100182
100266
|
{
|
|
100183
100267
|
Time_X3DTimeDependentNode .prototype .dispose .call (this);
|
|
100184
|
-
|
|
100268
|
+
Sound_X3DSoundNode .prototype .dispose .call (this);
|
|
100185
100269
|
},
|
|
100186
100270
|
});
|
|
100187
100271
|
|
|
@@ -100204,8 +100288,223 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
|
|
|
100204
100288
|
|
|
100205
100289
|
x_ite_Namespace .add ("X3DSoundSourceNode", "x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
|
|
100206
100290
|
/* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
|
|
100291
|
+
;// CONCATENATED MODULE: ./src/x_ite/Browser/Sound/AudioElement.js
|
|
100292
|
+
|
|
100293
|
+
/*******************************************************************************
|
|
100294
|
+
*
|
|
100295
|
+
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
100296
|
+
*
|
|
100297
|
+
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
|
|
100298
|
+
*
|
|
100299
|
+
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
|
|
100300
|
+
*
|
|
100301
|
+
* The copyright notice above does not evidence any actual of intended
|
|
100302
|
+
* publication of such source code, and is an unpublished work by create3000.
|
|
100303
|
+
* This material contains CONFIDENTIAL INFORMATION that is the property of
|
|
100304
|
+
* create3000.
|
|
100305
|
+
*
|
|
100306
|
+
* No permission is granted to copy, distribute, or create derivative works from
|
|
100307
|
+
* the contents of this software, in whole or in part, without the prior written
|
|
100308
|
+
* permission of create3000.
|
|
100309
|
+
*
|
|
100310
|
+
* NON-MILITARY USE ONLY
|
|
100311
|
+
*
|
|
100312
|
+
* All create3000 software are effectively free software with a non-military use
|
|
100313
|
+
* restriction. It is free. Well commented source is provided. You may reuse the
|
|
100314
|
+
* source in any way you please with the exception anything that uses it must be
|
|
100315
|
+
* marked to indicate is contains 'non-military use only' components.
|
|
100316
|
+
*
|
|
100317
|
+
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
100318
|
+
*
|
|
100319
|
+
* Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
|
|
100320
|
+
*
|
|
100321
|
+
* This file is part of the X_ITE Project.
|
|
100322
|
+
*
|
|
100323
|
+
* X_ITE is free software: you can redistribute it and/or modify it under the
|
|
100324
|
+
* terms of the GNU General Public License version 3 only, as published by the
|
|
100325
|
+
* Free Software Foundation.
|
|
100326
|
+
*
|
|
100327
|
+
* X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
100328
|
+
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
100329
|
+
* A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
|
|
100330
|
+
* details (a copy is included in the LICENSE file that accompanied this code).
|
|
100331
|
+
*
|
|
100332
|
+
* You should have received a copy of the GNU General Public License version 3
|
|
100333
|
+
* along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
|
|
100334
|
+
* copy of the GPLv3 License.
|
|
100335
|
+
*
|
|
100336
|
+
* For Silvio, Joy and Adi.
|
|
100337
|
+
*
|
|
100338
|
+
******************************************************************************/
|
|
100339
|
+
|
|
100340
|
+
const AudioElement_default_ = {
|
|
100341
|
+
create (audioContext, audioSource, audioBuffer)
|
|
100342
|
+
{
|
|
100343
|
+
let
|
|
100344
|
+
audioBufferSource = new AudioBufferSourceNode (audioContext),
|
|
100345
|
+
detune = 0,
|
|
100346
|
+
playbackRate = 1,
|
|
100347
|
+
loopStart = 0,
|
|
100348
|
+
loopEnd = 0,
|
|
100349
|
+
loop = false,
|
|
100350
|
+
startTime = 0,
|
|
100351
|
+
currentTime = 0,
|
|
100352
|
+
active = false;
|
|
100353
|
+
|
|
100354
|
+
return Object .defineProperties ({ },
|
|
100355
|
+
{
|
|
100356
|
+
detune:
|
|
100357
|
+
{
|
|
100358
|
+
get ()
|
|
100359
|
+
{
|
|
100360
|
+
return detune;
|
|
100361
|
+
},
|
|
100362
|
+
set (value)
|
|
100363
|
+
{
|
|
100364
|
+
detune = value;
|
|
100365
|
+
audioBufferSource .detune .value = value;
|
|
100366
|
+
},
|
|
100367
|
+
},
|
|
100368
|
+
playbackRate:
|
|
100369
|
+
{
|
|
100370
|
+
get ()
|
|
100371
|
+
{
|
|
100372
|
+
return playbackRate;
|
|
100373
|
+
},
|
|
100374
|
+
set (value)
|
|
100375
|
+
{
|
|
100376
|
+
playbackRate = value;
|
|
100377
|
+
audioBufferSource .playbackRate .value = value;
|
|
100378
|
+
},
|
|
100379
|
+
},
|
|
100380
|
+
loopStart:
|
|
100381
|
+
{
|
|
100382
|
+
get ()
|
|
100383
|
+
{
|
|
100384
|
+
return loopStart;
|
|
100385
|
+
},
|
|
100386
|
+
set (value)
|
|
100387
|
+
{
|
|
100388
|
+
loopStart = value;
|
|
100389
|
+
audioBufferSource .loopStart = value;
|
|
100390
|
+
},
|
|
100391
|
+
},
|
|
100392
|
+
loopEnd:
|
|
100393
|
+
{
|
|
100394
|
+
get ()
|
|
100395
|
+
{
|
|
100396
|
+
return loopEnd;
|
|
100397
|
+
},
|
|
100398
|
+
set (value)
|
|
100399
|
+
{
|
|
100400
|
+
loopEnd = value;
|
|
100401
|
+
audioBufferSource .loopEnd = value;
|
|
100402
|
+
},
|
|
100403
|
+
},
|
|
100404
|
+
loop:
|
|
100405
|
+
{
|
|
100406
|
+
get ()
|
|
100407
|
+
{
|
|
100408
|
+
return loop;
|
|
100409
|
+
},
|
|
100410
|
+
set (value)
|
|
100411
|
+
{
|
|
100412
|
+
if (!value)
|
|
100413
|
+
startTime = audioContext .currentTime - this .currentTime;
|
|
100414
|
+
|
|
100415
|
+
loop = value;
|
|
100416
|
+
audioBufferSource .loop = value;
|
|
100417
|
+
},
|
|
100418
|
+
},
|
|
100419
|
+
currentTime:
|
|
100420
|
+
{
|
|
100421
|
+
get ()
|
|
100422
|
+
{
|
|
100423
|
+
if (active)
|
|
100424
|
+
{
|
|
100425
|
+
if (this .duration)
|
|
100426
|
+
{
|
|
100427
|
+
if (this .loop)
|
|
100428
|
+
return (audioContext .currentTime - startTime) % this .duration;
|
|
100429
|
+
|
|
100430
|
+
return audioContext .currentTime - startTime;
|
|
100431
|
+
}
|
|
100432
|
+
|
|
100433
|
+
return 0;
|
|
100434
|
+
}
|
|
100435
|
+
|
|
100436
|
+
return currentTime;
|
|
100437
|
+
},
|
|
100438
|
+
set (value)
|
|
100439
|
+
{
|
|
100440
|
+
currentTime = value;
|
|
100441
|
+
startTime = audioContext .currentTime - currentTime;
|
|
100442
|
+
|
|
100443
|
+
if (!active)
|
|
100444
|
+
return;
|
|
100445
|
+
|
|
100446
|
+
this .pause ();
|
|
100447
|
+
this .play ();
|
|
100448
|
+
},
|
|
100449
|
+
},
|
|
100450
|
+
duration:
|
|
100451
|
+
{
|
|
100452
|
+
value: audioBuffer ?.duration ?? 0,
|
|
100453
|
+
},
|
|
100454
|
+
play:
|
|
100455
|
+
{
|
|
100456
|
+
value ()
|
|
100457
|
+
{
|
|
100458
|
+
if (active)
|
|
100459
|
+
return Promise .resolve ();
|
|
100460
|
+
|
|
100461
|
+
audioBufferSource = new AudioBufferSourceNode (audioContext);
|
|
100462
|
+
|
|
100463
|
+
audioBufferSource .buffer = audioBuffer;
|
|
100464
|
+
audioBufferSource .loopStart = loopStart;
|
|
100465
|
+
audioBufferSource .loopEnd = loopEnd;
|
|
100466
|
+
audioBufferSource .loop = loop;
|
|
100467
|
+
audioBufferSource .playbackRate .value = playbackRate;
|
|
100468
|
+
|
|
100469
|
+
audioBufferSource .connect (audioSource);
|
|
100470
|
+
audioBufferSource .start (0, currentTime);
|
|
100471
|
+
|
|
100472
|
+
startTime = audioContext .currentTime - currentTime;
|
|
100473
|
+
active = true;
|
|
100474
|
+
|
|
100475
|
+
return Promise .resolve ();
|
|
100476
|
+
},
|
|
100477
|
+
},
|
|
100478
|
+
pause:
|
|
100479
|
+
{
|
|
100480
|
+
value ()
|
|
100481
|
+
{
|
|
100482
|
+
if (!active)
|
|
100483
|
+
return;
|
|
100484
|
+
|
|
100485
|
+
audioBufferSource .stop ();
|
|
100486
|
+
audioBufferSource .disconnect ();
|
|
100487
|
+
|
|
100488
|
+
currentTime = this .currentTime;
|
|
100489
|
+
active = false;
|
|
100490
|
+
|
|
100491
|
+
// Create 1s silence to clear channels.
|
|
100492
|
+
|
|
100493
|
+
const silence = new AudioBufferSourceNode (audioContext);
|
|
100494
|
+
|
|
100495
|
+
silence .connect (audioSource);
|
|
100496
|
+
silence .start ();
|
|
100497
|
+
silence .stop (audioContext .currentTime + 1);
|
|
100498
|
+
},
|
|
100499
|
+
},
|
|
100500
|
+
});
|
|
100501
|
+
},
|
|
100502
|
+
};
|
|
100503
|
+
;
|
|
100504
|
+
|
|
100505
|
+
x_ite_Namespace .add ("AudioElement", "x_ite/Browser/Sound/AudioElement", AudioElement_default_);
|
|
100506
|
+
/* harmony default export */ const AudioElement = (AudioElement_default_);
|
|
100207
100507
|
;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
|
|
100208
|
-
/* provided dependency */ var AudioClip_$ = __webpack_require__(183);
|
|
100209
100508
|
/*******************************************************************************
|
|
100210
100509
|
*
|
|
100211
100510
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -100261,20 +100560,14 @@ x_ite_Namespace .add ("X3DSoundSourceNode", "x_ite/Components/Sound/X3DSoundSour
|
|
|
100261
100560
|
|
|
100262
100561
|
|
|
100263
100562
|
|
|
100563
|
+
|
|
100564
|
+
|
|
100264
100565
|
function AudioClip (executionContext)
|
|
100265
100566
|
{
|
|
100266
100567
|
Sound_X3DSoundSourceNode .call (this, executionContext);
|
|
100267
100568
|
Networking_X3DUrlObject .call (this, executionContext);
|
|
100268
100569
|
|
|
100269
100570
|
this .addType (Base_X3DConstants .AudioClip);
|
|
100270
|
-
|
|
100271
|
-
const audioContext = this .getBrowser () .getAudioContext ();
|
|
100272
|
-
|
|
100273
|
-
this .urlStack = new x_ite_Fields .MFString ();
|
|
100274
|
-
this .audio = AudioClip_$("<audio></audio>");
|
|
100275
|
-
this .sourceNode = audioContext .createMediaElementSource (this .audio [0]);
|
|
100276
|
-
|
|
100277
|
-
this .sourceNode .connect (this .getAudioSource ());
|
|
100278
100571
|
}
|
|
100279
100572
|
|
|
100280
100573
|
Object .assign (Object .setPrototypeOf (AudioClip .prototype, Sound_X3DSoundSourceNode .prototype),
|
|
@@ -100285,12 +100578,6 @@ Object .assign (Object .setPrototypeOf (AudioClip .prototype, Sound_X3DSoundSour
|
|
|
100285
100578
|
Sound_X3DSoundSourceNode .prototype .initialize .call (this);
|
|
100286
100579
|
Networking_X3DUrlObject .prototype .initialize .call (this);
|
|
100287
100580
|
|
|
100288
|
-
this .audio
|
|
100289
|
-
.on ("abort error", this .setError .bind (this))
|
|
100290
|
-
.on ("suspend stalled", this .setTimeout .bind (this))
|
|
100291
|
-
.prop ("crossOrigin", "Anonymous")
|
|
100292
|
-
.prop ("preload", "auto");
|
|
100293
|
-
|
|
100294
100581
|
this .requestImmediateLoad () .catch (Function .prototype);
|
|
100295
100582
|
},
|
|
100296
100583
|
set_live__ ()
|
|
@@ -100304,68 +100591,39 @@ Object .assign (Object .setPrototypeOf (AudioClip .prototype, Sound_X3DSoundSour
|
|
|
100304
100591
|
},
|
|
100305
100592
|
loadData ()
|
|
100306
100593
|
{
|
|
100307
|
-
this .
|
|
100308
|
-
this .urlStack .setValue (this ._url);
|
|
100309
|
-
this .audio .on ("loadeddata", this .setAudio .bind (this));
|
|
100310
|
-
this .loadNext ();
|
|
100311
|
-
},
|
|
100312
|
-
loadNext ()
|
|
100313
|
-
{
|
|
100314
|
-
if (this .urlStack .length === 0)
|
|
100315
|
-
{
|
|
100316
|
-
this .audio .off ("loadeddata");
|
|
100317
|
-
this ._duration_changed = -1;
|
|
100318
|
-
this .setLoadState (Base_X3DConstants .FAILED_STATE);
|
|
100319
|
-
return;
|
|
100320
|
-
}
|
|
100321
|
-
|
|
100322
|
-
// Get URL.
|
|
100323
|
-
|
|
100324
|
-
this .URL = new URL (this .urlStack .shift (), this .getExecutionContext () .getBaseURL ());
|
|
100594
|
+
this .unloadData ();
|
|
100325
100595
|
|
|
100326
|
-
|
|
100596
|
+
new InputOutput_FileLoader (this) .loadDocument (this ._url, async (data, URL) =>
|
|
100327
100597
|
{
|
|
100328
|
-
if (
|
|
100329
|
-
|
|
100330
|
-
|
|
100598
|
+
if (data === null)
|
|
100599
|
+
{
|
|
100600
|
+
this .unloadData ();
|
|
100601
|
+
this .setLoadState (Base_X3DConstants .FAILED_STATE);
|
|
100602
|
+
}
|
|
100603
|
+
else if (data instanceof ArrayBuffer)
|
|
100604
|
+
{
|
|
100605
|
+
await this .setArrayBuffer (data);
|
|
100331
100606
|
|
|
100332
|
-
|
|
100333
|
-
this .audio .get (0) .load ();
|
|
100334
|
-
},
|
|
100335
|
-
setTimeout (event)
|
|
100336
|
-
{
|
|
100337
|
-
setTimeout (() =>
|
|
100338
|
-
{
|
|
100339
|
-
if (this .checkLoadState () === Base_X3DConstants .IN_PROGRESS_STATE)
|
|
100340
|
-
this .setError (event);
|
|
100341
|
-
},
|
|
100342
|
-
30_000);
|
|
100343
|
-
},
|
|
100344
|
-
setError (event)
|
|
100345
|
-
{
|
|
100346
|
-
if (this .URL .protocol !== "data:")
|
|
100347
|
-
console .warn (`Error loading audio '${decodeURI (this .URL .href)}'`, event .type);
|
|
100607
|
+
this .setLoadState (Base_X3DConstants .COMPLETE_STATE);
|
|
100348
100608
|
|
|
100349
|
-
|
|
100609
|
+
if (DEVELOPMENT)
|
|
100610
|
+
{
|
|
100611
|
+
if (URL .protocol !== "data:")
|
|
100612
|
+
console .info (`Done loading audio '${decodeURI (URL .href)}'`);
|
|
100613
|
+
}
|
|
100614
|
+
}
|
|
100615
|
+
});
|
|
100350
100616
|
},
|
|
100351
|
-
|
|
100617
|
+
async setArrayBuffer (arrayBuffer)
|
|
100352
100618
|
{
|
|
100353
|
-
|
|
100354
|
-
|
|
100355
|
-
|
|
100356
|
-
|
|
100357
|
-
if (this .URL .protocol !== "data:")
|
|
100358
|
-
console .info (`Done loading audio '${decodeURI (this .URL .href)}'`);
|
|
100359
|
-
}
|
|
100619
|
+
const
|
|
100620
|
+
audioContext = this .getBrowser () .getAudioContext (),
|
|
100621
|
+
audioBuffer = await audioContext .decodeAudioData (arrayBuffer),
|
|
100622
|
+
media = AudioElement .create (audioContext, this .getAudioSource (), audioBuffer);
|
|
100360
100623
|
|
|
100361
|
-
|
|
100362
|
-
|
|
100363
|
-
|
|
100364
|
-
}
|
|
100365
|
-
catch (error)
|
|
100366
|
-
{
|
|
100367
|
-
this .setError ({ type: error .message });
|
|
100368
|
-
}
|
|
100624
|
+
this ._duration_changed = media .duration;
|
|
100625
|
+
|
|
100626
|
+
this .setMediaElement (media);
|
|
100369
100627
|
},
|
|
100370
100628
|
dispose ()
|
|
100371
100629
|
{
|
|
@@ -100427,85 +100685,6 @@ const AudioClip_default_ = AudioClip;
|
|
|
100427
100685
|
|
|
100428
100686
|
x_ite_Namespace .add ("AudioClip", "x_ite/Components/Sound/AudioClip", AudioClip_default_);
|
|
100429
100687
|
/* harmony default export */ const Sound_AudioClip = (AudioClip_default_);
|
|
100430
|
-
;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundNode.js
|
|
100431
|
-
/*******************************************************************************
|
|
100432
|
-
*
|
|
100433
|
-
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
100434
|
-
*
|
|
100435
|
-
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
|
|
100436
|
-
*
|
|
100437
|
-
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
|
|
100438
|
-
*
|
|
100439
|
-
* The copyright notice above does not evidence any actual of intended
|
|
100440
|
-
* publication of such source code, and is an unpublished work by create3000.
|
|
100441
|
-
* This material contains CONFIDENTIAL INFORMATION that is the property of
|
|
100442
|
-
* create3000.
|
|
100443
|
-
*
|
|
100444
|
-
* No permission is granted to copy, distribute, or create derivative works from
|
|
100445
|
-
* the contents of this software, in whole or in part, without the prior written
|
|
100446
|
-
* permission of create3000.
|
|
100447
|
-
*
|
|
100448
|
-
* NON-MILITARY USE ONLY
|
|
100449
|
-
*
|
|
100450
|
-
* All create3000 software are effectively free software with a non-military use
|
|
100451
|
-
* restriction. It is free. Well commented source is provided. You may reuse the
|
|
100452
|
-
* source in any way you please with the exception anything that uses it must be
|
|
100453
|
-
* marked to indicate is contains 'non-military use only' components.
|
|
100454
|
-
*
|
|
100455
|
-
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
100456
|
-
*
|
|
100457
|
-
* Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
|
|
100458
|
-
*
|
|
100459
|
-
* This file is part of the X_ITE Project.
|
|
100460
|
-
*
|
|
100461
|
-
* X_ITE is free software: you can redistribute it and/or modify it under the
|
|
100462
|
-
* terms of the GNU General Public License version 3 only, as published by the
|
|
100463
|
-
* Free Software Foundation.
|
|
100464
|
-
*
|
|
100465
|
-
* X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
100466
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
100467
|
-
* A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
|
|
100468
|
-
* details (a copy is included in the LICENSE file that accompanied this code).
|
|
100469
|
-
*
|
|
100470
|
-
* You should have received a copy of the GNU General Public License version 3
|
|
100471
|
-
* along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
|
|
100472
|
-
* copy of the GPLv3 License.
|
|
100473
|
-
*
|
|
100474
|
-
* For Silvio, Joy and Adi.
|
|
100475
|
-
*
|
|
100476
|
-
******************************************************************************/
|
|
100477
|
-
|
|
100478
|
-
|
|
100479
|
-
|
|
100480
|
-
|
|
100481
|
-
function X3DSoundNode (executionContext)
|
|
100482
|
-
{
|
|
100483
|
-
Core_X3DChildNode .call (this, executionContext);
|
|
100484
|
-
|
|
100485
|
-
this .addType (Base_X3DConstants .X3DSoundNode);
|
|
100486
|
-
}
|
|
100487
|
-
|
|
100488
|
-
Object .setPrototypeOf (X3DSoundNode .prototype, Core_X3DChildNode .prototype);
|
|
100489
|
-
|
|
100490
|
-
Object .defineProperties (X3DSoundNode,
|
|
100491
|
-
{
|
|
100492
|
-
typeName:
|
|
100493
|
-
{
|
|
100494
|
-
value: "X3DSoundNode",
|
|
100495
|
-
enumerable: true,
|
|
100496
|
-
},
|
|
100497
|
-
componentInfo:
|
|
100498
|
-
{
|
|
100499
|
-
value: Object .freeze ({ name: "Sound", level: 1 }),
|
|
100500
|
-
enumerable: true,
|
|
100501
|
-
},
|
|
100502
|
-
});
|
|
100503
|
-
|
|
100504
|
-
const X3DSoundNode_default_ = X3DSoundNode;
|
|
100505
|
-
;
|
|
100506
|
-
|
|
100507
|
-
x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3DSoundNode_default_);
|
|
100508
|
-
/* harmony default export */ const Sound_X3DSoundNode = (X3DSoundNode_default_);
|
|
100509
100688
|
;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundDestinationNode.js
|
|
100510
100689
|
/*******************************************************************************
|
|
100511
100690
|
*
|
|
@@ -100616,24 +100795,33 @@ Object .assign (Object .setPrototypeOf (X3DSoundDestinationNode .prototype, Soun
|
|
|
100616
100795
|
},
|
|
100617
100796
|
set_channelCountMode__: (function ()
|
|
100618
100797
|
{
|
|
100619
|
-
const channelCountModes = new
|
|
100798
|
+
const channelCountModes = new Map ([
|
|
100799
|
+
["MAX", "max"],
|
|
100800
|
+
["CLAMPED-MAX", "clamped-max"],
|
|
100801
|
+
["EXPLICIT", "explicit"],
|
|
100802
|
+
]);
|
|
100620
100803
|
|
|
100621
100804
|
return function ()
|
|
100622
100805
|
{
|
|
100623
|
-
|
|
100806
|
+
if (!this ._enabled .getValue ())
|
|
100807
|
+
return;
|
|
100624
100808
|
|
|
100625
|
-
this .audioDestination .channelCountMode = channelCountModes .
|
|
100809
|
+
this .audioDestination .channelCountMode = channelCountModes .get (this ._channelCountMode .getValue ()) ?? "max";
|
|
100626
100810
|
};
|
|
100627
100811
|
})(),
|
|
100628
100812
|
set_channelInterpretation__: (function ()
|
|
100629
100813
|
{
|
|
100630
|
-
const channelInterpretations = new
|
|
100814
|
+
const channelInterpretations = new Map ([
|
|
100815
|
+
["SPEAKERS", "speakers"],
|
|
100816
|
+
["DISCRETE", "discrete"],
|
|
100817
|
+
]);
|
|
100631
100818
|
|
|
100632
100819
|
return function ()
|
|
100633
100820
|
{
|
|
100634
|
-
|
|
100821
|
+
if (!this ._enabled .getValue ())
|
|
100822
|
+
return;
|
|
100635
100823
|
|
|
100636
|
-
this .audioDestination .channelInterpretation = channelInterpretations .
|
|
100824
|
+
this .audioDestination .channelInterpretation = channelInterpretations .get (this ._channelInterpretation .getValue ()) ?? "speakers";
|
|
100637
100825
|
};
|
|
100638
100826
|
})(),
|
|
100639
100827
|
set_children__ ()
|
|
@@ -100772,21 +100960,21 @@ Object .assign (Object .setPrototypeOf (AudioDestination .prototype, Sound_X3DSo
|
|
|
100772
100960
|
},
|
|
100773
100961
|
getSoundDestination ()
|
|
100774
100962
|
{
|
|
100775
|
-
return this .
|
|
100963
|
+
return this .mediaStreamAudioDestinationNode;
|
|
100776
100964
|
},
|
|
100777
100965
|
set_enabled__ ()
|
|
100778
100966
|
{
|
|
100779
100967
|
const active = this ._enabled .getValue () && this .getLive () .getValue ();
|
|
100780
100968
|
|
|
100781
|
-
if (!!this .
|
|
100969
|
+
if (!!this .mediaStreamAudioDestinationNode === active)
|
|
100782
100970
|
return;
|
|
100783
100971
|
|
|
100784
100972
|
if (active)
|
|
100785
100973
|
{
|
|
100786
100974
|
const audioContext = this .getBrowser () .getAudioContext ();
|
|
100787
100975
|
|
|
100788
|
-
this .
|
|
100789
|
-
this .audioElement .srcObject
|
|
100976
|
+
this .mediaStreamAudioDestinationNode = new MediaStreamAudioDestinationNode (audioContext);
|
|
100977
|
+
this .audioElement .srcObject = this .mediaStreamAudioDestinationNode .stream;
|
|
100790
100978
|
|
|
100791
100979
|
this .getBrowser () .startAudioElement (this .audioElement);
|
|
100792
100980
|
}
|
|
@@ -100794,24 +100982,22 @@ Object .assign (Object .setPrototypeOf (AudioDestination .prototype, Sound_X3DSo
|
|
|
100794
100982
|
{
|
|
100795
100983
|
this .audioElement .pause ();
|
|
100796
100984
|
|
|
100797
|
-
for (const track of this .
|
|
100985
|
+
for (const track of this .mediaStreamAudioDestinationNode .stream .getAudioTracks ())
|
|
100798
100986
|
track .stop ();
|
|
100799
100987
|
|
|
100800
|
-
for (const track of this .
|
|
100988
|
+
for (const track of this .mediaStreamAudioDestinationNode .stream .getVideoTracks ())
|
|
100801
100989
|
track .stop ();
|
|
100802
100990
|
|
|
100803
|
-
this .
|
|
100991
|
+
this .mediaStreamAudioDestinationNode = null;
|
|
100804
100992
|
}
|
|
100805
100993
|
|
|
100806
100994
|
Sound_X3DSoundDestinationNode .prototype .set_enabled__ .call (this);
|
|
100807
100995
|
},
|
|
100808
100996
|
set_mediaDeviceID__ ()
|
|
100809
100997
|
{
|
|
100810
|
-
// Safari has no support yet, as of Aug 2023.
|
|
100811
|
-
if (!this .audioElement .setSinkId)
|
|
100812
|
-
return;
|
|
100998
|
+
// Safari has no support for `setSinkId` yet, as of Aug 2023.
|
|
100813
100999
|
|
|
100814
|
-
this .audioElement .setSinkId (this ._mediaDeviceID .getValue ()) .catch (error =>
|
|
101000
|
+
this .audioElement .setSinkId ?.(this ._mediaDeviceID .getValue ()) .catch (error =>
|
|
100815
101001
|
{
|
|
100816
101002
|
console .error (error .message);
|
|
100817
101003
|
|
|
@@ -100850,7 +101036,7 @@ Object .defineProperties (AudioDestination,
|
|
|
100850
101036
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
100851
101037
|
|
|
100852
101038
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
100853
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "mediaDeviceID", new x_ite_Fields .SFString ()),
|
|
101039
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "mediaDeviceID", new x_ite_Fields .SFString ()),
|
|
100854
101040
|
|
|
100855
101041
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
|
|
100856
101042
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
|
|
@@ -100923,14 +101109,71 @@ x_ite_Namespace .add ("AudioDestination", "x_ite/Components/Sound/AudioDestinati
|
|
|
100923
101109
|
|
|
100924
101110
|
|
|
100925
101111
|
|
|
101112
|
+
|
|
100926
101113
|
function BiquadFilter (executionContext)
|
|
100927
101114
|
{
|
|
100928
101115
|
Sound_X3DSoundProcessingNode .call (this, executionContext);
|
|
100929
101116
|
|
|
100930
101117
|
this .addType (Base_X3DConstants .BiquadFilter);
|
|
101118
|
+
|
|
101119
|
+
const audioContext = this .getBrowser () .getAudioContext ();
|
|
101120
|
+
|
|
101121
|
+
this .biquadFilterNode = new BiquadFilterNode (audioContext);
|
|
101122
|
+
|
|
101123
|
+
this .biquadFilterNode .connect (this .getAudioSource ());
|
|
100931
101124
|
}
|
|
100932
101125
|
|
|
100933
|
-
Object .setPrototypeOf (BiquadFilter .prototype, Sound_X3DSoundProcessingNode .prototype)
|
|
101126
|
+
Object .assign (Object .setPrototypeOf (BiquadFilter .prototype, Sound_X3DSoundProcessingNode .prototype),
|
|
101127
|
+
{
|
|
101128
|
+
initialize ()
|
|
101129
|
+
{
|
|
101130
|
+
Sound_X3DSoundProcessingNode .prototype .initialize .call (this);
|
|
101131
|
+
|
|
101132
|
+
this ._detune .addInterest ("set_detune__", this);
|
|
101133
|
+
this ._type .addInterest ("set_type__", this);
|
|
101134
|
+
this ._frequency .addInterest ("set_frequency__", this);
|
|
101135
|
+
this ._qualityFactor .addInterest ("set_qualityFactor__", this);
|
|
101136
|
+
|
|
101137
|
+
this .set_detune__ ();
|
|
101138
|
+
this .set_type__ ();
|
|
101139
|
+
this .set_frequency__ ();
|
|
101140
|
+
this .set_qualityFactor__ ();
|
|
101141
|
+
},
|
|
101142
|
+
getSoundProcessor ()
|
|
101143
|
+
{
|
|
101144
|
+
return this .biquadFilterNode;
|
|
101145
|
+
},
|
|
101146
|
+
set_detune__ ()
|
|
101147
|
+
{
|
|
101148
|
+
this .biquadFilterNode .detune .value = this ._detune .getValue ();
|
|
101149
|
+
},
|
|
101150
|
+
set_type__: (function ()
|
|
101151
|
+
{
|
|
101152
|
+
const types = new Map ([
|
|
101153
|
+
["LOWPASS", "lowpass"],
|
|
101154
|
+
["HIGHPASS", "highpass"],
|
|
101155
|
+
["BANDPASS", "bandpass"],
|
|
101156
|
+
["LOWSHELF", "lowshelf"],
|
|
101157
|
+
["HIGHSHELF", "highshelf"],
|
|
101158
|
+
["PEAKING", "peaking"],
|
|
101159
|
+
["NOTCH", "notch"],
|
|
101160
|
+
["ALLPASS", "allpass"],
|
|
101161
|
+
]);
|
|
101162
|
+
|
|
101163
|
+
return function ()
|
|
101164
|
+
{
|
|
101165
|
+
this .biquadFilterNode .type = types .get (this ._type .getValue ()) ?? "lowpass";
|
|
101166
|
+
};
|
|
101167
|
+
})(),
|
|
101168
|
+
set_frequency__ ()
|
|
101169
|
+
{
|
|
101170
|
+
this .biquadFilterNode .frequency .value = Math .max (this ._frequency .getValue (), 0);
|
|
101171
|
+
},
|
|
101172
|
+
set_qualityFactor__ ()
|
|
101173
|
+
{
|
|
101174
|
+
this .biquadFilterNode .Q .value = Math_Algorithm .clamp (this ._qualityFactor .getValue (), 0.0001, 1000);
|
|
101175
|
+
},
|
|
101176
|
+
});
|
|
100934
101177
|
|
|
100935
101178
|
Object .defineProperties (BiquadFilter,
|
|
100936
101179
|
{
|
|
@@ -100957,16 +101200,16 @@ Object .defineProperties (BiquadFilter,
|
|
|
100957
101200
|
fieldDefinitions:
|
|
100958
101201
|
{
|
|
100959
101202
|
value: new Base_FieldDefinitionArray ([
|
|
100960
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata",
|
|
100961
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description",
|
|
100962
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled",
|
|
101203
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
|
|
101204
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
|
|
101205
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
100963
101206
|
|
|
100964
101207
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
100965
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "
|
|
100966
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "detune", new x_ite_Fields .SFFloat (
|
|
101208
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
|
|
101209
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "detune", new x_ite_Fields .SFFloat ()),
|
|
100967
101210
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "type", new x_ite_Fields .SFString ("LOWPASS")),
|
|
101211
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "frequency", new x_ite_Fields .SFFloat (350)),
|
|
100968
101212
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "qualityFactor", new x_ite_Fields .SFFloat (1)),
|
|
100969
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
|
|
100970
101213
|
|
|
100971
101214
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
|
|
100972
101215
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
|
|
@@ -101046,6 +101289,10 @@ x_ite_Namespace .add ("BiquadFilter", "x_ite/Components/Sound/BiquadFilter", Biq
|
|
|
101046
101289
|
|
|
101047
101290
|
|
|
101048
101291
|
|
|
101292
|
+
|
|
101293
|
+
|
|
101294
|
+
|
|
101295
|
+
|
|
101049
101296
|
function BufferAudioSource (executionContext)
|
|
101050
101297
|
{
|
|
101051
101298
|
Sound_X3DSoundSourceNode .call (this, executionContext);
|
|
@@ -101061,6 +101308,148 @@ Object .assign (Object .setPrototypeOf (BufferAudioSource .prototype, Sound_X3DS
|
|
|
101061
101308
|
{
|
|
101062
101309
|
Sound_X3DSoundSourceNode .prototype .initialize .call (this);
|
|
101063
101310
|
Networking_X3DUrlObject .prototype .initialize .call (this);
|
|
101311
|
+
|
|
101312
|
+
this ._numberOfChannels .addInterest ("set_buffer__", this);
|
|
101313
|
+
this ._sampleRate .addInterest ("set_buffer__", this);
|
|
101314
|
+
this ._bufferLength .addInterest ("set_buffer__", this);
|
|
101315
|
+
this ._buffer .addInterest ("set_buffer__", this);
|
|
101316
|
+
this ._detune .addInterest ("set_detune__", this);
|
|
101317
|
+
this ._playbackRate .addInterest ("set_playbackRate__", this);
|
|
101318
|
+
this ._loopStart .addInterest ("set_loopStart__", this);
|
|
101319
|
+
this ._loopEnd .addInterest ("set_loopEnd__", this);
|
|
101320
|
+
|
|
101321
|
+
this .set_buffer__ ();
|
|
101322
|
+
|
|
101323
|
+
this .requestImmediateLoad () .catch (Function .prototype);
|
|
101324
|
+
},
|
|
101325
|
+
set_live__ ()
|
|
101326
|
+
{
|
|
101327
|
+
Sound_X3DSoundSourceNode .prototype .set_live__ .call (this);
|
|
101328
|
+
Networking_X3DUrlObject .prototype .set_live__ .call (this);
|
|
101329
|
+
},
|
|
101330
|
+
set_buffer__ ()
|
|
101331
|
+
{
|
|
101332
|
+
if (this ._load .getValue ())
|
|
101333
|
+
return;
|
|
101334
|
+
|
|
101335
|
+
const
|
|
101336
|
+
audioContext = this .getBrowser () .getAudioContext (),
|
|
101337
|
+
numberOfChannels = Math_Algorithm .clamp (this ._numberOfChannels .getValue (), 1, 32),
|
|
101338
|
+
sampleRate = Math_Algorithm .clamp (this ._sampleRate .getValue (), 3000, 768000),
|
|
101339
|
+
bufferLength = Math .max (this ._bufferLength .getValue (), 0);
|
|
101340
|
+
|
|
101341
|
+
if (bufferLength)
|
|
101342
|
+
{
|
|
101343
|
+
const
|
|
101344
|
+
audioBuffer = audioContext .createBuffer (numberOfChannels, bufferLength, sampleRate),
|
|
101345
|
+
buffer = this ._buffer .getValue ();
|
|
101346
|
+
|
|
101347
|
+
this ._bufferDuration = bufferLength / sampleRate;
|
|
101348
|
+
|
|
101349
|
+
if (this ._buffer .length >= bufferLength * numberOfChannels)
|
|
101350
|
+
{
|
|
101351
|
+
for (let i = 0; i < numberOfChannels; ++ i)
|
|
101352
|
+
{
|
|
101353
|
+
const channelData = audioBuffer .getChannelData (i);
|
|
101354
|
+
|
|
101355
|
+
channelData .set (buffer .subarray (i * bufferLength, (i + 1) * bufferLength));
|
|
101356
|
+
}
|
|
101357
|
+
}
|
|
101358
|
+
|
|
101359
|
+
this .setMediaElement (AudioElement .create (audioContext, this .getAudioSource (), audioBuffer));
|
|
101360
|
+
|
|
101361
|
+
this .set_detune__ ();
|
|
101362
|
+
this .set_playbackRate__ ();
|
|
101363
|
+
this .set_loopStart__ ();
|
|
101364
|
+
this .set_loopEnd__ ();
|
|
101365
|
+
}
|
|
101366
|
+
else
|
|
101367
|
+
{
|
|
101368
|
+
this ._bufferDuration = 0;
|
|
101369
|
+
|
|
101370
|
+
this .setMediaElement (null);
|
|
101371
|
+
}
|
|
101372
|
+
},
|
|
101373
|
+
set_detune__ ()
|
|
101374
|
+
{
|
|
101375
|
+
const media = this .getMediaElement ();
|
|
101376
|
+
|
|
101377
|
+
if (media)
|
|
101378
|
+
media .detune = this ._detune .getValue ();
|
|
101379
|
+
},
|
|
101380
|
+
set_playbackRate__ ()
|
|
101381
|
+
{
|
|
101382
|
+
const media = this .getMediaElement ();
|
|
101383
|
+
|
|
101384
|
+
if (media)
|
|
101385
|
+
media .playbackRate = this ._playbackRate .getValue ();
|
|
101386
|
+
},
|
|
101387
|
+
set_loopStart__ ()
|
|
101388
|
+
{
|
|
101389
|
+
const media = this .getMediaElement ();
|
|
101390
|
+
|
|
101391
|
+
if (media)
|
|
101392
|
+
media .loopStart = Math .max (this ._loopStart .getValue (), 0);
|
|
101393
|
+
},
|
|
101394
|
+
set_loopEnd__ ()
|
|
101395
|
+
{
|
|
101396
|
+
const media = this .getMediaElement ();
|
|
101397
|
+
|
|
101398
|
+
if (media)
|
|
101399
|
+
media .loopEnd = Math .max (this ._loopEnd .getValue (), 0);
|
|
101400
|
+
},
|
|
101401
|
+
unloadData ()
|
|
101402
|
+
{
|
|
101403
|
+
this .set_buffer__ ();
|
|
101404
|
+
},
|
|
101405
|
+
loadData ()
|
|
101406
|
+
{
|
|
101407
|
+
this .unloadData ();
|
|
101408
|
+
|
|
101409
|
+
new InputOutput_FileLoader (this) .loadDocument (this ._url, async (data, URL) =>
|
|
101410
|
+
{
|
|
101411
|
+
if (data === null)
|
|
101412
|
+
{
|
|
101413
|
+
// No URL could be loaded.
|
|
101414
|
+
this .unloadData ();
|
|
101415
|
+
this .setLoadState (Base_X3DConstants .FAILED_STATE);
|
|
101416
|
+
}
|
|
101417
|
+
else if (data instanceof ArrayBuffer)
|
|
101418
|
+
{
|
|
101419
|
+
await this .setArrayBuffer (data);
|
|
101420
|
+
|
|
101421
|
+
this .setLoadState (Base_X3DConstants .COMPLETE_STATE);
|
|
101422
|
+
|
|
101423
|
+
if (DEVELOPMENT)
|
|
101424
|
+
{
|
|
101425
|
+
if (URL .protocol !== "data:")
|
|
101426
|
+
console .info (`Done loading audio '${decodeURI (URL .href)}'`);
|
|
101427
|
+
}
|
|
101428
|
+
}
|
|
101429
|
+
});
|
|
101430
|
+
},
|
|
101431
|
+
async setArrayBuffer (arrayBuffer)
|
|
101432
|
+
{
|
|
101433
|
+
const
|
|
101434
|
+
audioContext = this .getBrowser () .getAudioContext (),
|
|
101435
|
+
audioBuffer = await audioContext .decodeAudioData (arrayBuffer),
|
|
101436
|
+
bufferData = new Float32Array (audioBuffer .length * audioBuffer .numberOfChannels);
|
|
101437
|
+
|
|
101438
|
+
for (let i = 0; i < audioBuffer .numberOfChannels; ++ i)
|
|
101439
|
+
bufferData .set (audioBuffer .getChannelData (i), i * audioBuffer .length);
|
|
101440
|
+
|
|
101441
|
+
this ._numberOfChannels = audioBuffer .numberOfChannels;
|
|
101442
|
+
this ._sampleRate = audioBuffer .sampleRate;
|
|
101443
|
+
this ._bufferLength = audioBuffer .length;
|
|
101444
|
+
this ._buffer = bufferData;
|
|
101445
|
+
this ._bufferDuration = audioBuffer .duration;
|
|
101446
|
+
|
|
101447
|
+
this .setMediaElement (AudioElement .create (audioContext, this .getAudioSource (), audioBuffer));
|
|
101448
|
+
|
|
101449
|
+
this .set_detune__ ();
|
|
101450
|
+
this .set_playbackRate__ ();
|
|
101451
|
+
this .set_loopStart__ ();
|
|
101452
|
+
this .set_loopEnd__ ();
|
|
101064
101453
|
},
|
|
101065
101454
|
dispose ()
|
|
101066
101455
|
{
|
|
@@ -101103,17 +101492,17 @@ Object .defineProperties (BufferAudioSource,
|
|
|
101103
101492
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "autoRefresh", new x_ite_Fields .SFTime ()),
|
|
101104
101493
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "autoRefreshTimeLimit", new x_ite_Fields .SFTime (3600)),
|
|
101105
101494
|
|
|
101106
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
101107
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "detune", new x_ite_Fields .SFFloat (0)),
|
|
101108
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "buffer", new x_ite_Fields .MFFloat ()),
|
|
101109
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "bufferDuration", new x_ite_Fields .SFTime ()),
|
|
101110
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "bufferLength", new x_ite_Fields .SFInt32 ()),
|
|
101111
101495
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "numberOfChannels", new x_ite_Fields .SFInt32 ()),
|
|
101112
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "sampleRate", new x_ite_Fields .SFFloat (
|
|
101496
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "sampleRate", new x_ite_Fields .SFFloat ()),
|
|
101497
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "bufferLength", new x_ite_Fields .SFInt32 ()), // skip test
|
|
101498
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "buffer", new x_ite_Fields .MFFloat ()),
|
|
101499
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "bufferDuration", new x_ite_Fields .SFTime ()), // skip test
|
|
101500
|
+
|
|
101501
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
101502
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "detune", new x_ite_Fields .SFFloat ()),
|
|
101113
101503
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "playbackRate", new x_ite_Fields .SFFloat (1)),
|
|
101114
101504
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "loopStart", new x_ite_Fields .SFTime ()),
|
|
101115
101505
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "loopEnd", new x_ite_Fields .SFTime ()),
|
|
101116
|
-
|
|
101117
101506
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
|
|
101118
101507
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
|
|
101119
101508
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
|
|
@@ -101268,30 +101657,33 @@ Object .assign (Object .setPrototypeOf (X3DSoundChannelNode .prototype, Sound_X3
|
|
|
101268
101657
|
},
|
|
101269
101658
|
set_channelCountMode__: (function ()
|
|
101270
101659
|
{
|
|
101271
|
-
const channelCountModes = new
|
|
101660
|
+
const channelCountModes = new Map ([
|
|
101661
|
+
["MAX", "max"],
|
|
101662
|
+
["CLAMPED-MAX", "clamped-max"],
|
|
101663
|
+
["EXPLICIT", "explicit"],
|
|
101664
|
+
]);
|
|
101272
101665
|
|
|
101273
101666
|
return function ()
|
|
101274
101667
|
{
|
|
101275
101668
|
if (!this ._enabled .getValue ())
|
|
101276
101669
|
return;
|
|
101277
101670
|
|
|
101278
|
-
|
|
101279
|
-
|
|
101280
|
-
this .audioDestination .channelCountMode = channelCountModes .has (channelCountMode) ? channelCountMode : "max";
|
|
101671
|
+
this .audioDestination .channelCountMode = channelCountModes .get (this ._channelCountMode .getValue ()) ?? "max";
|
|
101281
101672
|
};
|
|
101282
101673
|
})(),
|
|
101283
101674
|
set_channelInterpretation__: (function ()
|
|
101284
101675
|
{
|
|
101285
|
-
const channelInterpretations = new
|
|
101676
|
+
const channelInterpretations = new Map ([
|
|
101677
|
+
["SPEAKERS", "speakers"],
|
|
101678
|
+
["DISCRETE", "discrete"],
|
|
101679
|
+
]);
|
|
101286
101680
|
|
|
101287
101681
|
return function ()
|
|
101288
101682
|
{
|
|
101289
101683
|
if (!this ._enabled .getValue ())
|
|
101290
101684
|
return;
|
|
101291
101685
|
|
|
101292
|
-
|
|
101293
|
-
|
|
101294
|
-
this .audioDestination .channelInterpretation = channelInterpretations .has (channelInterpretation) ? channelInterpretation : "speakers";
|
|
101686
|
+
this .audioDestination .channelInterpretation = channelInterpretations .get (this ._channelInterpretation .getValue ()) ?? "speakers";
|
|
101295
101687
|
};
|
|
101296
101688
|
})(),
|
|
101297
101689
|
set_children__ ()
|
|
@@ -101653,7 +102045,7 @@ Object .defineProperties (ChannelSelector,
|
|
|
101653
102045
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
101654
102046
|
|
|
101655
102047
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
101656
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelSelection", new x_ite_Fields .SFInt32 (
|
|
102048
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelSelection", new x_ite_Fields .SFInt32 ()),
|
|
101657
102049
|
|
|
101658
102050
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
|
|
101659
102051
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
|
|
@@ -101774,7 +102166,6 @@ Object .assign (Object .setPrototypeOf (ChannelSplitter .prototype, Sound_X3DSou
|
|
|
101774
102166
|
switch (type [t])
|
|
101775
102167
|
{
|
|
101776
102168
|
case Base_X3DConstants .X3DSoundChannelNode:
|
|
101777
|
-
case Base_X3DConstants .X3DSoundDestinationNode:
|
|
101778
102169
|
case Base_X3DConstants .X3DSoundProcessingNode:
|
|
101779
102170
|
this .outputNodes .push (outputNode);
|
|
101780
102171
|
break;
|
|
@@ -101921,14 +102312,64 @@ x_ite_Namespace .add ("ChannelSplitter", "x_ite/Components/Sound/ChannelSplitter
|
|
|
101921
102312
|
|
|
101922
102313
|
|
|
101923
102314
|
|
|
102315
|
+
|
|
101924
102316
|
function Convolver (executionContext)
|
|
101925
102317
|
{
|
|
101926
102318
|
Sound_X3DSoundProcessingNode .call (this, executionContext);
|
|
101927
102319
|
|
|
101928
102320
|
this .addType (Base_X3DConstants .Convolver);
|
|
102321
|
+
|
|
102322
|
+
const audioContext = this .getBrowser () .getAudioContext ();
|
|
102323
|
+
|
|
102324
|
+
this .convolverNode = new ConvolverNode (audioContext);
|
|
102325
|
+
|
|
102326
|
+
this .convolverNode .connect (this .getAudioSource ());
|
|
101929
102327
|
}
|
|
101930
102328
|
|
|
101931
|
-
Object .setPrototypeOf (Convolver .prototype, Sound_X3DSoundProcessingNode .prototype)
|
|
102329
|
+
Object .assign (Object .setPrototypeOf (Convolver .prototype, Sound_X3DSoundProcessingNode .prototype),
|
|
102330
|
+
{
|
|
102331
|
+
initialize ()
|
|
102332
|
+
{
|
|
102333
|
+
Sound_X3DSoundProcessingNode .prototype .initialize .call (this);
|
|
102334
|
+
|
|
102335
|
+
this ._numberOfChannels .addInterest ("set_buffer__", this);
|
|
102336
|
+
this ._buffer .addInterest ("set_buffer__", this);
|
|
102337
|
+
this ._normalize .addInterest ("set_normalize__", this);
|
|
102338
|
+
|
|
102339
|
+
this .set_buffer__ ();
|
|
102340
|
+
this .set_normalize__ ();
|
|
102341
|
+
},
|
|
102342
|
+
getSoundProcessor ()
|
|
102343
|
+
{
|
|
102344
|
+
return this .convolverNode;
|
|
102345
|
+
},
|
|
102346
|
+
set_buffer__ ()
|
|
102347
|
+
{
|
|
102348
|
+
const
|
|
102349
|
+
audioContext = this .getBrowser () .getAudioContext (),
|
|
102350
|
+
numberOfChannels = Math_Algorithm .clamp (this ._numberOfChannels .getValue (), 1, 32),
|
|
102351
|
+
sampleRate = audioContext .sampleRate,
|
|
102352
|
+
bufferLength = Math .max (Math .floor (this ._buffer .length / numberOfChannels), 1),
|
|
102353
|
+
audioBuffer = audioContext .createBuffer (numberOfChannels, bufferLength, sampleRate),
|
|
102354
|
+
buffer = this ._buffer .getValue ();
|
|
102355
|
+
|
|
102356
|
+
if (this ._buffer .length >= bufferLength * numberOfChannels)
|
|
102357
|
+
{
|
|
102358
|
+
for (let i = 0; i < numberOfChannels; ++ i)
|
|
102359
|
+
{
|
|
102360
|
+
const channelData = audioBuffer .getChannelData (i);
|
|
102361
|
+
|
|
102362
|
+
channelData .set (buffer .subarray (i * bufferLength, (i + 1) * bufferLength));
|
|
102363
|
+
}
|
|
102364
|
+
}
|
|
102365
|
+
|
|
102366
|
+
this .convolverNode .buffer = audioBuffer;
|
|
102367
|
+
},
|
|
102368
|
+
set_normalize__ ()
|
|
102369
|
+
{
|
|
102370
|
+
this .convolverNode .normalize = this ._normalize .getValue ();
|
|
102371
|
+
},
|
|
102372
|
+
});
|
|
101932
102373
|
|
|
101933
102374
|
Object .defineProperties (Convolver,
|
|
101934
102375
|
{
|
|
@@ -101955,14 +102396,16 @@ Object .defineProperties (Convolver,
|
|
|
101955
102396
|
fieldDefinitions:
|
|
101956
102397
|
{
|
|
101957
102398
|
value: new Base_FieldDefinitionArray ([
|
|
101958
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata",
|
|
101959
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description",
|
|
101960
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled",
|
|
102399
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
|
|
102400
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
|
|
102401
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
101961
102402
|
|
|
101962
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "
|
|
102403
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "numberOfChannels", new x_ite_Fields .SFInt32 ()), // skip test
|
|
101963
102404
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "buffer", new x_ite_Fields .MFFloat ()),
|
|
101964
|
-
|
|
102405
|
+
|
|
102406
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
101965
102407
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
|
|
102408
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "normalize", new x_ite_Fields .SFBool ()),
|
|
101966
102409
|
|
|
101967
102410
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
|
|
101968
102411
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
|
|
@@ -102041,14 +102484,42 @@ x_ite_Namespace .add ("Convolver", "x_ite/Components/Sound/Convolver", Convolver
|
|
|
102041
102484
|
|
|
102042
102485
|
|
|
102043
102486
|
|
|
102487
|
+
|
|
102044
102488
|
function Delay (executionContext)
|
|
102045
102489
|
{
|
|
102046
102490
|
Sound_X3DSoundProcessingNode .call (this, executionContext);
|
|
102047
102491
|
|
|
102048
102492
|
this .addType (Base_X3DConstants .Delay);
|
|
102493
|
+
|
|
102494
|
+
const audioContext = this .getBrowser () .getAudioContext ();
|
|
102495
|
+
|
|
102496
|
+
this .delayNode = new DelayNode (audioContext);
|
|
102497
|
+
|
|
102498
|
+
this .delayNode .connect (this .getAudioSource ());
|
|
102049
102499
|
}
|
|
102050
102500
|
|
|
102051
|
-
Object .setPrototypeOf (Delay .prototype, Sound_X3DSoundProcessingNode .prototype)
|
|
102501
|
+
Object .assign (Object .setPrototypeOf (Delay .prototype, Sound_X3DSoundProcessingNode .prototype),
|
|
102502
|
+
{
|
|
102503
|
+
initialize ()
|
|
102504
|
+
{
|
|
102505
|
+
Sound_X3DSoundProcessingNode .prototype .initialize .call (this);
|
|
102506
|
+
|
|
102507
|
+
this ._delayTime .addInterest ("set_delayTime__", this);
|
|
102508
|
+
this ._maxDelayTime .addInterest ("set_delayTime__", this);
|
|
102509
|
+
|
|
102510
|
+
this .set_delayTime__ ();
|
|
102511
|
+
},
|
|
102512
|
+
getSoundProcessor ()
|
|
102513
|
+
{
|
|
102514
|
+
return this .delayNode;
|
|
102515
|
+
},
|
|
102516
|
+
set_delayTime__ ()
|
|
102517
|
+
{
|
|
102518
|
+
const maxDelayTime = Math .max (this ._maxDelayTime .getValue (), 0);
|
|
102519
|
+
|
|
102520
|
+
this .delayNode .delayTime .value = Math_Algorithm .clamp (this ._delayTime .getValue (), 0, maxDelayTime);
|
|
102521
|
+
},
|
|
102522
|
+
});
|
|
102052
102523
|
|
|
102053
102524
|
Object .defineProperties (Delay,
|
|
102054
102525
|
{
|
|
@@ -102075,14 +102546,14 @@ Object .defineProperties (Delay,
|
|
|
102075
102546
|
fieldDefinitions:
|
|
102076
102547
|
{
|
|
102077
102548
|
value: new Base_FieldDefinitionArray ([
|
|
102078
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata",
|
|
102079
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description",
|
|
102080
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled",
|
|
102549
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
|
|
102550
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
|
|
102551
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
102081
102552
|
|
|
102082
102553
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
102554
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
|
|
102083
102555
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "delayTime", new x_ite_Fields .SFTime ()),
|
|
102084
102556
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "maxDelayTime", new x_ite_Fields .SFTime (1)),
|
|
102085
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
|
|
102086
102557
|
|
|
102087
102558
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
|
|
102088
102559
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
|
|
@@ -102161,14 +102632,69 @@ x_ite_Namespace .add ("Delay", "x_ite/Components/Sound/Delay", Delay_default_);
|
|
|
102161
102632
|
|
|
102162
102633
|
|
|
102163
102634
|
|
|
102635
|
+
|
|
102164
102636
|
function DynamicsCompressor (executionContext)
|
|
102165
102637
|
{
|
|
102166
102638
|
Sound_X3DSoundProcessingNode .call (this, executionContext);
|
|
102167
102639
|
|
|
102168
102640
|
this .addType (Base_X3DConstants .DynamicsCompressor);
|
|
102641
|
+
|
|
102642
|
+
const audioContext = this .getBrowser () .getAudioContext ();
|
|
102643
|
+
|
|
102644
|
+
this .dynamicsCompressorNode = new DynamicsCompressorNode (audioContext);
|
|
102645
|
+
|
|
102646
|
+
this .dynamicsCompressorNode .connect (this .getAudioSource ());
|
|
102169
102647
|
}
|
|
102170
102648
|
|
|
102171
|
-
Object .setPrototypeOf (DynamicsCompressor .prototype, Sound_X3DSoundProcessingNode .prototype)
|
|
102649
|
+
Object .assign (Object .setPrototypeOf (DynamicsCompressor .prototype, Sound_X3DSoundProcessingNode .prototype),
|
|
102650
|
+
{
|
|
102651
|
+
initialize ()
|
|
102652
|
+
{
|
|
102653
|
+
Sound_X3DSoundProcessingNode .prototype .initialize .call (this);
|
|
102654
|
+
|
|
102655
|
+
this ._attack .addInterest ("set_attack__", this);
|
|
102656
|
+
this ._knee .addInterest ("set_knee__", this);
|
|
102657
|
+
this ._ratio .addInterest ("set_ratio__", this);
|
|
102658
|
+
this ._release .addInterest ("set_release__", this);
|
|
102659
|
+
this ._threshold .addInterest ("set_threshold__", this);
|
|
102660
|
+
|
|
102661
|
+
this .set_attack__ ();
|
|
102662
|
+
this .set_knee__ ();
|
|
102663
|
+
this .set_ratio__ ();
|
|
102664
|
+
this .set_release__ ();
|
|
102665
|
+
this .set_threshold__ ();
|
|
102666
|
+
},
|
|
102667
|
+
getSoundProcessor ()
|
|
102668
|
+
{
|
|
102669
|
+
return this .dynamicsCompressorNode;
|
|
102670
|
+
},
|
|
102671
|
+
set_attack__ ()
|
|
102672
|
+
{
|
|
102673
|
+
this .dynamicsCompressorNode .attack .value = Math_Algorithm .clamp (this ._attack .getValue (), 0, 1);
|
|
102674
|
+
},
|
|
102675
|
+
set_knee__ ()
|
|
102676
|
+
{
|
|
102677
|
+
this .dynamicsCompressorNode .knee .value = Math_Algorithm .clamp (this ._knee .getValue (), 0, 40);
|
|
102678
|
+
},
|
|
102679
|
+
set_ratio__ ()
|
|
102680
|
+
{
|
|
102681
|
+
this .dynamicsCompressorNode .ratio .value = Math_Algorithm .clamp (this ._ratio .getValue (), 1, 20);
|
|
102682
|
+
},
|
|
102683
|
+
set_release__ ()
|
|
102684
|
+
{
|
|
102685
|
+
this .dynamicsCompressorNode .release .value = Math_Algorithm .clamp (this ._release .getValue (), 0, 1);
|
|
102686
|
+
},
|
|
102687
|
+
set_threshold__ ()
|
|
102688
|
+
{
|
|
102689
|
+
this .dynamicsCompressorNode .threshold .value = Math_Algorithm .clamp (this ._threshold .getValue (), -100, 0);
|
|
102690
|
+
},
|
|
102691
|
+
set_time ()
|
|
102692
|
+
{
|
|
102693
|
+
this ._reduction = this .dynamicsCompressorNode .reduction;
|
|
102694
|
+
|
|
102695
|
+
Sound_X3DSoundProcessingNode .prototype .set_time .call (this);
|
|
102696
|
+
},
|
|
102697
|
+
});
|
|
102172
102698
|
|
|
102173
102699
|
Object .defineProperties (DynamicsCompressor,
|
|
102174
102700
|
{
|
|
@@ -102200,13 +102726,13 @@ Object .defineProperties (DynamicsCompressor,
|
|
|
102200
102726
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
102201
102727
|
|
|
102202
102728
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
102203
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "
|
|
102729
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
|
|
102730
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "attack", new x_ite_Fields .SFTime (0.003)),
|
|
102204
102731
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "knee", new x_ite_Fields .SFFloat (30)),
|
|
102205
102732
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "ratio", new x_ite_Fields .SFFloat (12)),
|
|
102206
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "reduction", new x_ite_Fields .SFFloat ()),
|
|
102207
102733
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "release", new x_ite_Fields .SFTime (0.25)),
|
|
102208
102734
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "threshold", new x_ite_Fields .SFFloat (-24)),
|
|
102209
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .
|
|
102735
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "reduction", new x_ite_Fields .SFFloat ()),
|
|
102210
102736
|
|
|
102211
102737
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
|
|
102212
102738
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
|
|
@@ -102403,18 +102929,101 @@ x_ite_Namespace .add ("Gain", "x_ite/Components/Sound/Gain", Gain_default_);
|
|
|
102403
102929
|
|
|
102404
102930
|
|
|
102405
102931
|
|
|
102932
|
+
|
|
102933
|
+
|
|
102934
|
+
|
|
102935
|
+
|
|
102406
102936
|
function ListenerPointSource (executionContext)
|
|
102407
102937
|
{
|
|
102408
|
-
|
|
102938
|
+
Sound_X3DSoundNode .call (this, executionContext);
|
|
102409
102939
|
|
|
102410
102940
|
this .addType (Base_X3DConstants .ListenerPointSource);
|
|
102411
102941
|
|
|
102412
|
-
this .addChildObjects (Base_X3DConstants .inputOutput, "loop", new x_ite_Fields .SFBool ());
|
|
102413
|
-
|
|
102414
102942
|
this ._position .setUnit ("length");
|
|
102415
102943
|
}
|
|
102416
102944
|
|
|
102417
|
-
Object .setPrototypeOf (ListenerPointSource .prototype,
|
|
102945
|
+
Object .assign (Object .setPrototypeOf (ListenerPointSource .prototype, Sound_X3DSoundNode .prototype),
|
|
102946
|
+
{
|
|
102947
|
+
initialize ()
|
|
102948
|
+
{
|
|
102949
|
+
Sound_X3DSoundNode .prototype .initialize .call (this);
|
|
102950
|
+
|
|
102951
|
+
this ._enabled .addInterest ("set_trackCurrentView__", this)
|
|
102952
|
+
this ._trackCurrentView .addInterest ("set_trackCurrentView__", this);
|
|
102953
|
+
|
|
102954
|
+
this .set_trackCurrentView__ ();
|
|
102955
|
+
},
|
|
102956
|
+
set_trackCurrentView__ ()
|
|
102957
|
+
{
|
|
102958
|
+
if (!this ._enabled .getValue ())
|
|
102959
|
+
return;
|
|
102960
|
+
|
|
102961
|
+
if (!this ._trackCurrentView .getValue ())
|
|
102962
|
+
return;
|
|
102963
|
+
|
|
102964
|
+
const
|
|
102965
|
+
audioContext = this .getBrowser () .getAudioContext (),
|
|
102966
|
+
listener = audioContext .listener;
|
|
102967
|
+
|
|
102968
|
+
listener .positionX .value = 0;
|
|
102969
|
+
listener .positionY .value = 0;
|
|
102970
|
+
listener .positionZ .value = 0;
|
|
102971
|
+
|
|
102972
|
+
listener .forwardX .value = 0;
|
|
102973
|
+
listener .forwardY .value = 0;
|
|
102974
|
+
listener .forwardZ .value = -1;
|
|
102975
|
+
|
|
102976
|
+
listener .upX .value = 0;
|
|
102977
|
+
listener .upY .value = 1;
|
|
102978
|
+
listener .upZ .value = 0;
|
|
102979
|
+
},
|
|
102980
|
+
traverse: (() =>
|
|
102981
|
+
{
|
|
102982
|
+
const
|
|
102983
|
+
position = new Numbers_Vector3 (0, 0, 0),
|
|
102984
|
+
orientation = new Numbers_Rotation4 (),
|
|
102985
|
+
modelViewMatrix = new Numbers_Matrix4 (),
|
|
102986
|
+
forwardVector = new Numbers_Vector3 (0, 0, 0),
|
|
102987
|
+
upVector = new Numbers_Vector3 (0, 0, 0);
|
|
102988
|
+
|
|
102989
|
+
return function (type, renderObject)
|
|
102990
|
+
{
|
|
102991
|
+
if (type !== Rendering_TraverseType .DISPLAY)
|
|
102992
|
+
return;
|
|
102993
|
+
|
|
102994
|
+
if (!this ._enabled .getValue ())
|
|
102995
|
+
return;
|
|
102996
|
+
|
|
102997
|
+
if (this ._trackCurrentView .getValue ())
|
|
102998
|
+
return;
|
|
102999
|
+
|
|
103000
|
+
const
|
|
103001
|
+
audioContext = this .getBrowser () .getAudioContext (),
|
|
103002
|
+
listener = audioContext .listener;
|
|
103003
|
+
|
|
103004
|
+
modelViewMatrix
|
|
103005
|
+
.assign (renderObject .getModelViewMatrix () .get ())
|
|
103006
|
+
.translate (this ._position .getValue ())
|
|
103007
|
+
.rotate (this ._orientation .getValue ())
|
|
103008
|
+
.get (position, orientation);
|
|
103009
|
+
|
|
103010
|
+
orientation .multVecRot (forwardVector .assign (Numbers_Vector3 .zAxis) .negate ()) .normalize ();
|
|
103011
|
+
orientation .multVecRot (upVector .assign (Numbers_Vector3 .yAxis)) .normalize ();
|
|
103012
|
+
|
|
103013
|
+
listener .positionX .value = position .x;
|
|
103014
|
+
listener .positionY .value = position .y;
|
|
103015
|
+
listener .positionZ .value = position .z;
|
|
103016
|
+
|
|
103017
|
+
listener .forwardX .value = forwardVector .x;
|
|
103018
|
+
listener .forwardY .value = forwardVector .y;
|
|
103019
|
+
listener .forwardZ .value = forwardVector .z;
|
|
103020
|
+
|
|
103021
|
+
listener .upX .value = upVector .x;
|
|
103022
|
+
listener .upY .value = upVector .y;
|
|
103023
|
+
listener .upZ .value = upVector .z;
|
|
103024
|
+
};
|
|
103025
|
+
})(),
|
|
103026
|
+
});
|
|
102418
103027
|
|
|
102419
103028
|
Object .defineProperties (ListenerPointSource,
|
|
102420
103029
|
{
|
|
@@ -102445,20 +103054,12 @@ Object .defineProperties (ListenerPointSource,
|
|
|
102445
103054
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
|
|
102446
103055
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
102447
103056
|
|
|
103057
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "trackCurrentView", new x_ite_Fields .SFBool ()),
|
|
102448
103058
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "position", new x_ite_Fields .SFVec3f ()),
|
|
102449
103059
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "orientation", new x_ite_Fields .SFRotation ()),
|
|
102450
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
102451
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "dopplerEnabled", new x_ite_Fields .SFBool ()),
|
|
102452
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "interauralDistance", new x_ite_Fields .SFFloat ()),
|
|
102453
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "trackCurrentView", new x_ite_Fields .SFBool ()),
|
|
102454
103060
|
|
|
102455
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "
|
|
102456
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "
|
|
102457
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "pauseTime", new x_ite_Fields .SFTime ()),
|
|
102458
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "stopTime", new x_ite_Fields .SFTime ()),
|
|
102459
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "isPaused", new x_ite_Fields .SFBool ()),
|
|
102460
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "isActive", new x_ite_Fields .SFBool ()),
|
|
102461
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "elapsedTime", new x_ite_Fields .SFTime ()),
|
|
103061
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "interauralDistance", new x_ite_Fields .SFFloat ()),
|
|
103062
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "dopplerEnabled", new x_ite_Fields .SFBool ()),
|
|
102462
103063
|
]),
|
|
102463
103064
|
enumerable: true,
|
|
102464
103065
|
},
|
|
@@ -102470,7 +103071,6 @@ const ListenerPointSource_default_ = ListenerPointSource;
|
|
|
102470
103071
|
x_ite_Namespace .add ("ListenerPointSource", "x_ite/Components/Sound/ListenerPointSource", ListenerPointSource_default_);
|
|
102471
103072
|
/* harmony default export */ const Sound_ListenerPointSource = (ListenerPointSource_default_);
|
|
102472
103073
|
;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/MicrophoneSource.js
|
|
102473
|
-
/* provided dependency */ var MicrophoneSource_$ = __webpack_require__(183);
|
|
102474
103074
|
/*******************************************************************************
|
|
102475
103075
|
*
|
|
102476
103076
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -102530,7 +103130,7 @@ function MicrophoneSource (executionContext)
|
|
|
102530
103130
|
|
|
102531
103131
|
this .addType (Base_X3DConstants .MicrophoneSource);
|
|
102532
103132
|
|
|
102533
|
-
this .addChildObjects (Base_X3DConstants .inputOutput, "loop", new x_ite_Fields .SFBool (
|
|
103133
|
+
this .addChildObjects (Base_X3DConstants .inputOutput, "loop", new x_ite_Fields .SFBool ());
|
|
102534
103134
|
}
|
|
102535
103135
|
|
|
102536
103136
|
Object .assign (Object .setPrototypeOf (MicrophoneSource .prototype, Sound_X3DSoundSourceNode .prototype),
|
|
@@ -102561,11 +103161,11 @@ Object .assign (Object .setPrototypeOf (MicrophoneSource .prototype, Sound_X3DSo
|
|
|
102561
103161
|
deviceId: this ._mediaDeviceID .getValue (),
|
|
102562
103162
|
},
|
|
102563
103163
|
})
|
|
102564
|
-
.then (
|
|
103164
|
+
.then (mediaStream =>
|
|
102565
103165
|
{
|
|
102566
103166
|
const audioContext = this .getBrowser () .getAudioContext ();
|
|
102567
103167
|
|
|
102568
|
-
this .
|
|
103168
|
+
this .mediaStreamAudioSourceNode = new MediaStreamAudioSourceNode (audioContext, { mediaStream });
|
|
102569
103169
|
|
|
102570
103170
|
if (this ._isActive .getValue ())
|
|
102571
103171
|
{
|
|
@@ -102586,17 +103186,17 @@ Object .assign (Object .setPrototypeOf (MicrophoneSource .prototype, Sound_X3DSo
|
|
|
102586
103186
|
},
|
|
102587
103187
|
set_pause ()
|
|
102588
103188
|
{
|
|
102589
|
-
if (!this .
|
|
103189
|
+
if (!this .mediaStreamAudioSourceNode)
|
|
102590
103190
|
return;
|
|
102591
103191
|
|
|
102592
103192
|
if (this .getLive () .getValue ())
|
|
102593
103193
|
{
|
|
102594
|
-
|
|
103194
|
+
this .mediaStreamAudioSourceNode .disconnect ();
|
|
102595
103195
|
|
|
102596
|
-
for (const track of this .
|
|
103196
|
+
for (const track of this .mediaStreamAudioSourceNode .mediaStream .getAudioTracks ())
|
|
102597
103197
|
track .enabled = false;
|
|
102598
103198
|
|
|
102599
|
-
for (const track of this .
|
|
103199
|
+
for (const track of this .mediaStreamAudioSourceNode .mediaStream .getVideoTracks ())
|
|
102600
103200
|
track .enabled = false;
|
|
102601
103201
|
}
|
|
102602
103202
|
else
|
|
@@ -102609,32 +103209,32 @@ Object .assign (Object .setPrototypeOf (MicrophoneSource .prototype, Sound_X3DSo
|
|
|
102609
103209
|
if (this .restore)
|
|
102610
103210
|
return this .set_start ();
|
|
102611
103211
|
|
|
102612
|
-
if (!this .
|
|
103212
|
+
if (!this .mediaStreamAudioSourceNode)
|
|
102613
103213
|
return;
|
|
102614
103214
|
|
|
102615
|
-
this .
|
|
103215
|
+
this .mediaStreamAudioSourceNode .connect (this .getAudioSource ());
|
|
102616
103216
|
|
|
102617
|
-
for (const track of this .
|
|
103217
|
+
for (const track of this .mediaStreamAudioSourceNode .mediaStream .getAudioTracks ())
|
|
102618
103218
|
track .enabled = true;
|
|
102619
103219
|
|
|
102620
|
-
for (const track of this .
|
|
103220
|
+
for (const track of this .mediaStreamAudioSourceNode .mediaStream .getVideoTracks ())
|
|
102621
103221
|
track .enabled = true;
|
|
102622
103222
|
},
|
|
102623
103223
|
set_stop (restore = false)
|
|
102624
103224
|
{
|
|
102625
|
-
if (!this .
|
|
103225
|
+
if (!this .mediaStreamAudioSourceNode)
|
|
102626
103226
|
return;
|
|
102627
103227
|
|
|
102628
|
-
|
|
103228
|
+
this .mediaStreamAudioSourceNode .disconnect ();
|
|
102629
103229
|
|
|
102630
|
-
for (const track of this .
|
|
103230
|
+
for (const track of this .mediaStreamAudioSourceNode .mediaStream .getAudioTracks ())
|
|
102631
103231
|
track .stop ();
|
|
102632
103232
|
|
|
102633
|
-
for (const track of this .
|
|
103233
|
+
for (const track of this .mediaStreamAudioSourceNode .mediaStream .getVideoTracks ())
|
|
102634
103234
|
track .stop ();
|
|
102635
103235
|
|
|
102636
|
-
this .
|
|
102637
|
-
this .restore
|
|
103236
|
+
this .mediaStreamAudioSourceNode = null;
|
|
103237
|
+
this .restore = restore;
|
|
102638
103238
|
},
|
|
102639
103239
|
});
|
|
102640
103240
|
|
|
@@ -102769,11 +103369,12 @@ Object .assign (Object .setPrototypeOf (OscillatorSource .prototype, Sound_X3DSo
|
|
|
102769
103369
|
},
|
|
102770
103370
|
set_type__: (function ()
|
|
102771
103371
|
{
|
|
102772
|
-
const types = new
|
|
102773
|
-
"sine",
|
|
102774
|
-
"square",
|
|
102775
|
-
"sawtooth",
|
|
102776
|
-
"triangle",
|
|
103372
|
+
const types = new Map ([
|
|
103373
|
+
["SINE", "sine"],
|
|
103374
|
+
["SQUARE", "square"],
|
|
103375
|
+
["SAWTOOTH", "sawtooth"],
|
|
103376
|
+
["TRIANGLE", "triangle"],
|
|
103377
|
+
["CUSTOM", "custom"],
|
|
102777
103378
|
]);
|
|
102778
103379
|
|
|
102779
103380
|
return function ()
|
|
@@ -102781,7 +103382,7 @@ Object .assign (Object .setPrototypeOf (OscillatorSource .prototype, Sound_X3DSo
|
|
|
102781
103382
|
this .periodicWaveNode ._optionsReal .removeInterest ("set_periodicWaveOptions__", this);
|
|
102782
103383
|
this .periodicWaveNode ._optionsImag .removeInterest ("set_periodicWaveOptions__", this);
|
|
102783
103384
|
|
|
102784
|
-
const type = this .periodicWaveNode ._type .getValue ()
|
|
103385
|
+
const type = types .get (this .periodicWaveNode ._type .getValue ()) ?? "square";
|
|
102785
103386
|
|
|
102786
103387
|
if (type === "custom")
|
|
102787
103388
|
{
|
|
@@ -102792,21 +103393,23 @@ Object .assign (Object .setPrototypeOf (OscillatorSource .prototype, Sound_X3DSo
|
|
|
102792
103393
|
}
|
|
102793
103394
|
else
|
|
102794
103395
|
{
|
|
102795
|
-
this .oscillatorNode .type =
|
|
103396
|
+
this .oscillatorNode .type = type;
|
|
102796
103397
|
}
|
|
102797
103398
|
};
|
|
102798
103399
|
})(),
|
|
102799
|
-
set_frequency__ ()
|
|
102800
|
-
{
|
|
102801
|
-
this .oscillatorNode .frequency .value = Math .max (this ._frequency .getValue (), 0);
|
|
102802
|
-
},
|
|
102803
103400
|
set_detune__ ()
|
|
102804
103401
|
{
|
|
102805
103402
|
this .oscillatorNode .detune .value = Math .max (this ._detune .getValue (), 0);
|
|
102806
103403
|
},
|
|
103404
|
+
set_frequency__ ()
|
|
103405
|
+
{
|
|
103406
|
+
this .oscillatorNode .frequency .value = Math .max (this ._frequency .getValue (), 0);
|
|
103407
|
+
},
|
|
102807
103408
|
set_periodicWave__ ()
|
|
102808
103409
|
{
|
|
102809
|
-
this .periodicWaveNode ?._type
|
|
103410
|
+
this .periodicWaveNode ?._type .removeInterest ("set_type__", this);
|
|
103411
|
+
this .periodicWaveNode ?._optionsReal .removeInterest ("set_periodicWaveOptions__", this);
|
|
103412
|
+
this .periodicWaveNode ?._optionsImag .removeInterest ("set_periodicWaveOptions__", this);
|
|
102810
103413
|
|
|
102811
103414
|
this .periodicWaveNode = Base_X3DCast (Base_X3DConstants .PeriodicWave, this ._periodicWave)
|
|
102812
103415
|
?? this .getBrowser () .getDefaultPeriodicWave ();
|
|
@@ -102877,8 +103480,8 @@ Object .defineProperties (OscillatorSource,
|
|
|
102877
103480
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
102878
103481
|
|
|
102879
103482
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
102880
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "frequency", new x_ite_Fields .SFFloat ()),
|
|
102881
103483
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "detune", new x_ite_Fields .SFFloat ()),
|
|
103484
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "frequency", new x_ite_Fields .SFFloat ()),
|
|
102882
103485
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "periodicWave", new x_ite_Fields .SFNode ()),
|
|
102883
103486
|
|
|
102884
103487
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "startTime", new x_ite_Fields .SFTime ()),
|
|
@@ -103113,28 +103716,37 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
|
|
|
103113
103716
|
Sound_X3DSoundNode .prototype .initialize .call (this);
|
|
103114
103717
|
|
|
103115
103718
|
const
|
|
103116
|
-
audioContext
|
|
103117
|
-
gainNode
|
|
103118
|
-
splitterNode
|
|
103119
|
-
mergerNode
|
|
103120
|
-
|
|
103121
|
-
|
|
103719
|
+
audioContext = this .getBrowser () .getAudioContext (),
|
|
103720
|
+
gainNode = new GainNode (audioContext, { gain: 0 }),
|
|
103721
|
+
splitterNode = new ChannelSplitterNode (audioContext, { numberOfOutputs: 2 }),
|
|
103722
|
+
mergerNode = new ChannelMergerNode (audioContext, { numberOfInputs: 2 }),
|
|
103723
|
+
gainFrontLeftNode = new GainNode (audioContext, { gain: 0 }),
|
|
103724
|
+
gainFrontRightNode = new GainNode (audioContext, { gain: 0 }),
|
|
103725
|
+
gainBackLeftNode = new GainNode (audioContext, { gain: 0 }),
|
|
103726
|
+
gainBackRightNode = new GainNode (audioContext, { gain: 0 });
|
|
103122
103727
|
|
|
103123
103728
|
gainNode .channelCount = 2;
|
|
103124
103729
|
gainNode .channelCountMode = "explicit";
|
|
103125
103730
|
gainNode .channelInterpretation = "speakers";
|
|
103126
103731
|
|
|
103127
|
-
gainNode
|
|
103128
|
-
splitterNode
|
|
103129
|
-
splitterNode
|
|
103130
|
-
|
|
103131
|
-
|
|
103132
|
-
|
|
103133
|
-
|
|
103134
|
-
|
|
103135
|
-
|
|
103136
|
-
|
|
103137
|
-
|
|
103732
|
+
gainNode .connect (splitterNode);
|
|
103733
|
+
splitterNode .connect (gainFrontLeftNode, 0);
|
|
103734
|
+
splitterNode .connect (gainFrontRightNode, 1);
|
|
103735
|
+
splitterNode .connect (gainBackRightNode, 0);
|
|
103736
|
+
splitterNode .connect (gainBackLeftNode, 1);
|
|
103737
|
+
gainFrontLeftNode .connect (mergerNode, 0, 0);
|
|
103738
|
+
gainFrontRightNode .connect (mergerNode, 0, 1);
|
|
103739
|
+
gainBackLeftNode .connect (mergerNode, 0, 0);
|
|
103740
|
+
gainBackRightNode .connect (mergerNode, 0, 1);
|
|
103741
|
+
mergerNode .connect (audioContext .destination);
|
|
103742
|
+
|
|
103743
|
+
this .gainNode = gainNode;
|
|
103744
|
+
this .splitterNode = splitterNode;
|
|
103745
|
+
this .gainFrontLeftNode = gainFrontLeftNode;
|
|
103746
|
+
this .gainFrontRightNode = gainFrontRightNode;
|
|
103747
|
+
this .gainBackLeftNode = gainBackLeftNode;
|
|
103748
|
+
this .gainBackRightNode = gainBackRightNode;
|
|
103749
|
+
this .mergerNode = mergerNode;
|
|
103138
103750
|
|
|
103139
103751
|
this .getLive () .addInterest ("set_live__", this);
|
|
103140
103752
|
this ._traversed .addInterest ("set_live__", this);
|
|
@@ -103166,21 +103778,34 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
|
|
|
103166
103778
|
{
|
|
103167
103779
|
return this .currentTraversed;
|
|
103168
103780
|
},
|
|
103169
|
-
setGain (gain, pan = 0.5)
|
|
103781
|
+
setGain (gain, pan = 0.5, rotation = 0)
|
|
103170
103782
|
{
|
|
103171
|
-
|
|
103172
|
-
|
|
103783
|
+
const
|
|
103784
|
+
panLeft = 1 - pan ** 2,
|
|
103785
|
+
panRight = 1 - (1 - pan) ** 2,
|
|
103786
|
+
rotationFront = 1 - rotation,
|
|
103787
|
+
rotationBack = rotation;
|
|
103788
|
+
|
|
103789
|
+
this .gainFrontLeftNode .gain .value = gain * rotationFront * panLeft;
|
|
103790
|
+
this .gainFrontRightNode .gain .value = gain * rotationFront * panRight;
|
|
103791
|
+
this .gainBackLeftNode .gain .value = gain * rotationBack * panLeft;
|
|
103792
|
+
this .gainBackRightNode .gain .value = gain * rotationBack * panRight;
|
|
103173
103793
|
},
|
|
103174
103794
|
set_live__ ()
|
|
103175
103795
|
{
|
|
103796
|
+
this .mergerNode .disconnect ();
|
|
103797
|
+
|
|
103176
103798
|
if (this .getLive () .getValue () && this ._traversed .getValue ())
|
|
103177
103799
|
{
|
|
103800
|
+
const audioContext = this .getBrowser () .getAudioContext ();
|
|
103801
|
+
|
|
103178
103802
|
this .getBrowser () .sensorEvents () .addInterest ("update", this);
|
|
103803
|
+
|
|
103804
|
+
this .mergerNode .connect (audioContext .destination);
|
|
103179
103805
|
}
|
|
103180
103806
|
else
|
|
103181
103807
|
{
|
|
103182
103808
|
this .getBrowser () .sensorEvents () .removeInterest ("update", this);
|
|
103183
|
-
this .setGain (0);
|
|
103184
103809
|
}
|
|
103185
103810
|
},
|
|
103186
103811
|
set_intensity__ ()
|
|
@@ -103230,9 +103855,6 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
|
|
|
103230
103855
|
},
|
|
103231
103856
|
update ()
|
|
103232
103857
|
{
|
|
103233
|
-
if (!this .getTraversed ())
|
|
103234
|
-
this .setGain (0);
|
|
103235
|
-
|
|
103236
103858
|
this .setTraversed (false);
|
|
103237
103859
|
},
|
|
103238
103860
|
traverse: (() =>
|
|
@@ -103249,9 +103871,6 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
|
|
|
103249
103871
|
if (!this .childNodes .length)
|
|
103250
103872
|
return;
|
|
103251
103873
|
|
|
103252
|
-
// if (!this .sourceNode ._isActive .getValue () || this .sourceNode ._isPaused .getValue ())
|
|
103253
|
-
// return;
|
|
103254
|
-
|
|
103255
103874
|
this .setTraversed (true);
|
|
103256
103875
|
|
|
103257
103876
|
const modelViewMatrix = renderObject .getModelViewMatrix () .get ();
|
|
@@ -103268,11 +103887,11 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
|
|
|
103268
103887
|
Math .max (this ._minFront .getValue (), 0),
|
|
103269
103888
|
min);
|
|
103270
103889
|
|
|
103271
|
-
const pan = this .getPan (modelViewMatrix);
|
|
103890
|
+
const { pan, rotation } = this .getPan (modelViewMatrix);
|
|
103272
103891
|
|
|
103273
103892
|
if (min .distance < 1) // Radius of normalized sphere is 1.
|
|
103274
103893
|
{
|
|
103275
|
-
this .setGain (1, pan);
|
|
103894
|
+
this .setGain (1, pan, rotation);
|
|
103276
103895
|
}
|
|
103277
103896
|
else
|
|
103278
103897
|
{
|
|
@@ -103281,7 +103900,7 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
|
|
|
103281
103900
|
d2 = max .intersection .distance (min .intersection),
|
|
103282
103901
|
d = Math .min (d1 / d2, 1);
|
|
103283
103902
|
|
|
103284
|
-
this .setGain (d, pan);
|
|
103903
|
+
this .setGain (d, pan, rotation);
|
|
103285
103904
|
}
|
|
103286
103905
|
}
|
|
103287
103906
|
else
|
|
@@ -103353,18 +103972,34 @@ Object .assign (Object .setPrototypeOf (Sound .prototype, Sound_X3DSoundNode .pr
|
|
|
103353
103972
|
})(),
|
|
103354
103973
|
getPan: (function ()
|
|
103355
103974
|
{
|
|
103356
|
-
const
|
|
103975
|
+
const
|
|
103976
|
+
rotation = new Numbers_Rotation4 (),
|
|
103977
|
+
location = new Numbers_Vector3 (0, 0, 0),
|
|
103978
|
+
direction = new Numbers_Vector3 (0, 0, 0),
|
|
103979
|
+
xAxis = new Numbers_Vector3 (0, 0, 0),
|
|
103980
|
+
result = { };
|
|
103357
103981
|
|
|
103358
103982
|
return function (modelViewMatrix)
|
|
103359
103983
|
{
|
|
103360
103984
|
if (!this ._spatialize .getValue ())
|
|
103361
|
-
|
|
103985
|
+
{
|
|
103986
|
+
result .pan = 0.5;
|
|
103987
|
+
result .rotation = 0;
|
|
103988
|
+
return result;
|
|
103989
|
+
}
|
|
103362
103990
|
|
|
103363
|
-
|
|
103364
|
-
|
|
103365
|
-
|
|
103991
|
+
location .assign (this ._location .getValue ());
|
|
103992
|
+
direction .assign (this ._direction .getValue ());
|
|
103993
|
+
rotation .setFromToVec (Numbers_Vector3 .zAxis, direction) .straighten ();
|
|
103994
|
+
rotation .multVecRot (xAxis .assign (Numbers_Vector3 .xAxis));
|
|
103366
103995
|
|
|
103367
|
-
|
|
103996
|
+
modelViewMatrix .multVecMatrix (location) .normalize ();
|
|
103997
|
+
modelViewMatrix .multDirMatrix (xAxis) .normalize ();
|
|
103998
|
+
|
|
103999
|
+
result .pan = 1 - Math .acos (Math_Algorithm .clamp (location .dot (Numbers_Vector3 .xAxis), -1, 1)) / Math .PI;
|
|
104000
|
+
result .rotation = Math .acos (Math_Algorithm .clamp (xAxis .dot (Numbers_Vector3 .xAxis), -1, 1)) / Math .PI;
|
|
104001
|
+
|
|
104002
|
+
return result;
|
|
103368
104003
|
};
|
|
103369
104004
|
})(),
|
|
103370
104005
|
});
|
|
@@ -103472,16 +104107,247 @@ x_ite_Namespace .add ("Sound", "x_ite/Components/Sound/Sound", Sound_default_);
|
|
|
103472
104107
|
|
|
103473
104108
|
|
|
103474
104109
|
|
|
104110
|
+
|
|
104111
|
+
|
|
104112
|
+
|
|
104113
|
+
|
|
103475
104114
|
function SpatialSound (executionContext)
|
|
103476
104115
|
{
|
|
103477
104116
|
Sound_X3DSoundNode .call (this, executionContext);
|
|
103478
104117
|
|
|
103479
104118
|
this .addType (Base_X3DConstants .SpatialSound);
|
|
103480
104119
|
|
|
103481
|
-
this .
|
|
104120
|
+
this .addChildObjects (Base_X3DConstants .outputOnly, "traversed", new x_ite_Fields .SFBool (true));
|
|
104121
|
+
|
|
104122
|
+
this ._location .setUnit ("length");
|
|
104123
|
+
this ._coneInnerAngle .setUnit ("angle");
|
|
104124
|
+
this ._coneOuterAngle .setUnit ("angle");
|
|
104125
|
+
|
|
104126
|
+
this .childNodes = [ ];
|
|
104127
|
+
this .currentTraversed = true;
|
|
103482
104128
|
}
|
|
103483
104129
|
|
|
103484
|
-
Object .setPrototypeOf (SpatialSound .prototype, Sound_X3DSoundNode .prototype)
|
|
104130
|
+
Object .assign (Object .setPrototypeOf (SpatialSound .prototype, Sound_X3DSoundNode .prototype),
|
|
104131
|
+
{
|
|
104132
|
+
initialize ()
|
|
104133
|
+
{
|
|
104134
|
+
Sound_X3DSoundNode .prototype .initialize .call (this);
|
|
104135
|
+
|
|
104136
|
+
const
|
|
104137
|
+
audioContext = this .getBrowser () .getAudioContext (),
|
|
104138
|
+
gainNode = new GainNode (audioContext, { gain: 0 }),
|
|
104139
|
+
pannerNode = new PannerNode (audioContext);
|
|
104140
|
+
|
|
104141
|
+
gainNode .channelCount = 2;
|
|
104142
|
+
gainNode .channelCountMode = "explicit";
|
|
104143
|
+
gainNode .channelInterpretation = "speakers";
|
|
104144
|
+
|
|
104145
|
+
gainNode .connect (pannerNode);
|
|
104146
|
+
pannerNode .connect (audioContext .destination);
|
|
104147
|
+
|
|
104148
|
+
this .gainNode = gainNode;
|
|
104149
|
+
this .pannerNode = pannerNode;
|
|
104150
|
+
|
|
104151
|
+
this .getLive () .addInterest ("set_live__", this);
|
|
104152
|
+
this ._traversed .addInterest ("set_live__", this);
|
|
104153
|
+
|
|
104154
|
+
this ._spatialize .addInterest ("set_spatialize__", this);
|
|
104155
|
+
this ._intensity .addInterest ("set_intensity__", this);
|
|
104156
|
+
this ._gain .addInterest ("set_intensity__", this);
|
|
104157
|
+
this ._enableHRTF .addInterest ("set_enableHRTF__", this);
|
|
104158
|
+
this ._dopplerEnabled .addInterest ("set_dopplerEnabled__", this);
|
|
104159
|
+
this ._coneOuterGain .addInterest ("set_coneOuterGain__", this);
|
|
104160
|
+
this ._coneInnerAngle .addInterest ("set_coneInnerAngle__", this);
|
|
104161
|
+
this ._coneOuterAngle .addInterest ("set_coneOuterAngle__", this);
|
|
104162
|
+
this ._distanceModel .addInterest ("set_distanceModel__", this);
|
|
104163
|
+
this ._maxDistance .addInterest ("set_maxDistance__", this);
|
|
104164
|
+
this ._referenceDistance .addInterest ("set_referenceDistance__", this);
|
|
104165
|
+
this ._rolloffFactor .addInterest ("set_distanceModel__", this);
|
|
104166
|
+
this ._children .addInterest ("set_children__", this);
|
|
104167
|
+
|
|
104168
|
+
this .set_live__ ();
|
|
104169
|
+
this .set_spatialize__ ();
|
|
104170
|
+
this .set_intensity__ ();
|
|
104171
|
+
this .set_enableHRTF__ ();
|
|
104172
|
+
this .set_dopplerEnabled__ ();
|
|
104173
|
+
this .set_coneOuterGain__ ();
|
|
104174
|
+
this .set_coneInnerAngle__ ();
|
|
104175
|
+
this .set_coneOuterAngle__ ();
|
|
104176
|
+
this .set_distanceModel__ ();
|
|
104177
|
+
this .set_maxDistance__ ();
|
|
104178
|
+
this .set_referenceDistance__ ();
|
|
104179
|
+
this .set_children__ ();
|
|
104180
|
+
},
|
|
104181
|
+
setTraversed (value)
|
|
104182
|
+
{
|
|
104183
|
+
if (value)
|
|
104184
|
+
{
|
|
104185
|
+
if (this ._traversed .getValue () === false)
|
|
104186
|
+
this ._traversed = true;
|
|
104187
|
+
}
|
|
104188
|
+
else
|
|
104189
|
+
{
|
|
104190
|
+
if (this .currentTraversed !== this ._traversed .getValue ())
|
|
104191
|
+
this ._traversed = this .currentTraversed;
|
|
104192
|
+
}
|
|
104193
|
+
|
|
104194
|
+
this .currentTraversed = value;
|
|
104195
|
+
},
|
|
104196
|
+
getTraversed ()
|
|
104197
|
+
{
|
|
104198
|
+
return this .currentTraversed;
|
|
104199
|
+
},
|
|
104200
|
+
set_live__ ()
|
|
104201
|
+
{
|
|
104202
|
+
this .pannerNode .disconnect ();
|
|
104203
|
+
|
|
104204
|
+
if (this .getLive () .getValue () && this ._traversed .getValue ())
|
|
104205
|
+
{
|
|
104206
|
+
const audioContext = this .getBrowser () .getAudioContext ();
|
|
104207
|
+
|
|
104208
|
+
this .getBrowser () .sensorEvents () .addInterest ("update", this);
|
|
104209
|
+
|
|
104210
|
+
this .pannerNode .connect (audioContext .destination);
|
|
104211
|
+
}
|
|
104212
|
+
else
|
|
104213
|
+
{
|
|
104214
|
+
this .getBrowser () .sensorEvents () .removeInterest ("update", this);
|
|
104215
|
+
}
|
|
104216
|
+
},
|
|
104217
|
+
set_spatialize__ ()
|
|
104218
|
+
{
|
|
104219
|
+
const audioContext = this .getBrowser () .getAudioContext ();
|
|
104220
|
+
|
|
104221
|
+
this .gainNode .disconnect ();
|
|
104222
|
+
|
|
104223
|
+
if (this ._spatialize .getValue ())
|
|
104224
|
+
this .gainNode .connect (this .pannerNode);
|
|
104225
|
+
else
|
|
104226
|
+
this .gainNode .connect (audioContext .destination);
|
|
104227
|
+
},
|
|
104228
|
+
set_intensity__ ()
|
|
104229
|
+
{
|
|
104230
|
+
this .gainNode .gain .value = Math_Algorithm .clamp (this ._intensity .getValue (), 0, 1) * this ._gain .getValue ();
|
|
104231
|
+
},
|
|
104232
|
+
set_enableHRTF__ ()
|
|
104233
|
+
{
|
|
104234
|
+
if (this ._enableHRTF .getValue ())
|
|
104235
|
+
this .pannerNode .panningModel = "HRTF";
|
|
104236
|
+
else
|
|
104237
|
+
this .pannerNode .panningModel = "equalpower";
|
|
104238
|
+
},
|
|
104239
|
+
set_dopplerEnabled__ ()
|
|
104240
|
+
{
|
|
104241
|
+
// Depreciated: https://github.com/WebAudio/web-audio-api/issues/372.
|
|
104242
|
+
},
|
|
104243
|
+
set_coneOuterGain__ ()
|
|
104244
|
+
{
|
|
104245
|
+
this .pannerNode .coneOuterGain = Math_Algorithm .clamp (this ._coneOuterGain .getValue (), 0, 1);
|
|
104246
|
+
},
|
|
104247
|
+
set_coneInnerAngle__ ()
|
|
104248
|
+
{
|
|
104249
|
+
this .pannerNode .coneInnerAngle = Math_Algorithm .clamp (Math_Algorithm .degrees (this ._coneInnerAngle .getValue ()), 0, 360);
|
|
104250
|
+
},
|
|
104251
|
+
set_coneOuterAngle__ ()
|
|
104252
|
+
{
|
|
104253
|
+
this .pannerNode .coneOuterAngle = Math_Algorithm .clamp (Math_Algorithm .degrees (this ._coneOuterAngle .getValue ()), 0, 360);
|
|
104254
|
+
},
|
|
104255
|
+
set_distanceModel__: (function ()
|
|
104256
|
+
{
|
|
104257
|
+
const distanceModels = new Map ([
|
|
104258
|
+
["LINEAR", "linear"],
|
|
104259
|
+
["INVERSE", "inverse"],
|
|
104260
|
+
["EXPONENTIAL", "exponential"],
|
|
104261
|
+
]);
|
|
104262
|
+
|
|
104263
|
+
return function ()
|
|
104264
|
+
{
|
|
104265
|
+
this .pannerNode .distanceModel = distanceModels .get (this ._distanceModel .getValue ()) ?? "inverse";
|
|
104266
|
+
|
|
104267
|
+
let rolloffFactor = Math .max (this ._rolloffFactor .getValue (), 0);
|
|
104268
|
+
|
|
104269
|
+
if (this .pannerNode .distanceModel === "linear")
|
|
104270
|
+
rolloffFactor = Math .min (rolloffFactor, 1);
|
|
104271
|
+
|
|
104272
|
+
this .pannerNode .rolloffFactor = rolloffFactor;
|
|
104273
|
+
};
|
|
104274
|
+
})(),
|
|
104275
|
+
set_maxDistance__ ()
|
|
104276
|
+
{
|
|
104277
|
+
this .pannerNode .maxDistance = Math .max (this ._maxDistance .getValue (), 0);
|
|
104278
|
+
},
|
|
104279
|
+
set_referenceDistance__ ()
|
|
104280
|
+
{
|
|
104281
|
+
this .pannerNode .refDistance = Math .max (this ._referenceDistance .getValue (), 0);
|
|
104282
|
+
},
|
|
104283
|
+
set_children__ ()
|
|
104284
|
+
{
|
|
104285
|
+
for (const childNode of this .childNodes)
|
|
104286
|
+
childNode .getAudioSource () .disconnect (this .gainNode);
|
|
104287
|
+
|
|
104288
|
+
this .childNodes .length = 0;
|
|
104289
|
+
|
|
104290
|
+
for (const child of this ._children)
|
|
104291
|
+
{
|
|
104292
|
+
const childNode = Base_X3DCast (Base_X3DConstants .X3DChildNode, child);
|
|
104293
|
+
|
|
104294
|
+
if (!childNode)
|
|
104295
|
+
continue;
|
|
104296
|
+
|
|
104297
|
+
const type = childNode .getType ();
|
|
104298
|
+
|
|
104299
|
+
for (let t = type .length - 1; t >= 0; -- t)
|
|
104300
|
+
{
|
|
104301
|
+
switch (type [t])
|
|
104302
|
+
{
|
|
104303
|
+
case Base_X3DConstants .X3DSoundChannelNode:
|
|
104304
|
+
case Base_X3DConstants .X3DSoundProcessingNode:
|
|
104305
|
+
case Base_X3DConstants .X3DSoundSourceNode:
|
|
104306
|
+
this .childNodes .push (childNode);
|
|
104307
|
+
break;
|
|
104308
|
+
default:
|
|
104309
|
+
continue;
|
|
104310
|
+
}
|
|
104311
|
+
|
|
104312
|
+
break;
|
|
104313
|
+
}
|
|
104314
|
+
}
|
|
104315
|
+
|
|
104316
|
+
for (const childNode of this .childNodes)
|
|
104317
|
+
childNode .getAudioSource () .connect (this .gainNode);
|
|
104318
|
+
},
|
|
104319
|
+
update ()
|
|
104320
|
+
{
|
|
104321
|
+
this .setTraversed (false);
|
|
104322
|
+
},
|
|
104323
|
+
traverse: (() =>
|
|
104324
|
+
{
|
|
104325
|
+
const
|
|
104326
|
+
location = new Numbers_Vector3 (0, 0, 0),
|
|
104327
|
+
direction = new Numbers_Vector3 (0, 0, 0);
|
|
104328
|
+
|
|
104329
|
+
return function (type, renderObject)
|
|
104330
|
+
{
|
|
104331
|
+
if (type !== Rendering_TraverseType .DISPLAY)
|
|
104332
|
+
return;
|
|
104333
|
+
|
|
104334
|
+
this .setTraversed (true);
|
|
104335
|
+
|
|
104336
|
+
const modelViewMatrix = renderObject .getModelViewMatrix () .get ();
|
|
104337
|
+
|
|
104338
|
+
modelViewMatrix .multVecMatrix (location .assign (this ._location .getValue ()));
|
|
104339
|
+
modelViewMatrix .multDirMatrix (direction .assign (this ._direction .getValue ())) .normalize ();
|
|
104340
|
+
|
|
104341
|
+
this .pannerNode .positionX .value = location .x;
|
|
104342
|
+
this .pannerNode .positionY .value = location .y;
|
|
104343
|
+
this .pannerNode .positionZ .value = location .z;
|
|
104344
|
+
|
|
104345
|
+
this .pannerNode .orientationX .value = direction .x;
|
|
104346
|
+
this .pannerNode .orientationY .value = direction .y;
|
|
104347
|
+
this .pannerNode .orientationZ .value = direction .z;
|
|
104348
|
+
};
|
|
104349
|
+
})(),
|
|
104350
|
+
});
|
|
103485
104351
|
|
|
103486
104352
|
Object .defineProperties (SpatialSound,
|
|
103487
104353
|
{
|
|
@@ -103508,27 +104374,27 @@ Object .defineProperties (SpatialSound,
|
|
|
103508
104374
|
fieldDefinitions:
|
|
103509
104375
|
{
|
|
103510
104376
|
value: new Base_FieldDefinitionArray ([
|
|
103511
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata",
|
|
103512
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description",
|
|
103513
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled",
|
|
104377
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
|
|
104378
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
|
|
104379
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
103514
104380
|
|
|
103515
104381
|
new Base_X3DFieldDefinition (Base_X3DConstants .initializeOnly, "spatialize", new x_ite_Fields .SFBool (true)),
|
|
104382
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "intensity", new x_ite_Fields .SFFloat (1)),
|
|
104383
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "location", new x_ite_Fields .SFVec3f ()),
|
|
104384
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "direction", new x_ite_Fields .SFVec3f (0, 0, 1)),
|
|
104385
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
104386
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enableHRTF", new x_ite_Fields .SFBool ()),
|
|
104387
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "dopplerEnabled", new x_ite_Fields .SFBool ()),
|
|
104388
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "coneOuterGain", new x_ite_Fields .SFFloat ()),
|
|
103516
104389
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "coneInnerAngle", new x_ite_Fields .SFFloat (6.2832)),
|
|
103517
104390
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "coneOuterAngle", new x_ite_Fields .SFFloat (6.2832)),
|
|
103518
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "coneOuterGain", new x_ite_Fields .SFFloat (0)),
|
|
103519
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "direction", new x_ite_Fields .SFVec3f (0, 0, 1)),
|
|
103520
104391
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "distanceModel", new x_ite_Fields .SFString ("INVERSE")),
|
|
103521
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "dopplerEnabled", new x_ite_Fields .SFBool ()),
|
|
103522
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enableHRTF", new x_ite_Fields .SFBool ()),
|
|
103523
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
103524
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "intensity", new x_ite_Fields .SFFloat (1)),
|
|
103525
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "location", new x_ite_Fields .SFVec3f ()),
|
|
103526
104392
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "maxDistance", new x_ite_Fields .SFFloat (10000)),
|
|
103527
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "priority", new x_ite_Fields .SFFloat ()),
|
|
103528
104393
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "referenceDistance", new x_ite_Fields .SFFloat (1)),
|
|
103529
104394
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "rolloffFactor", new x_ite_Fields .SFFloat (1)),
|
|
104395
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "priority", new x_ite_Fields .SFFloat ()),
|
|
103530
104396
|
|
|
103531
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "children",
|
|
104397
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "children", new x_ite_Fields .MFNode ()),
|
|
103532
104398
|
]),
|
|
103533
104399
|
enumerable: true,
|
|
103534
104400
|
},
|
|
@@ -103598,10 +104464,6 @@ function StreamAudioDestination (executionContext)
|
|
|
103598
104464
|
Sound_X3DSoundDestinationNode .call (this, executionContext);
|
|
103599
104465
|
|
|
103600
104466
|
this .addType (Base_X3DConstants .StreamAudioDestination);
|
|
103601
|
-
|
|
103602
|
-
const audioContext = this .getBrowser () .getAudioContext ();
|
|
103603
|
-
|
|
103604
|
-
this .mediaStreamDestination = audioContext .createMediaStreamDestination ();
|
|
103605
104467
|
}
|
|
103606
104468
|
|
|
103607
104469
|
Object .assign (Object .setPrototypeOf (StreamAudioDestination .prototype, Sound_X3DSoundDestinationNode .prototype),
|
|
@@ -103610,11 +104472,18 @@ Object .assign (Object .setPrototypeOf (StreamAudioDestination .prototype, Sound
|
|
|
103610
104472
|
{
|
|
103611
104473
|
Sound_X3DSoundDestinationNode .prototype .initialize .call (this);
|
|
103612
104474
|
|
|
103613
|
-
this .
|
|
104475
|
+
this ._mediaDeviceID .addInterest ("set_mediaDeviceID__", this);
|
|
104476
|
+
|
|
104477
|
+
this .set_mediaDeviceID__ ();
|
|
103614
104478
|
},
|
|
103615
104479
|
getSoundDestination ()
|
|
103616
104480
|
{
|
|
103617
|
-
return
|
|
104481
|
+
return;
|
|
104482
|
+
},
|
|
104483
|
+
set_enabled__ () { /* remove this function if implemented */ },
|
|
104484
|
+
set_mediaDeviceID__ ()
|
|
104485
|
+
{
|
|
104486
|
+
|
|
103618
104487
|
},
|
|
103619
104488
|
});
|
|
103620
104489
|
|
|
@@ -103648,14 +104517,14 @@ Object .defineProperties (StreamAudioDestination,
|
|
|
103648
104517
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
103649
104518
|
|
|
103650
104519
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
103651
|
-
|
|
104520
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "mediaDeviceID", new x_ite_Fields .SFString ()),
|
|
104521
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "streamIdentifier", new x_ite_Fields .MFString ()),
|
|
103652
104522
|
|
|
103653
104523
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
|
|
103654
104524
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
|
|
103655
104525
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelInterpretation", new x_ite_Fields .SFString ("SPEAKERS")),
|
|
103656
104526
|
|
|
103657
104527
|
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "isActive", new x_ite_Fields .SFBool ()),
|
|
103658
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .outputOnly, "streamIdentifier", new x_ite_Fields .MFString ()), // skip test
|
|
103659
104528
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "children", new x_ite_Fields .MFNode ()),
|
|
103660
104529
|
]),
|
|
103661
104530
|
enumerable: true,
|
|
@@ -103730,7 +104599,14 @@ function StreamAudioSource (executionContext)
|
|
|
103730
104599
|
this .addChildObjects (Base_X3DConstants .inputOutput, "loop", new x_ite_Fields .SFBool ());
|
|
103731
104600
|
}
|
|
103732
104601
|
|
|
103733
|
-
Object .setPrototypeOf (StreamAudioSource .prototype, Sound_X3DSoundSourceNode .prototype)
|
|
104602
|
+
Object .assign (Object .setPrototypeOf (StreamAudioSource .prototype, Sound_X3DSoundSourceNode .prototype),
|
|
104603
|
+
{
|
|
104604
|
+
initialize ()
|
|
104605
|
+
{
|
|
104606
|
+
Sound_X3DSoundSourceNode .prototype .initialize .call (this);
|
|
104607
|
+
},
|
|
104608
|
+
});
|
|
104609
|
+
|
|
103734
104610
|
|
|
103735
104611
|
Object .defineProperties (StreamAudioSource,
|
|
103736
104612
|
{
|
|
@@ -103840,9 +104716,51 @@ function WaveShaper (executionContext)
|
|
|
103840
104716
|
Sound_X3DSoundProcessingNode .call (this, executionContext);
|
|
103841
104717
|
|
|
103842
104718
|
this .addType (Base_X3DConstants .WaveShaper);
|
|
104719
|
+
|
|
104720
|
+
const audioContext = this .getBrowser () .getAudioContext ();
|
|
104721
|
+
|
|
104722
|
+
this .waveShaperNode = new WaveShaperNode (audioContext);
|
|
104723
|
+
|
|
104724
|
+
this .waveShaperNode .connect (this .getAudioSource ());
|
|
103843
104725
|
}
|
|
103844
104726
|
|
|
103845
|
-
Object .setPrototypeOf (WaveShaper .prototype, Sound_X3DSoundProcessingNode .prototype)
|
|
104727
|
+
Object .assign (Object .setPrototypeOf (WaveShaper .prototype, Sound_X3DSoundProcessingNode .prototype),
|
|
104728
|
+
{
|
|
104729
|
+
initialize ()
|
|
104730
|
+
{
|
|
104731
|
+
Sound_X3DSoundProcessingNode .prototype .initialize .call (this);
|
|
104732
|
+
|
|
104733
|
+
this ._curve .addInterest ("set_curve__", this);
|
|
104734
|
+
this ._oversample .addInterest ("set_oversample__", this);
|
|
104735
|
+
|
|
104736
|
+
this .set_curve__ ();
|
|
104737
|
+
this .set_oversample__ ();
|
|
104738
|
+
},
|
|
104739
|
+
getSoundProcessor ()
|
|
104740
|
+
{
|
|
104741
|
+
return this .waveShaperNode;
|
|
104742
|
+
},
|
|
104743
|
+
set_curve__ ()
|
|
104744
|
+
{
|
|
104745
|
+
if (this ._curve .length < 2)
|
|
104746
|
+
this ._curve .length = 2;
|
|
104747
|
+
|
|
104748
|
+
this .waveShaperNode .curve = this ._curve .shrinkToFit ();
|
|
104749
|
+
},
|
|
104750
|
+
set_oversample__: (function ()
|
|
104751
|
+
{
|
|
104752
|
+
const oversampleTypes = new Map ([
|
|
104753
|
+
["NONE", "none"],
|
|
104754
|
+
["2X", "2x"],
|
|
104755
|
+
["4X", "4x"],
|
|
104756
|
+
]);
|
|
104757
|
+
|
|
104758
|
+
return function ()
|
|
104759
|
+
{
|
|
104760
|
+
this .waveShaperNode .oversample = oversampleTypes .get (this ._oversample .getValue ()) ?? "none";
|
|
104761
|
+
};
|
|
104762
|
+
})(),
|
|
104763
|
+
});
|
|
103846
104764
|
|
|
103847
104765
|
Object .defineProperties (WaveShaper,
|
|
103848
104766
|
{
|
|
@@ -103869,14 +104787,14 @@ Object .defineProperties (WaveShaper,
|
|
|
103869
104787
|
fieldDefinitions:
|
|
103870
104788
|
{
|
|
103871
104789
|
value: new Base_FieldDefinitionArray ([
|
|
103872
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata",
|
|
103873
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description",
|
|
103874
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled",
|
|
104790
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "metadata", new x_ite_Fields .SFNode ()),
|
|
104791
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "description", new x_ite_Fields .SFString ()),
|
|
104792
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "enabled", new x_ite_Fields .SFBool (true)),
|
|
103875
104793
|
|
|
103876
104794
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "gain", new x_ite_Fields .SFFloat (1)),
|
|
104795
|
+
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
|
|
103877
104796
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "curve", new x_ite_Fields .MFFloat ()),
|
|
103878
104797
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "oversample", new x_ite_Fields .SFString ("NONE")),
|
|
103879
|
-
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "tailTime", new x_ite_Fields .SFTime ()),
|
|
103880
104798
|
|
|
103881
104799
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCount", new x_ite_Fields .SFInt32 ()), // skip test
|
|
103882
104800
|
new Base_X3DFieldDefinition (Base_X3DConstants .inputOutput, "channelCountMode", new x_ite_Fields .SFString ("MAX")),
|
|
@@ -104138,6 +105056,8 @@ function GifMedia (gif, movieTexture)
|
|
|
104138
105056
|
},
|
|
104139
105057
|
},
|
|
104140
105058
|
});
|
|
105059
|
+
|
|
105060
|
+
gif .pause ();
|
|
104141
105061
|
}
|
|
104142
105062
|
|
|
104143
105063
|
const GifMedia_default_ = GifMedia;
|
|
@@ -104146,8 +105066,8 @@ const GifMedia_default_ = GifMedia;
|
|
|
104146
105066
|
x_ite_Namespace .add ("GifMedia", "x_ite/Browser/Texturing/GifMedia", GifMedia_default_);
|
|
104147
105067
|
/* harmony default export */ const Texturing_GifMedia = (GifMedia_default_);
|
|
104148
105068
|
;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
|
|
104149
|
-
/* provided dependency */ var MovieTexture_$ = __webpack_require__(
|
|
104150
|
-
/* provided dependency */ var SuperGif = __webpack_require__(
|
|
105069
|
+
/* provided dependency */ var MovieTexture_$ = __webpack_require__(440);
|
|
105070
|
+
/* provided dependency */ var SuperGif = __webpack_require__(27);
|
|
104151
105071
|
/*******************************************************************************
|
|
104152
105072
|
*
|
|
104153
105073
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -104258,10 +105178,10 @@ Object .assign (Object .setPrototypeOf (MovieTexture .prototype, Texturing_X3DTe
|
|
|
104258
105178
|
unloadData ()
|
|
104259
105179
|
{
|
|
104260
105180
|
this .clearTexture ();
|
|
105181
|
+
this .setMediaElement (null);
|
|
104261
105182
|
},
|
|
104262
105183
|
loadData ()
|
|
104263
105184
|
{
|
|
104264
|
-
delete this .gif;
|
|
104265
105185
|
this .setMediaElement (null);
|
|
104266
105186
|
this .urlStack .setValue (this ._url);
|
|
104267
105187
|
this .video .on ("loadeddata", this .setVideo .bind (this));
|
|
@@ -104341,7 +105261,9 @@ Object .assign (Object .setPrototypeOf (MovieTexture .prototype, Texturing_X3DTe
|
|
|
104341
105261
|
if (gl .getVersion () === 1 && !(Math_Algorithm .isPowerOfTwo (width) && Math_Algorithm .isPowerOfTwo (height)))
|
|
104342
105262
|
throw new Error ("The movie texture is a non power-of-two texture.");
|
|
104343
105263
|
|
|
104344
|
-
this .
|
|
105264
|
+
this ._duration_changed = video .duration;
|
|
105265
|
+
|
|
105266
|
+
this .setMediaElement (video);
|
|
104345
105267
|
this .setTextureFromData (width, height, true, false, video);
|
|
104346
105268
|
this .setLoadState (Base_X3DConstants .COMPLETE_STATE);
|
|
104347
105269
|
|
|
@@ -104357,11 +105279,9 @@ Object .assign (Object .setPrototypeOf (MovieTexture .prototype, Texturing_X3DTe
|
|
|
104357
105279
|
{
|
|
104358
105280
|
try
|
|
104359
105281
|
{
|
|
104360
|
-
this .gif = gif;
|
|
104361
|
-
|
|
104362
105282
|
Texturing_GifMedia (gif, this);
|
|
104363
105283
|
|
|
104364
|
-
gif .
|
|
105284
|
+
this ._duration_changed = gif .duration;
|
|
104365
105285
|
|
|
104366
105286
|
this .setMediaElement (gif);
|
|
104367
105287
|
this .setTextureFromData (gif .get_canvas () .width, gif .get_canvas () .height, true, false, gif .get_frames () [0] .data);
|
|
@@ -104377,10 +105297,10 @@ Object .assign (Object .setPrototypeOf (MovieTexture .prototype, Texturing_X3DTe
|
|
|
104377
105297
|
},
|
|
104378
105298
|
set_speed__ ()
|
|
104379
105299
|
{
|
|
104380
|
-
|
|
104381
|
-
this .gif .playbackRate = this ._speed .getValue ();
|
|
105300
|
+
const media = this .getMediaElement ();
|
|
104382
105301
|
|
|
104383
|
-
|
|
105302
|
+
if (media)
|
|
105303
|
+
media .playbackRate = this ._speed .getValue ();
|
|
104384
105304
|
},
|
|
104385
105305
|
set_time ()
|
|
104386
105306
|
{
|
|
@@ -104389,7 +105309,10 @@ Object .assign (Object .setPrototypeOf (MovieTexture .prototype, Texturing_X3DTe
|
|
|
104389
105309
|
if (this .checkLoadState () !== Base_X3DConstants .COMPLETE_STATE)
|
|
104390
105310
|
return;
|
|
104391
105311
|
|
|
104392
|
-
|
|
105312
|
+
const media = this .getMediaElement ();
|
|
105313
|
+
|
|
105314
|
+
if (media)
|
|
105315
|
+
this .updateTextureFromData (media .currentFrame ?.data ?? media);
|
|
104393
105316
|
},
|
|
104394
105317
|
traverse: Texturing_X3DTexture2DNode .prototype .traverse,
|
|
104395
105318
|
dispose ()
|
|
@@ -107426,7 +108349,7 @@ const gettext_default_ = gettext;
|
|
|
107426
108349
|
x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
|
|
107427
108350
|
/* harmony default export */ const locale_gettext = (gettext_default_);
|
|
107428
108351
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
|
|
107429
|
-
/* provided dependency */ var BrowserTimings_$ = __webpack_require__(
|
|
108352
|
+
/* provided dependency */ var BrowserTimings_$ = __webpack_require__(440);
|
|
107430
108353
|
/*******************************************************************************
|
|
107431
108354
|
*
|
|
107432
108355
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -107856,7 +108779,7 @@ const TextureQuality_default_ = TextureQuality;
|
|
|
107856
108779
|
x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
|
|
107857
108780
|
/* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
|
|
107858
108781
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
|
|
107859
|
-
/* provided dependency */ var BrowserOptions_$ = __webpack_require__(
|
|
108782
|
+
/* provided dependency */ var BrowserOptions_$ = __webpack_require__(440);
|
|
107860
108783
|
/*******************************************************************************
|
|
107861
108784
|
*
|
|
107862
108785
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -108450,7 +109373,7 @@ const RenderingProperties_default_ = RenderingProperties;
|
|
|
108450
109373
|
x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
|
|
108451
109374
|
/* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
|
|
108452
109375
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
|
|
108453
|
-
/* provided dependency */ var Notification_$ = __webpack_require__(
|
|
109376
|
+
/* provided dependency */ var Notification_$ = __webpack_require__(440);
|
|
108454
109377
|
/*******************************************************************************
|
|
108455
109378
|
*
|
|
108456
109379
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -108573,8 +109496,8 @@ const Notification_default_ = Notification;
|
|
|
108573
109496
|
x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
|
|
108574
109497
|
/* harmony default export */ const Core_Notification = (Notification_default_);
|
|
108575
109498
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
|
|
108576
|
-
/* provided dependency */ var jquery_fullscreen = __webpack_require__(
|
|
108577
|
-
/* provided dependency */ var ContextMenu_$ = __webpack_require__(
|
|
109499
|
+
/* provided dependency */ var jquery_fullscreen = __webpack_require__(412);
|
|
109500
|
+
/* provided dependency */ var ContextMenu_$ = __webpack_require__(440);
|
|
108578
109501
|
/*******************************************************************************
|
|
108579
109502
|
*
|
|
108580
109503
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -111040,6 +111963,12 @@ Object .assign (Object .setPrototypeOf (X3DScene .prototype, Execution_X3DExecut
|
|
|
111040
111963
|
generator .string += '}';
|
|
111041
111964
|
generator .string += generator .TidyBreak ();
|
|
111042
111965
|
},
|
|
111966
|
+
dispose ()
|
|
111967
|
+
{
|
|
111968
|
+
this .exportedNodes .clear ();
|
|
111969
|
+
|
|
111970
|
+
Execution_X3DExecutionContext .prototype .dispose .call (this);
|
|
111971
|
+
},
|
|
111043
111972
|
},
|
|
111044
111973
|
{
|
|
111045
111974
|
setExecutionContext (executionContext)
|
|
@@ -111329,7 +112258,7 @@ const DataStorage_default_ = DataStorage;
|
|
|
111329
112258
|
x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
|
|
111330
112259
|
/* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
|
|
111331
112260
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
|
|
111332
|
-
/* provided dependency */ var X3DCoreContext_$ = __webpack_require__(
|
|
112261
|
+
/* provided dependency */ var X3DCoreContext_$ = __webpack_require__(440);
|
|
111333
112262
|
/*******************************************************************************
|
|
111334
112263
|
*
|
|
111335
112264
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -113852,8 +114781,8 @@ const X3DViewer_default_ = X3DViewer;
|
|
|
113852
114781
|
x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
|
|
113853
114782
|
/* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
|
|
113854
114783
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
|
|
113855
|
-
/* provided dependency */ var jquery_mousewheel = __webpack_require__(
|
|
113856
|
-
/* provided dependency */ var ExamineViewer_$ = __webpack_require__(
|
|
114784
|
+
/* provided dependency */ var jquery_mousewheel = __webpack_require__(838);
|
|
114785
|
+
/* provided dependency */ var ExamineViewer_$ = __webpack_require__(440);
|
|
113857
114786
|
/*******************************************************************************
|
|
113858
114787
|
*
|
|
113859
114788
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -114725,8 +115654,8 @@ const ExamineViewer_default_ = ExamineViewer;
|
|
|
114725
115654
|
x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
|
|
114726
115655
|
/* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
|
|
114727
115656
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
|
|
114728
|
-
/* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(
|
|
114729
|
-
/* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(
|
|
115657
|
+
/* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(838);
|
|
115658
|
+
/* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(440);
|
|
114730
115659
|
/*******************************************************************************
|
|
114731
115660
|
*
|
|
114732
115661
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -115735,8 +116664,8 @@ const FlyViewer_default_ = FlyViewer;
|
|
|
115735
116664
|
x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
|
|
115736
116665
|
/* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
|
|
115737
116666
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
|
|
115738
|
-
/* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(
|
|
115739
|
-
/* provided dependency */ var PlaneViewer_$ = __webpack_require__(
|
|
116667
|
+
/* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(838);
|
|
116668
|
+
/* provided dependency */ var PlaneViewer_$ = __webpack_require__(440);
|
|
115740
116669
|
/*******************************************************************************
|
|
115741
116670
|
*
|
|
115742
116671
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -116067,8 +116996,8 @@ const NoneViewer_default_ = NoneViewer;
|
|
|
116067
116996
|
x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
|
|
116068
116997
|
/* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
|
|
116069
116998
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
|
|
116070
|
-
/* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(
|
|
116071
|
-
/* provided dependency */ var LookAtViewer_$ = __webpack_require__(
|
|
116999
|
+
/* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(838);
|
|
117000
|
+
/* provided dependency */ var LookAtViewer_$ = __webpack_require__(440);
|
|
116072
117001
|
/*******************************************************************************
|
|
116073
117002
|
*
|
|
116074
117003
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -117207,8 +118136,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
|
|
|
117207
118136
|
x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
|
|
117208
118137
|
/* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
|
|
117209
118138
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
|
|
117210
|
-
/* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(
|
|
117211
|
-
/* provided dependency */ var PointingDevice_$ = __webpack_require__(
|
|
118139
|
+
/* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(838);
|
|
118140
|
+
/* provided dependency */ var PointingDevice_$ = __webpack_require__(440);
|
|
117212
118141
|
/*******************************************************************************
|
|
117213
118142
|
*
|
|
117214
118143
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -118499,7 +119428,7 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
|
|
|
118499
119428
|
x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
|
|
118500
119429
|
/* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
|
|
118501
119430
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
|
|
118502
|
-
/* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(
|
|
119431
|
+
/* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(440);
|
|
118503
119432
|
/*******************************************************************************
|
|
118504
119433
|
*
|
|
118505
119434
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -118848,22 +119777,17 @@ x_ite_Namespace .add ("X3DRenderingContext", "x_ite/Browser/Rendering/X3DRenderi
|
|
|
118848
119777
|
*
|
|
118849
119778
|
******************************************************************************/
|
|
118850
119779
|
|
|
118851
|
-
|
|
118852
|
-
|
|
118853
|
-
function X3DScriptingContext ()
|
|
118854
|
-
{
|
|
118855
|
-
this [_scripts] = [this];
|
|
118856
|
-
}
|
|
119780
|
+
function X3DScriptingContext () { }
|
|
118857
119781
|
|
|
118858
119782
|
Object .assign (X3DScriptingContext .prototype,
|
|
118859
119783
|
{
|
|
118860
119784
|
isExternal ()
|
|
118861
119785
|
{
|
|
118862
|
-
return this
|
|
119786
|
+
return !this .getScriptNode ();
|
|
118863
119787
|
},
|
|
118864
|
-
|
|
119788
|
+
getScriptNode ()
|
|
118865
119789
|
{
|
|
118866
|
-
return
|
|
119790
|
+
return null;
|
|
118867
119791
|
},
|
|
118868
119792
|
});
|
|
118869
119793
|
|
|
@@ -119366,7 +120290,7 @@ Object .assign (X3DSoundContext .prototype,
|
|
|
119366
120290
|
},
|
|
119367
120291
|
startAudioElement (audioElement, functionName = "play")
|
|
119368
120292
|
{
|
|
119369
|
-
audioElement [functionName] () .catch (() =>
|
|
120293
|
+
audioElement ?.[functionName] () .catch (() =>
|
|
119370
120294
|
{
|
|
119371
120295
|
const id = `X3DSoundContext-${Base_X3DObject .getId (audioElement)}`;
|
|
119372
120296
|
|
|
@@ -119385,7 +120309,7 @@ Object .assign (X3DSoundContext .prototype,
|
|
|
119385
120309
|
]
|
|
119386
120310
|
.map (event => `${event}.${id}`);
|
|
119387
120311
|
|
|
119388
|
-
this .
|
|
120312
|
+
this .getCanvas () .on (events .join (" "), event =>
|
|
119389
120313
|
{
|
|
119390
120314
|
audioElement [functionName] ()
|
|
119391
120315
|
.then (() => this .getElement () .off (`.${id}`))
|
|
@@ -119401,7 +120325,7 @@ const X3DSoundContext_default_ = X3DSoundContext;
|
|
|
119401
120325
|
x_ite_Namespace .add ("X3DSoundContext", "x_ite/Browser/Sound/X3DSoundContext", X3DSoundContext_default_);
|
|
119402
120326
|
/* harmony default export */ const Sound_X3DSoundContext = (X3DSoundContext_default_);
|
|
119403
120327
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing/KTXDecoder.js
|
|
119404
|
-
/* provided dependency */ var KTXDecoder_$ = __webpack_require__(
|
|
120328
|
+
/* provided dependency */ var KTXDecoder_$ = __webpack_require__(440);
|
|
119405
120329
|
const KTXDecoder_default_ = class KTXDecoder
|
|
119406
120330
|
{
|
|
119407
120331
|
constructor (gl, externalKtxlib, scriptDir)
|
|
@@ -119976,15 +120900,16 @@ Object .assign (X3DTimeContext .prototype,
|
|
|
119976
120900
|
return function ()
|
|
119977
120901
|
{
|
|
119978
120902
|
const
|
|
119979
|
-
time
|
|
119980
|
-
interval
|
|
120903
|
+
time = Date .now () / 1000,
|
|
120904
|
+
interval = time - this [_currentTime],
|
|
120905
|
+
activeLayer = this .getActiveLayer ();
|
|
119981
120906
|
|
|
119982
120907
|
this [_currentTime] = time;
|
|
119983
120908
|
this [_currentFrameRate] = interval ? 1 / interval : 60;
|
|
119984
120909
|
|
|
119985
|
-
if (
|
|
120910
|
+
if (activeLayer)
|
|
119986
120911
|
{
|
|
119987
|
-
const cameraSpaceMatrix =
|
|
120912
|
+
const cameraSpaceMatrix = activeLayer .getViewpoint () .getCameraSpaceMatrix ();
|
|
119988
120913
|
|
|
119989
120914
|
lastPosition .assign (this [_currentPosition]);
|
|
119990
120915
|
this [_currentPosition] .set (cameraSpaceMatrix [12], cameraSpaceMatrix [13], cameraSpaceMatrix [14]);
|
|
@@ -120954,7 +121879,7 @@ const Components_default_ = Components;
|
|
|
120954
121879
|
x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
|
|
120955
121880
|
/* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
|
|
120956
121881
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
|
|
120957
|
-
/* provided dependency */ var DOMIntegration_$ = __webpack_require__(
|
|
121882
|
+
/* provided dependency */ var DOMIntegration_$ = __webpack_require__(440);
|
|
120958
121883
|
/*******************************************************************************
|
|
120959
121884
|
* MIT License
|
|
120960
121885
|
*
|
|
@@ -122085,7 +123010,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
|
|
|
122085
123010
|
x_ite_Namespace .add ("SupportedProfiles", "x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
|
|
122086
123011
|
/* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
|
|
122087
123012
|
;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
|
|
122088
|
-
/* provided dependency */ var X3DBrowser_$ = __webpack_require__(
|
|
123013
|
+
/* provided dependency */ var X3DBrowser_$ = __webpack_require__(440);
|
|
122089
123014
|
/*******************************************************************************
|
|
122090
123015
|
*
|
|
122091
123016
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -122552,7 +123477,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
|
|
|
122552
123477
|
external = this .isExternal (),
|
|
122553
123478
|
currentScene = this .currentScene,
|
|
122554
123479
|
worldURL = external ? this .getBaseURL () : currentScene .getWorldURL (),
|
|
122555
|
-
fileLoader = new InputOutput_FileLoader (this .getWorld ()),
|
|
123480
|
+
fileLoader = new InputOutput_FileLoader (this .getScriptNode () ?? this .getWorld ()),
|
|
122556
123481
|
scene = fileLoader .createX3DFromString (worldURL, `#VRML V2.0 utf8\n\n${vrmlSyntax}`);
|
|
122557
123482
|
|
|
122558
123483
|
if (!external)
|
|
@@ -122571,7 +123496,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
|
|
|
122571
123496
|
external = this .isExternal (),
|
|
122572
123497
|
currentScene = this .currentScene,
|
|
122573
123498
|
worldURL = external ? this .getBaseURL () : currentScene .getWorldURL (),
|
|
122574
|
-
fileLoader = new InputOutput_FileLoader (this .getWorld ());
|
|
123499
|
+
fileLoader = new InputOutput_FileLoader (this .getScriptNode () ?? this .getWorld ());
|
|
122575
123500
|
|
|
122576
123501
|
const scene = await new Promise ((resolve, reject) =>
|
|
122577
123502
|
{
|
|
@@ -122608,7 +123533,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
|
|
|
122608
123533
|
const
|
|
122609
123534
|
currentScene = this .currentScene,
|
|
122610
123535
|
external = this .isExternal (),
|
|
122611
|
-
fileLoader = new InputOutput_FileLoader (this .getWorld ());
|
|
123536
|
+
fileLoader = new InputOutput_FileLoader (this .getScriptNode () ?? this .getWorld ());
|
|
122612
123537
|
|
|
122613
123538
|
this .addLoadingObject (fileLoader);
|
|
122614
123539
|
|
|
@@ -122646,7 +123571,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
|
|
|
122646
123571
|
const
|
|
122647
123572
|
currentScene = this .currentScene,
|
|
122648
123573
|
external = this .isExternal (),
|
|
122649
|
-
fileLoader = new InputOutput_FileLoader (this .getWorld ());
|
|
123574
|
+
fileLoader = new InputOutput_FileLoader (this .getScriptNode () ?? this .getWorld ());
|
|
122650
123575
|
|
|
122651
123576
|
this .addLoadingObject (fileLoader);
|
|
122652
123577
|
|
|
@@ -122683,7 +123608,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
|
|
|
122683
123608
|
|
|
122684
123609
|
// Start loading.
|
|
122685
123610
|
|
|
122686
|
-
const fileLoader = new InputOutput_FileLoader (this .getWorld ());
|
|
123611
|
+
const fileLoader = new InputOutput_FileLoader (this .getScriptNode () ?? this .getWorld ());
|
|
122687
123612
|
|
|
122688
123613
|
fileLoader .createX3DFromURL (url, parameter, scene =>
|
|
122689
123614
|
{
|
|
@@ -123114,7 +124039,7 @@ Object .defineProperties (X3DBrowser .prototype,
|
|
|
123114
124039
|
{
|
|
123115
124040
|
get ()
|
|
123116
124041
|
{
|
|
123117
|
-
return this .
|
|
124042
|
+
return this .getScriptNode () ?.getExecutionContext () ?? this .getExecutionContext ();
|
|
123118
124043
|
},
|
|
123119
124044
|
enumerable: true,
|
|
123120
124045
|
},
|
|
@@ -123177,7 +124102,7 @@ const X3DBrowser_default_ = X3DBrowser;
|
|
|
123177
124102
|
x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
|
|
123178
124103
|
/* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
|
|
123179
124104
|
;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
|
|
123180
|
-
/* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(
|
|
124105
|
+
/* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(440);
|
|
123181
124106
|
/*******************************************************************************
|
|
123182
124107
|
*
|
|
123183
124108
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -123314,8 +124239,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
|
|
|
123314
124239
|
x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
|
|
123315
124240
|
/* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
|
|
123316
124241
|
;// CONCATENATED MODULE: ./src/lib/jquery.js
|
|
123317
|
-
/* provided dependency */ var jquery_$ = __webpack_require__(
|
|
123318
|
-
/* provided dependency */ var pako = __webpack_require__(
|
|
124242
|
+
/* provided dependency */ var jquery_$ = __webpack_require__(440);
|
|
124243
|
+
/* provided dependency */ var pako = __webpack_require__(284);
|
|
123319
124244
|
Object .assign (jquery_$,
|
|
123320
124245
|
{
|
|
123321
124246
|
decodeText (input)
|
|
@@ -123392,14 +124317,14 @@ const jquery_default_ = jquery_$;
|
|
|
123392
124317
|
x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
|
|
123393
124318
|
/* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
|
|
123394
124319
|
;// CONCATENATED MODULE: ./src/lib/libtess.js
|
|
123395
|
-
/* provided dependency */ var libtess_libtess = __webpack_require__(
|
|
124320
|
+
/* provided dependency */ var libtess_libtess = __webpack_require__(149);
|
|
123396
124321
|
const libtess_default_ = libtess_libtess;
|
|
123397
124322
|
;
|
|
123398
124323
|
|
|
123399
124324
|
x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
|
|
123400
124325
|
/* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
|
|
123401
124326
|
;// CONCATENATED MODULE: ./src/x_ite/X3D.js
|
|
123402
|
-
/* provided dependency */ var X3D_$ = __webpack_require__(
|
|
124327
|
+
/* provided dependency */ var X3D_$ = __webpack_require__(440);
|
|
123403
124328
|
/*******************************************************************************
|
|
123404
124329
|
*
|
|
123405
124330
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
@@ -123707,7 +124632,7 @@ Object .assign (X3D,
|
|
|
123707
124632
|
|
|
123708
124633
|
// Assign X3D to global namespace.
|
|
123709
124634
|
|
|
123710
|
-
window [Symbol .for ("X_ITE.X3D-9.
|
|
124635
|
+
window [Symbol .for ("X_ITE.X3D-9.4.0")] = x_ite_X3D;
|
|
123711
124636
|
|
|
123712
124637
|
customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
|
|
123713
124638
|
|