pouët.net

sointu-executable-msx by Team210 [web]

# sointu-executable-msx
Easy-to-use tool to create executable music using Sointu (https://github.com/vsariola/sointu).

It downloads nasm, Crinkler and Sointu automatically and runs them to generate an executable from Sointu track YAML files. For this purpose, it contains a small x86 assembly player and wav writer.

## Prequisites
You need a recent version of the Windows SDK installed. This can be achieved by installing either Visual Studio or MSVC build tools, and enabling the "Windows 10 SDK" workload in the installer.

## Usage
```
usage: sointu-executable-msx [-h] [-b,--brutal] [-n,--nfo NFO] [-d,--delay DELAY] [-s,--sointu-compile SOINTUCOMPILE]
                             [-4,--4klang FOURKLANG] [--sample-type {float,pcm}] [--channel-count CHANNELCOUNT]
                             [--sample-size SAMPLESIZE]
                             input

Easy-to-use tool to create executable music using Sointu.

positional arguments:
  input                 Track file to compile.

options:
  -h, --help            show this help message and exit
  -b,--brutal           Use brutal Crinkler settings (takes much longer, but executable will be smaller).
  -n,--nfo NFO          Add a NFO to the release archive.
  -d,--delay DELAY      Add a delay in ms before starting to play the track (useful for computationally heavy tracks).
  -s,--sointu-compile SOINTUCOMPILE
                        Override the sointu-compile executable to use.
  -4,--4klang FOURKLANG
                        Use this 4klang.asm to pack a 4klang track.
  --sample-type {float,pcm}
                        Enforce the sample type for 4klang builds.
  --channel-count CHANNELCOUNT
                        Enforce channel count for 4klang builds.
  --sample-size SAMPLESIZE
                        Enforce sample size for 4klang builds.
```

# Build
Download and install Python 3.11 with pip (The official binary installer should do this).

Use pip to install poetry: `python -m pip install poetry`. Make sure that the Scripts subfolder of your Python installation is added to the system `PATH`. Then install the dependencies by running `poetry install`.

You can now debug the software using poetry: `poetry run python -m sointuexemsx -h`.

If you want to build the executable binary, do this by running `poetry run pyinstaller pyinstaller.spec`. The binary and release zip archive will be created in the `dist/` subfolder of the repository.

# Licenses
This program is (c) 2023 Alexander Kraus <nr4@z10.info> and licensed under GPLv3; see LICENSE for details. It downloads and uses (but does not repackage):
* Crinkler, which is copyright (c) 2005-2020 Aske Simon Christensen and Rune L. H. Stubbe. See https://github.com/runestubbe/Crinkler; or specifically https://github.com/runestubbe/Crinkler/blob/master/LICENSE.txt.
* Nasm, which is copyright (c) 1996-2010 the NASM Authors. See https://github.com/netwide-assembler/nasm; or specifically https://github.com/netwide-assembler/nasm/blob/master/LICENSE.
* Sointu, which is copyright (c) 2018 Dominik Ries and (c) 2020 Veikko Sariola. See https://github.com/vsariola/sointu; or specifically https://github.com/vsariola/sointu/blob/master/LICENSE.