-
Notifications
You must be signed in to change notification settings - Fork 386
Vuenodes/audio widgets #5627
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Vuenodes/audio widgets #5627
Changes from all commits
Commits
Show all changes
82 commits
Select commit
Hold shift + click to select a range
eb97685
WIP
Myestery b836c00
Merge branch 'main' into vuenodes/audio-widgets
Myestery 49edb99
[auto-fix] Apply ESLint and Prettier fixes
actions-user 0fc42fd
Asset Browser Modal Component (#5607)
arjansingh 87bf959
WIP
Myestery 0c4e5de
Add desktop dialogs framework (#5605)
webfiltered fad5bd4
Line Selection toolbox up with Vue Nodes (#5601)
Myestery d7a59f4
Move VueFire persistence configuration to initialization (#5614)
christian-byrne 5741e70
LazyImage on Safari (#5626)
Myestery e5d40db
lint: add tsconfig for browser_tests, fix existing violations (#5633)
DrJKL bec4710
refactor: Change manager flag from --disable-manager to --enable-mana…
viva-jinyi 8a680c4
[test] Add component test for image compare widget (#5549)
christian-byrne 19dfc37
Explicitly add email scope for social auth login. (#5638)
robinjhuang 3bfcab8
wip
Myestery 2229715
feat: Add recording button and update audio controls in WidgetRecordA…
Myestery 24dd10a
Merge branch 'main' into vuenodes/audio-widgets
Myestery 9766b70
Merge branch 'main' into vuenodes/audio-widgets
Myestery 4b874eb
feat: Enhance WidgetRecordAudio component with improved waveform visu…
Myestery e3325bb
fix: Correct node data binding in NodeWidgets
Myestery f9b5219
feat: Refactor audio recording and playback logic in WidgetRecordAudi…
Myestery 0c4f0af
reset unused files
Myestery b9de771
Preview audio on preview audio nodes
Myestery aa2858a
feat: Add serializeValue function for audio recording upload and work…
Myestery 9ccd466
feat: Add 'AUDIO_UPLOAD' alias to audio widget definitions
Myestery 816c269
feat: Enhance audio widget serialization and support for Vue components
Myestery 52475d1
feat: Enhance audio widget handling with dynamic sub-widget routing a…
Myestery d8b62b3
feat: Improve audio recording handling with enhanced state management…
Myestery 9f5e0ae
feat: Update model value to enhance reactivity and parent updates on …
Myestery 660cae6
feat: Enhance upload audio extension with Vue node compatibility and …
Myestery e597fe2
feat: Add support for hiding specific widgets based on node type
Myestery 69b6f09
feat: Remove console logs from audio setup and recording processes fo…
Myestery bbb4d0d
Merge branch 'main' into vuenodes/audio-widgets
Myestery 3b3ec1b
WIP
Myestery 83fc740
feat: Implement audio widget factories for Vue and LiteGraph, enhanci…
Myestery cb5d9aa
Merge remote-tracking branch 'origin/main' into vuenodes/audio-widgets
Myestery 9db0ab6
Merge remote-tracking branch 'origin/main' into vuenodes/audio-widgets
Myestery a4529cb
reset uploadAudio
Myestery 681a7d3
refactor: streamline audio widget UI and integrate audio preview player
Myestery 08ea852
refactor: remove hidden widgets logic and update widget value directl…
Myestery c5b1d29
refactor: simplify audioUI aliases by removing redundant entries
Myestery 7a69196
feat: implement audio preview player with playback controls and volum…
Myestery 2c1199a
reset NodeWidgets
Myestery e745b64
WIP Record Audio Serialization
Myestery 55537e3
refactor: remove unused audio widget factories and serialization store
Myestery 99d1d9d
refactor: remove AudioWidgetFactory and update related imports in aud…
Myestery c6f8a4b
refactor: move audio utility functions to audioUtils and update imports
Myestery e5d05ef
refactor: clean up WidgetAudioUI and WidgetRecordAudio components by …
Myestery 698cd4e
refactor: implement audio recording and playback composables for impr…
Myestery 969ad18
refactor: add new audio playback states and messages to localization …
Myestery b7bc2f9
refactor: change exported interfaces to internal in audio composables…
Myestery ff48736
Merge branch 'main' into vuenodes/audio-widgets
Myestery 1fde348
refactor: add mock implementation for Worker in vitest setup
Myestery e32eb7e
Merge remote-tracking branch 'origin/main' into vuenodes/audio-widgets
Myestery 64a0753
fix ts types for audio UI
Myestery cbf24f2
refactor: update audio widget name based on vueNodesMode
Myestery 3390798
feat: enhance getComponent to support widget name for combo types
Myestery 56261ce
feat: add playback speed and volume controls to audio player
Myestery 66c4a4b
feat: update button styling and refine widget type definition in Widg…
Myestery dfc0625
[automated] Apply ESLint and Prettier fixes
actions-user 500357b
feat: add IAudioRecordWidget and IAudioPlayerWidget types to widget d…
Myestery bf53c0e
feat: enhance AudioPreviewPlayer with dynamic audio URL handling and …
Myestery 75e182e
feat: simplify WidgetAudioUI by removing unused components and logic …
Myestery f5aa102
feat: add audio record widget and input specification to widget regis…
Myestery 48af3f6
feat: implement useAudioRecordWidget composable for audio recording f…
Myestery 3f78e66
feat: remove IAudioPlayerWidget interface from widget definitions
Myestery 4ebf49d
Merge remote-tracking branch 'origin/main' into vuenodes/audio-widgets
Myestery 33e7bcd
refactor: replace comboWidgetAdditions with a function to retrieve wi…
Myestery d8d730f
fix control button styles
Myestery 889b152
use better ts types
Myestery 16dabb3
refactor: rename playback timer variable for consistency
Myestery 8fb7158
replace useTimer with vueuse useCountdown
Myestery 9274fad
fix: enable canvasOnly option for audioUIWidget
Myestery ce4fc72
refactor: remove unused pause function from useAudioPlayback and add …
Myestery 306bfba
refactor: use css tokens
Myestery c6f90c8
useIntervalFn and simplify composables
Myestery 61d8704
chore: reset pnpm files to origin/main
Myestery f6d460c
Merge remote-tracking branch 'origin/main' into vuenodes/audio-widgets
Myestery 014acc2
reset pnpm-workspace
Myestery 3352eba
[automated] Apply ESLint and Prettier fixes
actions-user e97ab66
Merge branch 'main' into vuenodes/audio-widgets
Myestery f28df6d
add LOD support
Myestery 286a73b
[automated] Update test expectations
invalid-email-address File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Binary file modified
BIN
-199 Bytes
(100%)
...oad/uploadWidgets.spec.ts-snapshots/vue-nodes-upload-widgets-chromium-linux.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
60 changes: 60 additions & 0 deletions
60
src/renderer/extensions/vueNodes/widgets/components/WidgetAudioUI.vue
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
<template> | ||
<div class="w-full"> | ||
<WidgetSelect v-model="modelValue" :widget /> | ||
<div class="my-4"> | ||
<AudioPreviewPlayer | ||
:audio-url="audioUrlFromWidget" | ||
:readonly="readonly" | ||
:hide-when-empty="isOutputNodeRef" | ||
:show-options-button="true" | ||
/> | ||
</div> | ||
</div> | ||
</template> | ||
|
||
<script setup lang="ts"> | ||
import { computed } from 'vue' | ||
|
||
import type { LGraphNode } from '@/lib/litegraph/src/litegraph' | ||
import { app } from '@/scripts/app' | ||
import type { SimplifiedWidget } from '@/types/simplifiedWidget' | ||
import { isOutputNode } from '@/utils/nodeFilterUtil' | ||
|
||
import { getAudioUrlFromPath } from '../utils/audioUtils' | ||
import WidgetSelect from './WidgetSelect.vue' | ||
import AudioPreviewPlayer from './audio/AudioPreviewPlayer.vue' | ||
|
||
const props = defineProps<{ | ||
widget: SimplifiedWidget<string | number | undefined> | ||
readonly?: boolean | ||
nodeId: string | ||
}>() | ||
|
||
const modelValue = defineModel<string>('modelValue') | ||
|
||
defineEmits<{ | ||
'update:modelValue': [value: string] | ||
}>() | ||
|
||
// Get litegraph node | ||
const litegraphNode = computed(() => { | ||
if (!props.nodeId || !app.rootGraph) return null | ||
return app.rootGraph.getNodeById(props.nodeId) as LGraphNode | null | ||
}) | ||
|
||
// Check if this is an output node (PreviewAudio, SaveAudio, etc) | ||
const isOutputNodeRef = computed(() => { | ||
const node = litegraphNode.value | ||
if (!node) return false | ||
return isOutputNode(node) | ||
}) | ||
|
||
const audioFilePath = computed(() => props.widget.value as string) | ||
|
||
// Computed audio URL from widget value (for input files) | ||
const audioUrlFromWidget = computed(() => { | ||
const path = audioFilePath.value | ||
if (!path) return '' | ||
return getAudioUrlFromPath(path, 'input') | ||
}) | ||
</script> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.