From 6f1cea74cfe8d831aeef56b78b9e9afa83ecee3b Mon Sep 17 00:00:00 2001 From: pythongosssss <125205205+pythongosssss@users.noreply.github.com> Date: Sat, 5 Aug 2023 22:20:15 +0100 Subject: [PATCH] Play sound node --- js/assets/notify.mp3 | Bin 0 -> 74396 bytes js/playSound.js | 24 ++++++++++++++++++++++++ py/play_sound.py | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 js/assets/notify.mp3 create mode 100644 js/playSound.js create mode 100644 py/play_sound.py diff --git a/js/assets/notify.mp3 b/js/assets/notify.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5e3fdabbb12142dfa75702a0b0e0ca5e5425a7dd GIT binary patch literal 74396 zcmeFZXHZjJ`1ZR~2@oLkP)#88me4_zP^B9L5dkGsX(COeC?xa}6agV1AYD*8f}$d! zSEY�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 IMA41-AN9j*LI3~& literal 0 HcmV?d00001 diff --git a/js/playSound.js b/js/playSound.js new file mode 100644 index 0000000..318f54a --- /dev/null +++ b/js/playSound.js @@ -0,0 +1,24 @@ +import { app } from "/scripts/app.js"; + +app.registerExtension({ + name: "pysssss.PlaySound", + async beforeRegisterNodeDef(nodeType, nodeData, app) { + if (nodeData.name === "PlaySound|pysssss") { + const onExecuted = nodeType.prototype.onExecuted; + nodeType.prototype.onExecuted = async function () { + onExecuted?.apply(this, arguments); + if (this.widgets[0].value === "on empty queue") { + if (app.ui.lastQueueSize !== 0) { + await new Promise((r) => setTimeout(r, 500)); + } + if (app.ui.lastQueueSize !== 0) { + return; + } + } + const url = new URL(`assets/notify.mp3`, import.meta.url); + const audio = new Audio(url); + audio.play(); + }; + } + }, +}); diff --git a/py/play_sound.py b/py/play_sound.py new file mode 100644 index 0000000..5fa0700 --- /dev/null +++ b/py/play_sound.py @@ -0,0 +1,39 @@ +# Hack: string type that is always equal in not equal comparisons +class AnyType(str): + def __ne__(self, __value: object) -> bool: + return False + + +# Our any instance wants to be a wildcard string +any = AnyType("*") + + +class PlaySound: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "any": (any, {}), + "mode": (["always", "on empty queue"], {}), + }} + + FUNCTION = "nop" + INPUT_IS_LIST = True + OUTPUT_NODE = True + RETURN_TYPES = () + + CATEGORY = "utils" + + def IS_CHANGED(self, **kwargs): + return float("NaN") + + def nop(self, any, mode): + return {"ui": {"a":[]}, "result": ()} + + +NODE_CLASS_MAPPINGS = { + "PlaySound|pysssss": PlaySound, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "PlaySound|pysssss": "PlaySound 🐍", +}