Compare commits

...
2 Commits
Author SHA1 Message Date
magdevandClaude Fable 5 85a75b321d Add MIT licence
Declared with the PEP 639 license / license-files fields, so the text ships in
the wheel and the image rather than only the repository. Records the terms of
the two things this repository deliberately does not contain: Boxsim, which is
Visaton freeware and is never redistributed, and kicad-visaton-lib, which is
CC-BY-SA-4.0 and is copied into any image built by tools/build-image.sh.

Verified: pip install exposes License-Expression MIT and packages the text as
dist-info/licenses/LICENSE, both on the host and in the image.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-29 12:35:09 +02:00
magdevandClaude Fable 5 d173328443 Point library references at the new Gitea home
kicad-visaton-lib moved to
ssh://git@src.bundespruefstelle.ch:2022/magdev/kicad-visaton-lib.git.

Also corrects the image source label, which named a repository that does not
exist: this repo is magdev/boxsim-fileformat-rev, not boxdev/re-boxsim.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-29 12:23:43 +02:00
6 changed files with 37 additions and 7 deletions

No files matched your search

+2
View File
@@ -8,3 +8,5 @@ brute
.claude/
__pycache__/
*.ini
build/
dist/
+2 -2
View File
@@ -12,12 +12,12 @@ FROM python:3.13-slim AS base
LABEL org.opencontainers.image.title="boxsim" \
org.opencontainers.image.description="Boxsim project decoder and KiCad project generator" \
org.opencontainers.image.source="https://src.bundespruefstelle.ch/boxdev/re-boxsim" \
org.opencontainers.image.source="https://src.bundespruefstelle.ch/magdev/boxsim-fileformat-rev" \
org.opencontainers.image.licenses="MIT"
WORKDIR /opt/boxsim
COPY pyproject.toml README.md ./
COPY pyproject.toml README.md LICENSE ./
COPY boxsim ./boxsim
# Staged by tools/build-image.sh: the upgraded Visaton symbol library and the
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Marco Grätsch
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+1 -1
View File
@@ -4,7 +4,7 @@
v0.1.0 is delivered. The `boxsim` package decodes Boxsim containers in pure Python and generates KiCad 10 projects from their crossovers; see `README.md` for the format and the tool, and `CHANGELOG.md` for what changed.
Environment as of 2026-09-29: KiCad 10.0.6 installed natively, Python 3.13.15, Visaton library at `/home/magdev/workspaces/other/kicad-visaton-lib` (remote `pidock.local:3022`), upgraded to the KiCad 10 format as part of this work.
Environment as of 2026-09-29: KiCad 10.0.6 installed natively, Python 3.13.15, Visaton library checked out at `/home/magdev/workspaces/other/kicad-visaton-lib` from `ssh://git@src.bundespruefstelle.ch:2022/magdev/kicad-visaton-lib.git`, upgraded to the KiCad 10 format as part of this work.
Reference project for all work: `boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Projekte/Default.BPJ`.
+8 -2
View File
@@ -2,7 +2,7 @@
Read Boxsim loudspeaker projects and turn their crossovers into KiCad projects.
[Boxsim](https://www.visaton.de/) is Visaton's free loudspeaker simulation program. Its project files (`.bpj`) and driver files (`.bch`) use an undocumented container, reverse engineered here. `boxsim` decodes them and generates a KiCad 10 project whose schematic mirrors the crossover you drew in Boxsim, with every part bound to a symbol and footprint from [kicad-visaton-lib](https://src.bundespruefstelle.ch/boxdev/kicad-visaton-lib).
[Boxsim](https://www.visaton.de/) is Visaton's free loudspeaker simulation program. Its project files (`.bpj`) and driver files (`.bch`) use an undocumented container, reverse engineered here. `boxsim` decodes them and generates a KiCad 10 project whose schematic mirrors the crossover you drew in Boxsim, with every part bound to a symbol and footprint from [kicad-visaton-lib](https://src.bundespruefstelle.ch/magdev/kicad-visaton-lib).
## Install
@@ -15,6 +15,7 @@ Nothing is required at runtime beyond Python 3.11+. KiCad 10 is a hard dependenc
Point the tool at the Visaton library and the Boxsim parts catalogue:
```bash
git clone ssh://git@src.bundespruefstelle.ch:2022/magdev/kicad-visaton-lib.git
export BOXSIM_KICAD_LIB=/path/to/kicad-visaton-lib
export BOXSIM_CATALOG="/path/to/BoxSim 2.1 DE/Weichenbauteile/Visatonteile.txt"
```
@@ -157,4 +158,9 @@ Tests needing KiCad or the Boxsim distribution skip themselves when those are ab
## Licence
MIT.
MIT, see [LICENSE](LICENSE).
Two things this repository deliberately does not contain, and their terms if you assemble them yourself:
- `Boxsim.exe` and the Boxsim distribution are Visaton freeware. Only the development-only oracle touches the binary, and no part of it is redistributed here or in the image.
- [kicad-visaton-lib](https://src.bundespruefstelle.ch/magdev/kicad-visaton-lib) is CC-BY-SA-4.0. `tools/build-image.sh` copies it into the image it builds, so an image you publish carries that licence alongside this one.
+3 -2
View File
@@ -1,5 +1,5 @@
[build-system]
requires = ["setuptools>=68"]
requires = ["setuptools>=77"]
build-backend = "setuptools.build_meta"
[project]
@@ -8,7 +8,8 @@ version = "0.1.0"
description = "Read Boxsim loudspeaker projects and generate KiCad projects from their crossovers"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "MIT" }
license = "MIT"
license-files = ["LICENSE"]
authors = [{ name = "Marco Grätsch", email = "magdev3.0@gmail.com" }]
keywords = ["boxsim", "visaton", "kicad", "loudspeaker", "crossover"]
dependencies = []