Skip to content

Commit

Permalink
Merge pull request #232 from Smithsonian/dev-bugfix
Browse files Browse the repository at this point in the history
Merging bug-fix
  • Loading branch information
gjcope committed Dec 4, 2023
2 parents 44820ee + f0aab14 commit 8c9696e
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 4 deletions.
13 changes: 12 additions & 1 deletion source/client/components/CVAudioManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ export default class CVAudioManager extends Component

stop()
{
if(!this.audioPlayer) {//Notification.show(`PLAYINGA`, "warning");
if(!this.audioPlayer) {
return;
}
this.pause();
Expand Down Expand Up @@ -357,6 +357,7 @@ export default class CVAudioManager extends Component
track.setAttribute("default", "");
this.audioPlayer.append(track);
track.addEventListener("cuechange", this.onCueChange);
track.addEventListener("load", this.onLoadTrack);
}
}

Expand All @@ -368,6 +369,16 @@ export default class CVAudioManager extends Component
this.ins.activeCaption.setValue(activeText);
}

// One-time setup after data is loaded
protected onLoadTrack = (event: Event) =>
{
// Cues starting at zero cause issues, so add a small offset
const cues = (this.audioPlayer.children[0] as HTMLTrackElement).track.cues;
if(cues[0].startTime === 0) {
cues[0].startTime = 0.01;
}
}

// Handle audio time elapsed updates
protected onTimeChange = (event: Event) =>
{
Expand Down
9 changes: 6 additions & 3 deletions source/client/components/CVModel2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import { EDerivativeQuality, EDerivativeUsage, EUnitType, IModel, ESideType, TSi

import unitScaleFactor from "../utils/unitScaleFactor";
import UberPBRMaterial, { EShaderMode } from "../shaders/UberPBRMaterial";
import UberPBRAdvMaterial from "../shaders/UberPBRAdvMaterial";
import Derivative from "../models/Derivative";
import DerivativeList from "../models/DerivativeList";

Expand Down Expand Up @@ -495,7 +496,7 @@ export default class CVModel2 extends CObject3D
{
const shader = this.ins.shader.getValidatedValue();
this.object3D.traverse(object => {
const material = object["material"] as UberPBRMaterial;
const material = object["material"] as UberPBRMaterial | UberPBRAdvMaterial;
if (material && material.isUberPBRMaterial) {
material.setShaderMode(shader);
}
Expand Down Expand Up @@ -541,7 +542,7 @@ export default class CVModel2 extends CObject3D
const ins = this.ins;

this.object3D.traverse(object => {
const material = object["material"] as UberPBRMaterial;
const material = object["material"] as UberPBRMaterial | UberPBRAdvMaterial;
if (material && material.isUberPBRMaterial) {
material.aoMapMix.setScalar(ins.occlusion.value);
material.color.fromArray(ins.color.value);
Expand All @@ -551,6 +552,7 @@ export default class CVModel2 extends CObject3D
material.roughness = ins.roughness.value;
material.metalness = ins.metalness.value;
material.side = ins.doubleSided.value ? DoubleSide : FrontSide;
material.needsUpdate = true;
}
});
}
Expand Down Expand Up @@ -706,14 +708,15 @@ export default class CVModel2 extends CObject3D
// update shadow render side
if(this.ins.shadowSide.value != ESideType.Back) {
this.object3D.traverse(object => {
const material = object["material"] as UberPBRMaterial;
const material = object["material"] as UberPBRMaterial | UberPBRAdvMaterial;
if (material && material.isUberPBRMaterial) {
if(this.ins.shadowSide.value == ESideType.Front) {
material.shadowSide = FrontSide;
}
else {
material.shadowSide = BackSide;
}
material.needsUpdate = true;
}
});
}
Expand Down

0 comments on commit 8c9696e

Please sign in to comment.