{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "jingles-hit-03",
  "type": "registry:block",
  "title": "Jingles Hit 03",
  "author": "Kenney <https://kenney.nl>",
  "description": "A melodic jingle hit that suggests a completed action or a discovery, ideal for progression in games or successful interactive elements.",
  "files": [
    {
      "path": "registry/soundcn/sounds/jingles-hit-03/jingles-hit-03.ts",
      "content": "import type { SoundAsset } from \"@/lib/sound-types\";\n\nexport const jinglesHit03Sound: SoundAsset = {\n  name: \"jingles-hit-03\",\n  dataUri: \"data:audio/mpeg;base64,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2rQ92IIUpSucdUeWQFdXkdSXa1hBmkDO6q6q3Z/6//+v///3RBm9qub4I1ekWkNQ+ncRnivUEkl1MTYeohy5QY42c9zTyxKhM5eNaf/7UsTNAAwZbXOmDLaBfxottMeigPLw2nA9lasqhjmD0PDgAMc549BsEhpDapMsxrteak0SHpaMDRRmpurfdR2/QSH3I7tN//5H//6+3//6Irfoauunt0lWskZZijde0AkJSuKYnQhxlHUQZzOVoVrKnTpiK7bC4gIlUYKQZodVYwUTxuNVRYdVY3/0KsP/UMOpKv0o1M80tMpcsxzTKX//zP//////6KX/o/NR/hgFBWWB7qUwwEIUSF/RWmlzDU0ltNbfQLhQVkhcaGEahGOi//tSxMqAC6zBa6ewaYGKr6309gj4pUsH0ZKiVOIzwqKtkq08tacfGVyiiIRENA4QtGnyjnKPUlJIFEkE1JScaUUHj1SQEEhYXSiKt////ULCplahF9ftBBLk2bW88Y7AEG4ezBlI////+dcREwpx7iwWFQqIYGhSKjQPH05E1Gto6oVlGWk+VaKAlEq2Ur0by1aDYugoENoXVv/5on5d+i5f5i1GUkxBTUUzLjEwMKqqqqqqqqqqAEAAGsP8kp/HUoqoD8FQJGoyKglr/Wr/mkT/+1LEyIAMJZFxR6CxUV2wbejxifqKJxKqJV2JWCo05gUuUebRJbEtbSJYS5QdEKgaPFssVkjxFVR4q78NB2oGj1R4RP0EQ0SBTUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7UsTKA8sopRoMJMvBTaZdAYSJuFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxMkDyaiC2KeMxFAGgEAA8AAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU=\",\n  duration: 0.746,\n  format: \"mp3\",\n  license: \"CC0\",\n  author: \"Kenney\",\n};\n",
      "type": "registry:lib"
    },
    {
      "path": "registry/soundcn/lib/sound-types.ts",
      "content": "export interface SoundAsset {\r\n  /** Unique identifier for the sound */\r\n  name: string;\r\n  /** Base64-encoded data URI (data:audio/mpeg;base64,...) */\r\n  dataUri: string;\r\n  /** Duration in seconds */\r\n  duration: number;\r\n  /** Audio format */\r\n  format: \"mp3\" | \"wav\" | \"ogg\";\r\n  /** License identifier */\r\n  license: \"CC0\" | \"OGA-BY\" | \"MIT\";\r\n  /** Original author/creator */\r\n  author: string;\r\n}\r\n\r\nexport interface UseSoundOptions {\r\n  /** Volume level from 0 to 1. Default: 1 */\r\n  volume?: number;\r\n  /** Playback speed multiplier. Default: 1 */\r\n  playbackRate?: number;\r\n  /** If true, calling play() stops current playback first. Default: false */\r\n  interrupt?: boolean;\r\n  /** If false, play() does nothing. Useful for user preferences. Default: true */\r\n  soundEnabled?: boolean;\r\n  /** Called when playback starts */\r\n  onPlay?: () => void;\r\n  /** Called when playback ends naturally */\r\n  onEnd?: () => void;\r\n  /** Called when pause() is called */\r\n  onPause?: () => void;\r\n  /** Called when stop() is called */\r\n  onStop?: () => void;\r\n}\r\n\r\nexport type PlayFunction = (overrides?: {\r\n  volume?: number;\r\n  playbackRate?: number;\r\n}) => void;\r\n\r\nexport interface SoundControls {\r\n  stop: () => void;\r\n  pause: () => void;\r\n  isPlaying: boolean;\r\n  duration: number | null;\r\n  sound: SoundAsset;\r\n}\r\n\r\nexport type UseSoundReturn = readonly [PlayFunction, SoundControls];\r\n",
      "type": "registry:lib"
    },
    {
      "path": "registry/soundcn/lib/sound-engine.ts",
      "content": "let audioContext: AudioContext | null = null;\nconst bufferCache = new Map<string, AudioBuffer>();\n\nexport function getAudioContext(): AudioContext {\n  if (!audioContext) {\n    audioContext = new AudioContext();\n  }\n  return audioContext;\n}\n\nexport async function decodeAudioData(dataUri: string): Promise<AudioBuffer> {\n  const cached = bufferCache.get(dataUri);\n  if (cached) return cached;\n\n  const ctx = getAudioContext();\n  const base64 = dataUri.split(\",\")[1];\n  const binaryString = atob(base64);\n  const bytes = new Uint8Array(binaryString.length);\n  for (let i = 0; i < binaryString.length; i++) {\n    bytes[i] = binaryString.charCodeAt(i);\n  }\n\n  const audioBuffer = await ctx.decodeAudioData(bytes.buffer.slice(0));\n  bufferCache.set(dataUri, audioBuffer);\n  return audioBuffer;\n}\n\nexport interface PlaySoundOptions {\n  volume?: number;\n  playbackRate?: number;\n  onEnd?: () => void;\n}\n\nexport interface SoundPlayback {\n  stop: () => void;\n}\n\nexport async function playSound(\n  dataUri: string,\n  options: PlaySoundOptions = {}\n): Promise<SoundPlayback> {\n  const { volume = 1, playbackRate = 1, onEnd } = options;\n  const ctx = getAudioContext();\n  if (ctx.state === \"suspended\") {\n    await ctx.resume();\n  }\n\n  const buffer = await decodeAudioData(dataUri);\n  const source = ctx.createBufferSource();\n  const gain = ctx.createGain();\n\n  source.buffer = buffer;\n  source.playbackRate.value = playbackRate;\n  gain.gain.value = volume;\n\n  source.connect(gain);\n  gain.connect(ctx.destination);\n\n  source.onended = () => {\n    onEnd?.();\n  };\n\n  source.start(0);\n\n  return {\n    stop: () => {\n      try {\n        source.stop();\n      } catch {\n        // No-op if already stopped.\n      }\n    },\n  };\n}\n",
      "type": "registry:lib"
    }
  ],
  "meta": {
    "duration": 0.746,
    "format": "mp3",
    "sizeKb": 6,
    "license": "CC0",
    "tags": [
      "jingles",
      "hit",
      "03"
    ],
    "keywords": [
      "jingle",
      "hit",
      "melodic",
      "completed",
      "action",
      "discovery",
      "progression",
      "game",
      "success",
      "interactive",
      "ui",
      "notification",
      "alert",
      "ding",
      "chime",
      "pop",
      "playful",
      "feedback",
      "positive",
      "achievement",
      "unlock"
    ]
  },
  "categories": [
    "jingles"
  ]
}