audio-code 0.1.0

A simple, high level game engine for audio games: 3D sound, speech, virtual menus, physics and timing. No graphics required.
Documentation
[package]

name = "audio-code"

version = "0.1.0"

edition = "2024"

description = "A simple, high level game engine for audio games: 3D sound, speech, virtual menus, physics and timing. No graphics required."

license = "MIT"

repository = "https://github.com/ui-hater/audio-code"

readme = "README.md"

keywords = ["audiogame", "accessibility", "gamedev", "audio", "screen-reader"]

categories = ["game-engines", "accessibility", "multimedia::audio"]



[features]

default = ["prism", "macos"]

## Speech and braille output through screen readers / TTS via the prism library (needs CMake and a C++23 compiler).

prism = ["dep:prismer"]

## macOS only: speak through VoiceOver (accessibility announcements) or the system voice

## (AVSpeechSynthesizer) when prism is unavailable.

macos = ["dep:objc2", "dep:objc2-foundation", "dep:objc2-app-kit", "dep:objc2-avf-audio", "dep:dispatch2"]

## Run games inside a wxWidgets window (via wxDragon) instead of the built-in winit window.

wxdragon = ["dep:wxdragon"]



[dependencies]

chacha20poly1305 = "0.11"

cpal = "0.18.2"

fastrand = "2.5.0"

getrandom = "0.4"

glam = "0.34.1"

# Linked statically, so games need no prism library next to the executable.

prismer = { version = "0.1.4", features = ["static"], optional = true }

sha2 = "0.11"

symphonia = { version = "0.6.1", features = ["all"] }

winit = "0.30.13"

wxdragon = { version = "0.9.23", optional = true }



[[example]]

name = "wx_game"

required-features = ["wxdragon"]



[target.'cfg(target_os = "macos")'.dependencies]

dispatch2 = { version = "0.3.1", optional = true, default-features = false, features = ["std"] }

objc2 = { version = "0.6.5", optional = true }

objc2-app-kit = { version = "0.3.2", optional = true, default-features = false, features = [

    "std",

    "NSAccessibility",

    "NSAccessibilityConstants",

    "NSApplication",

    "NSResponder",

    "NSWindow",

    "NSWorkspace",

] }

objc2-avf-audio = { version = "0.3.2", optional = true, default-features = false, features = ["std", "AVSpeechSynthesis"] }

objc2-foundation = { version = "0.3.2", optional = true, default-features = false, features = [

    "std",

    "NSArray",

    "NSDictionary",

    "NSObject",

    "NSString",

    "NSValue",

] }