{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "jingles-steel-00",
  "type": "registry:block",
  "title": "Jingles Steel 00",
  "author": "Kenney <https://kenney.nl>",
  "description": "A short, bright steelpan jingle with a clear, resonant tone, suitable for positive confirmations or successful, cheerful interactions.",
  "files": [
    {
      "path": "registry/soundcn/sounds/jingles-steel-00/jingles-steel-00.ts",
      "content": "import type { SoundAsset } from \"@/lib/sound-types\";\n\nexport const jinglesSteel00Sound: SoundAsset = {\n  name: \"jingles-steel-00\",\n  dataUri: \"data:audio/mpeg;base64,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\",\n  duration: 0.933,\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.933,
    "format": "mp3",
    "sizeKb": 8,
    "license": "CC0",
    "tags": [
      "jingles",
      "steel",
      "00"
    ],
    "keywords": [
      "steelpan",
      "metallic",
      "bright",
      "resonant",
      "short",
      "positive confirmation",
      "cheerful interaction",
      "success",
      "ui feedback",
      "notification",
      "light",
      "clear",
      "exotic",
      "playful",
      "crisp",
      "ding",
      "pop",
      "approval",
      "jingle"
    ]
  },
  "categories": [
    "jingles"
  ]
}