From af9eca8feecf40acf5a719c0a3b79cfc200b0d52 Mon Sep 17 00:00:00 2001 From: Xiaohan-Tian <157918347+Xiaohan-Tian@users.noreply.github.com> Date: Mon, 11 Aug 2025 19:54:51 -0700 Subject: [PATCH] disable unused param check for building; updated version number; avoid relying on `constructor.name` to determine class type due to class name mangling. --- package-lock.json | 8 ++++---- package.json | 4 ++-- src/core/audio-interface/KGAudioInterface.ts | 8 +++++++- src/core/commands/track/RemoveTrackCommand.ts | 2 +- src/stores/projectStore.ts | 4 ++-- tsconfig.app.json | 4 ++-- 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 75bc4d1..7a27d69 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { - "name": "kgsp", - "version": "0.0.0", + "name": "K.G.Studio", + "version": "0.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "kgsp", - "version": "0.0.0", + "name": "K.G.Studio", + "version": "0.5.0", "dependencies": { "class-transformer": "^0.5.1", "idb": "^8.0.3", diff --git a/package.json b/package.json index f4ec0d1..1e88db5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "kgsp", + "name": "K.G.Studio", "private": true, - "version": "0.0.0", + "version": "0.5.0", "type": "module", "scripts": { "dev": "vite", diff --git a/src/core/audio-interface/KGAudioInterface.ts b/src/core/audio-interface/KGAudioInterface.ts index 4f4707d..79850c1 100644 --- a/src/core/audio-interface/KGAudioInterface.ts +++ b/src/core/audio-interface/KGAudioInterface.ts @@ -229,6 +229,8 @@ export class KGAudioInterface { public preparePlayback(project: KGProject, startPosition: number): void { // Clear any existing scheduled events this.clearScheduledEvents(); + + console.log("Preparing playback"); try { // Set project BPM and time signature FIRST (this affects timing calculations) @@ -245,10 +247,14 @@ export class KGAudioInterface { project.getTracks().forEach(track => { const trackId = track.getId().toString(); const audioBus = this.trackAudioBuses.get(trackId); + + console.log(`Track ${trackId} has audio bus: ${audioBus ? 'true' : 'false'}; type: ${track.getType()}`); if (audioBus && track.getType() === 'MIDI') { track.getRegions().forEach(region => { - if (region.constructor.name === 'KGMidiRegion') { + console.log(`Region ${region.getId().toString()}: type: ${region.getCurrentType()}`); + + if (region.getCurrentType() === 'KGMidiRegion') { const midiRegion = region as unknown as { getNotes: () => KGMidiNote[] }; // Get notes from region (assuming it has a getNotes method) diff --git a/src/core/commands/track/RemoveTrackCommand.ts b/src/core/commands/track/RemoveTrackCommand.ts index 0649d8f..c72db00 100644 --- a/src/core/commands/track/RemoveTrackCommand.ts +++ b/src/core/commands/track/RemoveTrackCommand.ts @@ -35,7 +35,7 @@ export class RemoveTrackCommand extends KGCommand { this.originalTrackIndex = trackToRemove.getTrackIndex(); // Store instrument if it's a MIDI track - if (trackToRemove.constructor.name === 'KGMidiTrack' && 'getInstrument' in trackToRemove) { + if (trackToRemove.getCurrentType() === 'KGMidiTrack' && 'getInstrument' in trackToRemove) { this.originalInstrument = (trackToRemove as KGMidiTrack).getInstrument(); } diff --git a/src/stores/projectStore.ts b/src/stores/projectStore.ts index 47d4378..470fe43 100644 --- a/src/stores/projectStore.ts +++ b/src/stores/projectStore.ts @@ -313,7 +313,7 @@ export const useProjectStore = create((set, get) => { // Type guard to check if track is KGMidiTrack const isMidiTrack = (track: KGTrack): track is KGMidiTrack => { - return track.constructor.name === 'KGMidiTrack' && 'getInstrument' in track; + return track.getCurrentType() === 'KGMidiTrack' && 'getInstrument' in track; }; // Check if instrument changed (only for MIDI tracks) @@ -455,7 +455,7 @@ export const useProjectStore = create((set, get) => { const trackId = track.getId().toString(); // Get instrument from track model if it's a MIDI track let instrument: InstrumentType = 'acoustic_grand_piano'; // Default fallback - if (track.constructor.name === 'KGMidiTrack' && 'getInstrument' in track) { + if (track.getCurrentType() === 'KGMidiTrack' && 'getInstrument' in track) { instrument = (track as KGMidiTrack).getInstrument(); } audioInterface.createTrackSynth(trackId, instrument); diff --git a/tsconfig.app.json b/tsconfig.app.json index 354cd1f..10d3200 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -21,8 +21,8 @@ /* Linting */ "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, + "noUnusedLocals": false, + "noUnusedParameters": false, "erasableSyntaxOnly": false, "noFallthroughCasesInSwitch": true, "noUncheckedSideEffectImports": true