This repository hosts static update feeds and release artifacts for Botaemic projects.
The current SoundController app should read the raw GitHub manifest URL:
https://raw.githubusercontent.com/Botaemic/Updates/main/manifest.json
GitHub Pages currently publishes from docs, so the top-level manifest is not available at:
https://botaemic.github.io/Updates/manifest.json
That Pages URL only works if Pages is later changed to publish from the repository root.
manifest.json uses schemaVersion 2. Products are keyed by numeric product IDs instead of names like companionApp or firmware.
Product IDs use this 32-bit format:
0xPPPPVVTT
PPPPis the project ID.VVis the hardware or product variant.00means generic or all variants.TTis the target type.
Target types:
0x01 Firmware
0x02 Windows companion app
0x03 Bootloader
0x04 Hardware definition/config package
0x05 Documentation package
0x06 Calibration/config data
Current SoundController product IDs:
0x00010002 SoundController App
0x00010101 SoundController USB Firmware
The updater detects installed apps and connected USB devices first, then matches those detected product IDs against the manifest.
Recommended repository shape on GitHub:
Botaemic/Updates
README.md
manifest.json
app/
soundcontroller/
releases/
firmware/
soundcontroller/
releases/
docs/
index.html
schema-v2.md
GitHub Pages can publish the neutral landing page from the docs folder:
https://botaemic.github.io/Updates/
Artifacts can use paths relative to baseUrl:
"url": "firmware/soundcontroller/releases/0.1.3/SoundController.hex"They can also use full HTTPS URLs, for example GitHub Release assets:
"url": "https://github.com/Botaemic/Updates/releases/download/v0.1.8/SoundController-App-0.1.8.msi"The update manager supports both. It must verify SHA-256 before installing or flashing an artifact. Artifacts with an empty sha256 are intentionally blocked until the hash is filled in.