Skip to content

Commit 0e00497

Browse files
committed
feat: request audio permission on device connection
Request microphone permission proactively when DRUM device connects, improving UX by avoiding interruption during recording. Fallback permission request in Voice component remains for cases where permission was denied or revoked.
1 parent bf3321f commit 0e00497

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/lib/stores/midi.svelte.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import { getCurrentFirmwareVersion } from '$lib/config/firmware';
44
import { createLogger, isMidiRealtimeMessage, isMidiSystemMessage } from '$lib/utils/logger';
5+
import { requestPermission as requestAudioPermission } from '$lib/stores/audioInput.svelte';
56

67
interface MidiState {
78
access: MIDIAccess | null;
@@ -301,6 +302,12 @@ function connectDevice(deviceId: string) {
301302
}
302303
_setDeviceConnected(output, input || null);
303304
logger.info('Connected to MIDI device: ' + output.name);
305+
306+
// Request audio recording permission proactively after device connection
307+
// This improves UX by not interrupting the user during recording
308+
requestAudioPermission().catch((error) => {
309+
logger.warn('Failed to request audio permission: ' + (error instanceof Error ? error.message : String(error)));
310+
});
304311
} else {
305312
_setDeviceConnectionError('Selected device not found.');
306313
logger.error('Device not found: ' + deviceId);

0 commit comments

Comments
 (0)