Skip to content

Latest commit

 

History

History
161 lines (114 loc) · 7.84 KB

README.md

File metadata and controls

161 lines (114 loc) · 7.84 KB

ZOIA/Euroburo Patch Explorer

License: GPL v3

About

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.

Features

  • 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
  • Module options and parameters
  • Controls
    • Right-click for context menu
    • Left-click show/hide tooltip
    • Esc Reset selection
    • Shift Hold to temporarily disable mouse over function
  • 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

Explorer Quick Links

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

Disclaimer

Blocks and their connections may be displayed incorrectly (incorrect blocks and/or their incorrect order, see ./lib/README.md for more information)

The displayed parameter value and the dot on the slider represent the base setting of the parameter, independent of any CV modulation. When CV connections are active, the actual value on the device may differ from this base value as it's being dynamically modified by the incoming CV signal, such parameters are marked with approximately equal sign . The visual slider's dot position should match the circle position on your ZOIA device, both showing the base value before CV modulation is applied.

So far only tested with Chrome browser.

Feel free to report any issue.

Development

Prerequisites

  • Deno (v2.1.4 or higher)

Scripts

Install dependencies

deno task deno:install

Dev server

deno task dev

Build

deno task build

Publishing the build to GitHub pages

Rename the build ./dist folder to ./docs and push to repo.

Tips

Integration

The app supports two methods for integrating specific patch views:

1. Remote File Link

Access patches via direct URL:

https://darosh.github.io/zoian/#/?link=<encoded-file-url>

EXAMPLE REMOTE FILE LINK

Requirements:

  • Host server must support CORS
  • Provider's permission for content usage
  • Remote file must be a .BIN file or .ZIP file containing them

2. Embedded Content

Embed patch data directly in URL using base64-encoded gzipped content:

https://darosh.github.io/zoian/#/?file=<base64-gzipped-content>

EXAMPLE EMBEDDED PATCH LINK

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

Licence

Released under GPL v3 license, see also notes about derived work in ./lib/README.md.

Credits

  • darosh - Application design and development
  • sbw25phi2 - Data mining specialist
  • claude.ai - Assistance with Python to TypeScript parser conversion