making beats

Out of context: Reply #3160

  • Started
  • Last post
  • 3,207 Responses
  • mantrakid1

    @auto - heres my stack for the OP1 app im working on. Using cursor (Opus 4.5)

    Language & Runtime: Python 3.13 - Main language

    Core Libraries
    - PySide6 (≥6.8) - Qt bindings for GUI (windows, widgets, buttons, etc.)
    - PyQtGraph (≥0.14) - Fast waveform visualization/plotting
    - NumPy (≥2.0) - Audio array manipulation
    - SoundFile (≥0.12) - Reading/writing WAV & AIFF files

    Audio Playback
    - Qt Multimedia (via PySide6) - QAudioSink, QMediaDevices for real-time audio output
    - Uses FFmpeg libs bundled with Qt for codec support

    Build & Packaging
    - PyInstaller - Bundles Python + dependencies into standalone executables
    - .spec files define build configs (separate for macOS dev, App Store, Windows)

    macOS Distribution
    - Separate builds for ARM64 (Apple Silicon) and x86_64 (Intel)
    - Universal binary created via lipo (combines both architectures)
    - Code signing with Developer ID certificate
    - Notarization via notarytool (Apple requirement for distribution)
    - DMG creation via hdiutil for direct downloads
    - App Store pkg via productbuild for Mac App Store submission

    Windows Distribution
    - Has a windows.spec file (PyInstaller)

    GitHub Actions - Automated builds on tag push
    Builds macOS on both macos-latest (ARM) and macos-15-intel (x86)
    Auto-creates GitHub Releases with DMG attached

View thread