⚠️ WORK IN PROGRESSThis application is under active development. Some features may be incomplete or not working as intended. Feel free to report an issue.
ZOIA and ZOIA Euroburo are modular digital effect pedals and Eurorack modules manufactured by Empress Effects. This application, deployed at darosh.github.io/zoian allows users to explore their .BIN patch files.
- Drop .BIN patch files or a folder containing them, .ZIP files work as well, you can also drop whole
~/Library/Application Support/.ZoiaLibraryApp
folder - All processing happens in your browser — no data is sent to any server
- Contains old Euroburo factory demo set (you can drag & drop other sets your self, for example this one)
- Highlights IO connections
- List starred parameters
- Switch between ZOIA and Euroburo layout
- CPU utilization overview
- Share patches via link
- Download shared user .BIN files
- Controls
- Right-click for context menu
- Left-click show/hide tooltip
- Esc Reset selection
- Hotkeys / Context menu
- N Previous patch
- M Next patch
- S Share patch
- D Dark theme
- C Show connection
- A Animations
- E Euroburo layout
- Module description
- 2...6 Max columns
- Happy little dots & blocks made in Brno
Access factory patch sets directly in the web explorer.
Set | Link |
---|---|
Euroburo Factory Set | https://darosh.github.io/zoian/ |
ZOIA Factory Set | https://darosh.github.io/zoian/#/?link=https://patchstorage.com/api/beta/patches/107803/files/107802/download/ |
Version 5 Factory Set | https://darosh.github.io/zoian/#/?link=https://cdn.shopify.com/s/files/1/0028/5462/files/zoia_5_factory_patches.zip |
Blocks and their connections may be displayed incorrectly (incorrect blocks and/or their incorrect order, see ./lib/README.md for more information)
So far only tested with Chrome browser.
- Deno (v2.1.4 or higher)
deno task deno:install
deno task dev
deno task build
Rename the build ./dist folder to ./docs and push to repo.
- both /lib and /src app are using debug package, the log can be turned on with
localStorage.debug='*'
- disable app context menu (to restore native one) with
localStorage.menu = false
- color mixing:
- display test of module name abbreviations:
- display module and block data:
The app supports two methods for integrating specific patch views:
Access patches via direct URL:
https://darosh.github.io/zoian/#/?link=<encoded-file-url>
Requirements:
- Host server must support CORS
- Provider's permission for content usage
- Remote file must be a .BIN file or .ZIP file containing them
Embed patch data directly in URL using base64-encoded gzipped content:
https://darosh.github.io/zoian/#/?file=<base64-gzipped-content>
Implementation notes:
- Non-gzipped content works but produces very long URLs
- Strip trailing zero bytes
- Browser implementation example:
const uint8Array = uint8Array.subarray(0, patch.size * 4).slice()
const gz = await gzipUint8Array(uint8Array)
const file = removePadding(uint8ArrayToBase64(gz)) // Requires encodeURIComponent() for URL usage
Released under GPL v3 license, see also notes about derived work in ./lib/README.md.