{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "dice-shake-2",
  "type": "registry:block",
  "title": "Dice Shake 2",
  "author": "Kenney <https://kenney.nl>",
  "description": "A medium-length sound of dice being shaken, suitable for game interfaces to indicate the start of a player's turn or a roll action.",
  "files": [
    {
      "path": "registry/soundcn/sounds/dice-shake-2/dice-shake-2.ts",
      "content": "import type { SoundAsset } from \"@/lib/sound-types\";\n\nexport const diceShake2Sound: SoundAsset = {\n  name: \"dice-shake-2\",\n  dataUri: \"data:audio/mpeg;base64,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\",\n  duration: 1.380,\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": 1.38,
    "format": "mp3",
    "sizeKb": 11,
    "license": "CC0",
    "tags": [
      "dice",
      "shake",
      "2"
    ],
    "keywords": [
      "dice",
      "shake",
      "rattle",
      "game",
      "ui",
      "player turn",
      "roll",
      "action",
      "interactive",
      "anticipation",
      "medium",
      "rhythmic",
      "suspense",
      "tabletop",
      "simulation",
      "playful",
      "metallic",
      "game event",
      "subtle",
      "turn start"
    ]
  },
  "categories": [
    "dice"
  ]
}