Skip to content

Latest commit

 

History

History
151 lines (117 loc) · 4.73 KB

File metadata and controls

151 lines (117 loc) · 4.73 KB

LabSoundPy Project Status

This document tracks the status of the LabSoundPy project, which aims to create Python bindings for the LabSound library using nanobind.

Setup Status

  • Initialize git submodules for nanobind
  • Initialize git submodules for LabSound
  • Configure CMake to use submodules

Binding Issues

Core Classes

  • Fix AudioContext class binding

    • Update factory methods to use LabSound API instead of Web Audio API
    • Fix nanobind template parameter syntax
    • Fix method bindings to match LabSound API
  • Fix AudioNode class binding

    • Fix nanobind template parameter syntax
    • Fix method bindings to match LabSound API
  • Fix AudioParam class binding

    • Fix nanobind template parameter syntax
    • Fix method bindings to match LabSound API

Node Classes

  • Fix OscillatorNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
    • Fix enum binding for OscillatorType
  • Fix GainNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
  • Fix BiquadFilterNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix enum binding for filter types
    • Fix method bindings to match LabSound API
  • Fix SampledAudioNode (BufferSourceNode) class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
  • Fix AnalyserNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
    • Fix ndarray template parameter syntax
  • Fix FunctionNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
    • Fix function callback binding
  • Fix AudioDestinationNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
  • Fix ChannelMergerNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
  • Fix ChannelSplitterNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
  • Fix ConstantSourceNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
  • Fix ConvolverNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
  • Fix DelayNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
  • Fix DynamicsCompressorNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
  • Fix PannerNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
  • Fix StereoPannerNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API
  • Fix WaveShaperNode class binding

    • Fix nanobind template parameter syntax for inheritance
    • Fix method bindings to match LabSound API

Node Implementation Status

WebAudio Public API Nodes

  • AnalyserNode (In Progress)
  • AudioBasicInspectorNode
  • AudioBasicProcessorNode
  • AudioHardwareInputNode
  • AudioScheduledSourceNode
  • BiquadFilterNode (In Progress)
  • ChannelMergerNode (In Progress)
  • ChannelSplitterNode (In Progress)
  • ConvolverNode (In Progress)
  • DelayNode (In Progress)
  • DynamicsCompressorNode (In Progress)
  • GainNode (In Progress)
  • OscillatorNode (In Progress)
  • PannerNode (In Progress)
  • SampledAudioNode (In Progress)
  • StereoPannerNode (In Progress)
  • WaveShaperNode (In Progress)
  • ConstantSourceNode (In Progress)

LabSound Extended Public API Nodes

  • ADSRNode
  • BPMDelayNode
  • ClipNode
  • DiodeNode
  • FunctionNode (In Progress)
  • GranulationNode
  • NoiseNode
  • PeakCompNode
  • PingPongDelayNode
  • PolyBLEPNode
  • PowerMonitorNode
  • PWMNode
  • RecorderNode
  • SfxrNode
  • SpatializationNode
  • SpectralMonitorNode
  • SupersawNode

Testing

  • Build and install the package
  • Run basic tests to verify functionality
  • Test with example scripts

Documentation

  • Update README.md with installation instructions
  • Document Python API
  • Add examples