asivery / webminidisc

Upload your Music to NetMD and HiMD MiniDisc devices thanks to WebUSB and WASM
GNU General Public License v2.0
122 stars 28 forks source link
minidisc reactjs typescript webusb

Web MiniDisc Pro

Copy audio to your NetMD MiniDisc device using only a web browser. Replace SonicStage, improve audio quality, and unlock new features.

Live @ https://web.minidisc.wiki/.

Full user guide @ the MiniDisc Wiki

Requirements

Installation

macOS

it just works ® ... no need to download or install any software. Safari is not currently supported; please use a Chromium browser instead.

Some macOS-specific issues are documented in the troubleshooting page of the user guide.

For macOS developers, see here.

Linux

Follow the instructions from the user guide here or the linux-minidisc project here to grant your user access to the device. If you skip this step you'll likely get an Access denied message when trying to connect.

If you use a "packaged" version of Chromium, such as from the Ubuntu Store, you will encounter more issues. Refer to the user guide for more details.

Windows

The Windows USB stack requires a driver to be installed before using Web MiniDisc Pro. The driver installation requires Administrator privileges.

See the full details in the user guide here. - it is usually as simple as using Zadig to install the driver.

Note: restart your browser after installation.

Chrome OS

Works without any addtional set up - tested with 91 stable (91.0.4472.102). If your user account or device is managed (by your school or company) you may run into issues. If you are using a personal Google account on a personal Chromebook you should be good to go.


Differences between Web Minidisc and Web Minidisc Pro

Web MiniDisc Pro was forked from the original Web MiniDisc to provide a more advanced workflow for interacting with NetMD devices.

In addition to the standard NetMD features that Web MiniDisc provides, Web MiniDisc Pro also features:

The following features depend on Factory mode commands. See netmd-exploits for a list of supported devices


Development

Development discussion and coordination happens through the MiniDisc.wiki Discord server in the #research channel

How to build

This project was bootstrapped with Create React App, so you can run:

WASM modules are provided in the public/ directory. However, if you wish to build those binaries yourself, instructions are provided in the extra/ directory.


Development on macOS

Install Xcode Build Tools CLI & Homebrew

In macOS Terminal run:

After homebrew is finished installing,

Install gcc & libvips

In macOS Terminal: brew install --build-from-source gcc, wait for it to finish then run brew install vips (this command may install gcc again from an available pre-built binary, if one exists for your current macOS version, this is normal behaviour as gcc is needed for vips to work).

Proceeding with installation

With the above prerequisites done, you can continue the build process as described in the How to Build section


How to contribute

If there's a feature you'd like to see implemented in Web MiniDisc Pro, feel free to submit a pull request.

Bugs and issues

Feel free to submit any issues as a GitHub issue. Web MiniDisc Pro is a hobby project and the developers cannot make guarantees about timeliness of bugfixes. If you have the skills to implement fixes yourself, we're more than happy to review pull requests.

Forks

Web MiniDisc Pro and its predecessors are GPL licensed. You are free to fork or clone and create your own instance. However we ask that you:

Credits