feat: cài đặt tính năng AI cho để prompt

This commit is contained in:
2026-07-21 19:48:35 +07:00
parent 9de9ae965f
commit bbc42c630e
6 changed files with 853 additions and 12 deletions
+27 -3
View File
@@ -39,7 +39,30 @@ const DAWCommandDispatcher = (function() {
if (!registry[name]) {
return { success: false, error: `Unknown command: ${name}` };
}
return registry[name](args);
const result = registry[name](args);
pushHistory({ name, args, result, timestamp: Date.now() });
return result;
}
function getHistory() { return history; }
function getHistoryIndex() { return historyIndex; }
function registerDAWCommands(api) {
register('CREATE_TRACK', (args) => api.createTrack(args));
register('DELETE_TRACK', (args) => api.deleteTrack(args));
register('ADD_CLIP', (args) => api.addClip(args));
register('REMOVE_CLIP', (args) => api.removeClip(args));
register('SET_TRACK_VOLUME', (args) => api.setTrackVolume(args));
register('SET_TRACK_PAN', (args) => api.setTrackPan(args));
register('TOGGLE_MUTE', (args) => api.toggleMute(args));
register('TOGGLE_SOLO', (args) => api.toggleSolo(args));
register('PROCESS_AUDIO_DSP', (args) => api.processAudioDsp(args));
register('SET_BPM', (args) => api.setBpm(args));
register('SET_PLAYHEAD', (args) => api.setPlayhead(args));
register('ADD_MARKER', (args) => api.addMarker(args));
register('CREATE_MIDI_ITEM', (args) => AIGateway.createMidiItem(args));
register('MODIFY_MIDI_NOTES', (args) => AIGateway.modifyMidiNotes(args));
register('PROCESS_AI_DSP', (args) => AIGateway.processAIDSP(args));
}
return {
@@ -50,8 +73,9 @@ const DAWCommandDispatcher = (function() {
canUndo,
canRedo,
pushHistory,
get history() { return history; },
get historyIndex() { return historyIndex; }
getHistory,
getHistoryIndex,
registerDAWCommands
};
})();