{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "laser-large-000",
  "type": "registry:block",
  "title": "Laser Large 000",
  "author": "Kenney <https://kenney.nl>",
  "description": "A powerful, deep laser blast sound, best for heavy weapon firing or a significant, impactful action in a futuristic game.",
  "files": [
    {
      "path": "registry/soundcn/sounds/laser-large-000/laser-large-000.ts",
      "content": "import type { SoundAsset } from \"@/lib/sound-types\";\n\nexport const laserLarge000Sound: SoundAsset = {\n  name: \"laser-large-000\",\n  dataUri: \"data:audio/mpeg;base64,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\",\n  duration: 0.677,\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.677,
    "format": "mp3",
    "sizeKb": 6,
    "license": "CC0",
    "tags": [
      "laser",
      "large",
      "000"
    ],
    "keywords": [
      "laser",
      "large",
      "blast",
      "powerful",
      "deep",
      "heavy",
      "sci-fi",
      "futuristic",
      "game",
      "combat",
      "weapon",
      "impact",
      "energy",
      "electronic",
      "synthetic",
      "boom",
      "explosion",
      "shot",
      "action"
    ]
  },
  "categories": [
    "laser"
  ]
}