diff --git a/apps/code/src/renderer/assets/sounds/bubbles.mp3 b/apps/code/src/renderer/assets/sounds/bubbles.mp3 new file mode 100644 index 000000000..3ea2d5974 Binary files /dev/null and b/apps/code/src/renderer/assets/sounds/bubbles.mp3 differ diff --git a/apps/code/src/renderer/assets/sounds/drop.mp3 b/apps/code/src/renderer/assets/sounds/drop.mp3 new file mode 100644 index 000000000..d2da29d0e Binary files /dev/null and b/apps/code/src/renderer/assets/sounds/drop.mp3 differ diff --git a/apps/code/src/renderer/assets/sounds/knock.mp3 b/apps/code/src/renderer/assets/sounds/knock.mp3 new file mode 100644 index 000000000..674527c80 Binary files /dev/null and b/apps/code/src/renderer/assets/sounds/knock.mp3 differ diff --git a/apps/code/src/renderer/assets/sounds/ring.mp3 b/apps/code/src/renderer/assets/sounds/ring.mp3 new file mode 100644 index 000000000..b5b1b8bd1 Binary files /dev/null and b/apps/code/src/renderer/assets/sounds/ring.mp3 differ diff --git a/apps/code/src/renderer/assets/sounds/shoot.mp3 b/apps/code/src/renderer/assets/sounds/shoot.mp3 new file mode 100644 index 000000000..bb3f9bc30 Binary files /dev/null and b/apps/code/src/renderer/assets/sounds/shoot.mp3 differ diff --git a/apps/code/src/renderer/assets/sounds/slide.mp3 b/apps/code/src/renderer/assets/sounds/slide.mp3 new file mode 100644 index 000000000..9ea8649f1 Binary files /dev/null and b/apps/code/src/renderer/assets/sounds/slide.mp3 differ diff --git a/apps/code/src/renderer/assets/sounds/switch.mp3 b/apps/code/src/renderer/assets/sounds/switch.mp3 new file mode 100644 index 000000000..a250f6eb6 Binary files /dev/null and b/apps/code/src/renderer/assets/sounds/switch.mp3 differ diff --git a/apps/code/src/renderer/features/settings/components/sections/GeneralSettings.tsx b/apps/code/src/renderer/features/settings/components/sections/GeneralSettings.tsx index c8cbc2cc6..1b84761cf 100644 --- a/apps/code/src/renderer/features/settings/components/sections/GeneralSettings.tsx +++ b/apps/code/src/renderer/features/settings/components/sections/GeneralSettings.tsx @@ -304,6 +304,13 @@ export function GeneralSettings() { I'm ready Cute noise Meep + Bubbles + Drop + Knock + Ring + Shoot + Slide + Switch {completionSound !== "none" && ( diff --git a/apps/code/src/renderer/features/settings/stores/settingsStore.ts b/apps/code/src/renderer/features/settings/stores/settingsStore.ts index ab31fed54..4201e77a5 100644 --- a/apps/code/src/renderer/features/settings/stores/settingsStore.ts +++ b/apps/code/src/renderer/features/settings/stores/settingsStore.ts @@ -7,7 +7,19 @@ import { persist } from "zustand/middleware"; export type DefaultRunMode = "local" | "cloud" | "last_used"; export type LocalWorkspaceMode = "worktree" | "local"; export type SendMessagesWith = "enter" | "cmd+enter"; -export type CompletionSound = "none" | "guitar" | "danilo" | "revi" | "meep"; +export type CompletionSound = + | "none" + | "guitar" + | "danilo" + | "revi" + | "meep" + | "bubbles" + | "drop" + | "knock" + | "ring" + | "shoot" + | "slide" + | "switch"; export type AgentAdapter = "claude" | "codex"; export type AutoConvertLongText = "off" | "1000" | "2500" | "5000" | "10000"; export type DefaultInitialTaskMode = "plan" | "last_used"; diff --git a/apps/code/src/renderer/utils/sounds.ts b/apps/code/src/renderer/utils/sounds.ts index 7febbc3eb..51a5c7ebf 100644 --- a/apps/code/src/renderer/utils/sounds.ts +++ b/apps/code/src/renderer/utils/sounds.ts @@ -1,14 +1,28 @@ import type { CompletionSound } from "@features/settings/stores/settingsStore"; +import bubblesUrl from "@renderer/assets/sounds/bubbles.mp3"; import daniloUrl from "@renderer/assets/sounds/danilo.mp3"; +import dropUrl from "@renderer/assets/sounds/drop.mp3"; import guitarUrl from "@renderer/assets/sounds/guitar.mp3"; +import knockUrl from "@renderer/assets/sounds/knock.mp3"; import meepUrl from "@renderer/assets/sounds/meep.mp3"; import reviUrl from "@renderer/assets/sounds/revi.mp3"; +import ringUrl from "@renderer/assets/sounds/ring.mp3"; +import shootUrl from "@renderer/assets/sounds/shoot.mp3"; +import slideUrl from "@renderer/assets/sounds/slide.mp3"; +import switchUrl from "@renderer/assets/sounds/switch.mp3"; const SOUND_URLS: Record, string> = { guitar: guitarUrl, danilo: daniloUrl, revi: reviUrl, meep: meepUrl, + bubbles: bubblesUrl, + drop: dropUrl, + knock: knockUrl, + ring: ringUrl, + shoot: shootUrl, + slide: slideUrl, + switch: switchUrl, }; let currentAudio: HTMLAudioElement | null = null;