{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "orc-female-open-fire-03",
  "type": "registry:block",
  "title": "Orc Female Open Fire 03",
  "author": "Kenney <https://kenney.nl>",
  "description": "Orc Female Open Fire 03 sound effect.",
  "files": [
    {
      "path": "registry/soundcn/sounds/orc-female-open-fire-03/orc-female-open-fire-03.ts",
      "content": "import type { SoundAsset } from \"@/lib/sound-types\";\n\nexport const orcFemaleOpenFire03Sound: SoundAsset = {\n  name: \"orc-female-open-fire-03\",\n  dataUri: \"data:audio/mpeg;base64,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\",\n  duration: 0.917,\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.917,
    "format": "mp3",
    "sizeKb": 8,
    "license": "CC0",
    "tags": [
      "orc",
      "female",
      "open",
      "fire",
      "03"
    ]
  },
  "categories": [
    "warcraft",
    "voice"
  ]
}