import React from 'react' import { useTranslation } from 'react-i18next' import { DistanceModel, DistanceModelOptions } from '@xrengine/engine/src/audio/constants/AudioConstants' import { getMediaSceneMetadataState } from '@xrengine/engine/src/audio/systems/MediaSystem' import { Engine } from '@xrengine/engine/src/ecs/classes/Engine' import { getState, useHookstate } from '@xrengine/hyperflux' import BooleanInput from '../inputs/BooleanInput' import CompoundNumericInput from '../inputs/CompoundNumericInput' import InputGroup from '../inputs/InputGroup' import NumericInputGroup from '../inputs/NumericInputGroup' import SelectInput from '../inputs/SelectInput' import PropertyGroup from './PropertyGroup' export const MediaSettingsEditor = () => { const { t } = useTranslation() const mediaState = useHookstate(getMediaSceneMetadataState(Engine.instance.currentWorld)) const media = mediaState.get({ noproxy: true }) return ( mediaState.distanceModel.set(val)} /> mediaState.immersiveMedia.set(val)} /> {media.distanceModel === DistanceModel.Linear ? ( mediaState.rolloffFactor.set(val)} /> ) : ( mediaState.rolloffFactor.set(val)} /> )} mediaState.refDistance.set(val)} unit="m" /> mediaState.maxDistance.set(val)} unit="m" /> mediaState.coneInnerAngle.set(val)} unit="°" /> mediaState.coneOuterAngle.set(val)} unit="°" /> mediaState.coneOuterGain.set(val)} /> ) }