fix: minor errors during compilation

This commit is contained in:
Xiaohan-Tian
2026-06-05 18:09:31 -07:00
parent 748cd78e05
commit 2e27becaca
2 changed files with 10 additions and 7 deletions
+3 -2
View File
@@ -137,10 +137,11 @@ export class UpdateTrackTool extends BaseTool {
let instrumentKey: InstrumentType | undefined; let instrumentKey: InstrumentType | undefined;
if (instrumentName !== undefined) { if (instrumentName !== undefined) {
instrumentKey = resolveInstrumentKeyByEnglishName(instrumentName); const resolvedInstrumentKey = resolveInstrumentKeyByEnglishName(instrumentName);
if (!instrumentKey) { if (resolvedInstrumentKey === null) {
return this.createErrorResult(`Invalid instrument "${instrumentName}". Use the exact English name from list_all_available_instruments.`); return this.createErrorResult(`Invalid instrument "${instrumentName}". Use the exact English name from list_all_available_instruments.`);
} }
instrumentKey = resolvedInstrumentKey;
} }
const trackNameChanged = newTrackName !== undefined && newTrackName !== resolvedTrack.getName(); const trackNameChanged = newTrackName !== undefined && newTrackName !== resolvedTrack.getName();
+7 -5
View File
@@ -8,6 +8,7 @@ import { KGMidiNote } from '../core/midi/KGMidiNote';
import { KGCore } from '../core/KGCore'; import { KGCore } from '../core/KGCore';
import { KGProject } from '../core/KGProject'; import { KGProject } from '../core/KGProject';
import { KGChordRegion } from '../core/region/KGChordRegion'; import { KGChordRegion } from '../core/region/KGChordRegion';
import { KGMidiTrack } from '../core/track/KGMidiTrack';
import { FLUIDR3_INSTRUMENT_MAP } from '../constants/generalMidiConstants'; import { FLUIDR3_INSTRUMENT_MAP } from '../constants/generalMidiConstants';
import { pitchToNoteName } from './midiUtil'; import { pitchToNoteName } from './midiUtil';
import { beatsToTicks, getTicksPerBar, reduceFraction } from './mathUtil'; import { beatsToTicks, getTicksPerBar, reduceFraction } from './mathUtil';
@@ -174,14 +175,15 @@ function resolveRegionTrackMetadata(region: KGMidiRegion, project: KGProject): {
trackName: string; trackName: string;
instrumentName: string; instrumentName: string;
} { } {
const trackId = region.getTrackId(); const trackId = String(region.getTrackId());
const track = project.getTracks().find(candidate => candidate.getId().toString() === trackId); const track = project.getTracks().find(candidate => candidate.getId().toString() === trackId);
const trackName = track?.getName() || 'Unnamed Track'; const midiTrack = track?.getCurrentType() === 'KGMidiTrack'
const instrumentKey = 'getInstrument' in (track ?? {}) && typeof track.getInstrument === 'function' ? track as KGMidiTrack
? track.getInstrument()
: null; : null;
const trackName = track?.getName() || 'Unnamed Track';
const instrumentKey = midiTrack?.getInstrument() ?? null;
const instrumentName = instrumentKey const instrumentName = instrumentKey
? FLUIDR3_INSTRUMENT_MAP[instrumentKey]?.displayName || instrumentKey ? FLUIDR3_INSTRUMENT_MAP[instrumentKey]?.displayName || String(instrumentKey)
: 'Unknown Instrument'; : 'Unknown Instrument';
return { trackId, trackName, instrumentName }; return { trackId, trackName, instrumentName };