{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "night-elf-female-incoming-02",
  "type": "registry:block",
  "title": "Night Elf Female Incoming 02",
  "author": "Kenney <https://kenney.nl>",
  "description": "Night Elf Female Incoming 02 sound effect.",
  "files": [
    {
      "path": "registry/soundcn/sounds/night-elf-female-incoming-02/night-elf-female-incoming-02.ts",
      "content": "import type { SoundAsset } from \"@/lib/sound-types\";\n\nexport const nightElfFemaleIncoming02Sound: SoundAsset = {\n  name: \"night-elf-female-incoming-02\",\n  dataUri: \"data:audio/mpeg;base64,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\",\n  duration: 0.929,\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.929,
    "format": "mp3",
    "sizeKb": 8,
    "license": "CC0",
    "tags": [
      "night",
      "elf",
      "female",
      "incoming",
      "02"
    ]
  },
  "categories": [
    "warcraft",
    "voice"
  ]
}