diff --git a/.devcontainer/DEVCONTAINER.md b/.devcontainer/DEVCONTAINER.md new file mode 100644 index 0000000..b88284f --- /dev/null +++ b/.devcontainer/DEVCONTAINER.md @@ -0,0 +1,29 @@ +# Usage + +The Dockerfile will take care of installing all needed dependencies; all you should need to do once you enter the container is run `make` and then `./supersonic` to start it. See the Linux/Ubuntu sections of BUILD.md for more details. + +# VNC Access + +The dev container by default will open a desktop accessible via VNC at port :5901 or via web browser at :6080. + +You can use the VNC_RESOLUTION env var to adjust it if your monitors don't fit 1080p well + +supersonic can still be started via the terminal or debugger in VS Code; it will automatically open in the VNC desktop + + +# Sound + +The container is configured to forward the default `/dev/snd` card so that supersonic can access it via the default ALSA driver. + +Depending on your host system, you may need to select a different sound card than what your system is using, or configure a dummy sound card, etc, as certain audio systems require exclusive access to the hardware device and don't like to share it with the container. + +If you encounter permission issues with accessing the device, make sure your user is in the `audio` group + +# Config + +The default config (`default-config.toml`) will be copied to the proper location in the home directory. If you create a file in `.devcontainer/` named `custom-config.toml`, that will be copied instead. It's in the `.gitignore`, so you can safely put whatever changes you want in there to point at your chosen servers, etc and persist them across dev container rebuilds. + +# Future Improvements + +- Better sound integration to enable mixing with host system +- X11 forwarding instructions \ No newline at end of file diff --git a/BUILD.md b/BUILD.md index cb289ec..e6d9df8 100644 --- a/BUILD.md +++ b/BUILD.md @@ -78,3 +78,7 @@ Supersonic is available in the AUR and can be built either manually with `makepk * **Note**: The .exe dynamically links to MSYS2 libmpv dependency dlls and must be started from the MSYS2 terminal, or all dependency DLLS must be copied to the same folder as the .exe * -> If you obtain a statically built mpv-2.dll (containing all its dependencies), and rename it to libmpv-2.dll, you can place just that DLL in the same directory as the EXE, and it should run * Improvements to Windows build process will be forthcoming + +## Build instructions (dev container) + +See `.devcontainer/DEVCONTAINER.md` for more info \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 39770fd..17bc467 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,6 +10,8 @@ To set up your development environment, you need the following things: * Libmpv and development headers installed (e.g. via apt, brew, or MinGW pacman) * A Subsonic server to connect to for testing (your own server or the Navidrome demo server) +Alternately you can use a Dev Container. See `.devcontainer/DEVCONTAINER.md` for more info + ## Pull Request Process Before opening a pull request, please ensure the following things: