Add copy paste audio files onto LoadAudio nodes or canvas (#2716)

This commit is contained in:
bymyself
2025-02-24 14:37:03 -07:00
committed by GitHub
parent 7f98342492
commit aabd409bf7
3 changed files with 27 additions and 2 deletions

View File

@@ -4,6 +4,7 @@ import type { IStringWidget } from '@comfyorg/litegraph/dist/types/widgets'
import { useNodeDragAndDrop } from '@/composables/node/useNodeDragAndDrop'
import { useNodeFileInput } from '@/composables/node/useNodeFileInput'
import { useNodePaste } from '@/composables/node/useNodePaste'
import type { DOMWidget } from '@/scripts/domWidget'
import { useToastStore } from '@/stores/toastStore'
import { ComfyNodeDef } from '@/types/apiTypes'
@@ -188,6 +189,8 @@ app.registerExtension({
return files
}
const isAudioFile = (file: File) => file.type.startsWith('audio/')
const { openFileSelection } = useNodeFileInput(node, {
accept: 'audio/*',
onSelect: handleUpload
@@ -204,10 +207,15 @@ app.registerExtension({
uploadWidget.label = 'choose file to upload'
useNodeDragAndDrop(node, {
fileFilter: (file) => file.type.startsWith('audio/'),
fileFilter: isAudioFile,
onDrop: handleUpload
})
useNodePaste(node, {
fileFilter: isAudioFile,
onPaste: handleUpload
})
node.previewMediaType = 'audio'
return { widget: uploadWidget }