Remove HRTF mode and keep emit proxy fix

This commit is contained in:
Jage9
2026-03-09 13:10:49 -04:00
parent a34a9f7f42
commit b051a0a851
12 changed files with 122 additions and 594 deletions

View File

@@ -5,6 +5,8 @@ import {
} from './audio/effects';
import {
RadioStationRuntime,
getProxyUrlForStream,
shouldProxyStreamUrl,
} from './audio/radioStationRuntime';
import { getProxyUrlForMedia, shouldProxyExternalMediaUrl } from './audio/mediaUrl';
import { ItemEmitRuntime } from './audio/itemEmitRuntime';
@@ -259,7 +261,6 @@ let lastFocusedElement: Element | null = null;
let lastAnnouncementText = '';
let lastAnnouncementAt = 0;
let outputMode = settings.loadOutputMode();
let spatialMode = settings.loadSpatialMode();
let activeGridName = DEFAULT_GRID_NAME;
let activeWelcomeMessage = DEFAULT_WELCOME_MESSAGE;
const messageBuffer: string[] = [];
@@ -354,7 +355,6 @@ const itemBehaviorRegistry = new ItemBehaviorRegistry({
});
audio.setOutputMode(outputMode);
audio.setSpatialMode(spatialMode);
loadEffectLevels();
loadAudioLayerState();
@@ -716,17 +716,6 @@ async function applyAudioLayerState(): Promise<void> {
await itemEmitRuntime.setLayerEnabled(audioLayers.item, state.items.values(), listenerPosition);
}
/** Rebuilds active spatial audio node graphs after output or spatial rendering mode changes. */
async function rebuildSpatialAudioGraphs(): Promise<void> {
peerManager.suspendRemoteAudio();
if (audioLayers.voice) {
await peerManager.resumeRemoteAudio();
}
radioRuntime.cleanupAll();
itemEmitRuntime.cleanupAll();
await refreshAudioSubscriptionsAt({ x: state.player.x, y: state.player.y }, true);
}
/** Refreshes distance-gated radio/item stream subscriptions for a listener position. */
async function refreshAudioSubscriptionsAt(listenerPosition: { x: number; y: number }, force = false): Promise<void> {
await refreshAudioSubscriptionsForListeners([listenerPosition], force);
@@ -1747,15 +1736,6 @@ function toggleOutputModeCommand(): void {
mediaSession.saveOutputMode(outputMode);
updateStatus(outputMode === 'mono' ? 'Mono output.' : 'Stereo output.');
audio.sfxUiBlip();
void rebuildSpatialAudioGraphs();
}
function toggleSpatialModeCommand(): void {
spatialMode = audio.toggleSpatialMode();
settings.saveSpatialMode(spatialMode);
updateStatus(spatialMode === 'hrtf' ? 'HRTF spatial audio.' : 'Classic spatial audio.');
audio.sfxUiBlip();
void rebuildSpatialAudioGraphs();
}
function toggleLoopbackCommand(): void {
@@ -2065,7 +2045,6 @@ function escapeCommand(): void {
const mainModeCommandHandlers: Record<MainModeCommand, () => void> = {
editNickname: openNicknameEditor,
toggleMute,
toggleSpatialMode: toggleSpatialModeCommand,
toggleOutputMode: toggleOutputModeCommand,
toggleLoopback: toggleLoopbackCommand,
toggleVoiceLayer: () => toggleAudioLayer('voice'),