Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@ together from PyDevices/audiocomponents, and the history from v0.4.2rc1 back
covers both packages. Releases up to and including audiodsp's v0.1.1 shipped
both packages from audiodsp, and are recorded in its changelog.

## Unreleased

### Removed

- `audioeffects.rebuilt`. The delay, reverb, pitch and rack classes moved to
their own modules directly under `audioeffects` in 0.5.0, and the old
`audioeffects.rebuilt.<module>` import paths were kept working until now.
Import the class from `audioeffects` (`from audioeffects import Reverb`) or
from its module (`audioeffects.reverb`). The classes and their output are
unchanged.

## v0.5.1.dev0 (2026-11-02)

- panel_view: drop unused imports
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ refer to that archived repository, and they still resolve at

| Path | What's there |
|---|---|
| [`lib/audioeffects/`](lib/audioeffects/) | One module per effect, plus `_component.py` (the base every effect is built on) and `rebuilt/`, which only keeps the old `audioeffects.rebuilt.<module>` import paths working. |
| [`lib/audioeffects/`](lib/audioeffects/) | One module per effect, plus `_component.py` (the base every effect is built on). |
| [`tools/validate_api.py`](tools/validate_api.py), [`tools/validate_metadata.py`](tools/validate_metadata.py) | The validators that enforce the runtime API and the metadata manifest. |
| [`tools/effect_probes/`](tools/effect_probes/) | The measurement kit's test signals and their manifest. The audio files are generated, never committed. |
| `tools/` | Rendering and measurement tools besides. |
Expand Down
2 changes: 0 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@
"audioroute", "audiosampler", "audioshaper", "audioverb",
"synthio",
],
# `rebuilt` only keeps old import paths alive.
api_skip=["rebuilt"],
version_file="../VERSION",
)

Expand Down
8 changes: 4 additions & 4 deletions lib/audioeffects/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ Issues = "https://github.com/PyDevices/audioeffects/issues"
[tool.setuptools]
# Every package directory under lib/audioeffects, listed by hand: the
# package-dir mapping below ("." is the package) rules out packages.find,
# which would discover rebuilt/ as a top-level "rebuilt". v0.3.0 shipped
# without audioeffects.rebuilt and failed on import; tools/wheel_gate.py
# (the "Wheel" job in tests.yml) fails if a directory is left off again.
packages = ["audioeffects", "audioeffects.rebuilt"]
# which would discover any subpackage as a top-level package. v0.3.0 shipped
# without a subpackage and failed on import; tools/wheel_gate.py (the "Wheel"
# job in tests.yml) fails if a directory is left off again.
packages = ["audioeffects"]

[tool.setuptools.package-dir]
audioeffects = "."
Expand Down
9 changes: 0 additions & 9 deletions lib/audioeffects/rebuilt/__init__.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/airspace.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/analogdelay.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/convolutionreverb.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/digitaldelay.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/harmonizer.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/multitapdelay.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/octaver.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/pingpongdelay.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/pitchshifter.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/rack.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/reverb.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/shimmerhall.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/slapbackdelay.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/stereowidener.py

This file was deleted.

4 changes: 0 additions & 4 deletions lib/audioeffects/rebuilt/tapedelay.py

This file was deleted.

14 changes: 8 additions & 6 deletions tools/wheel_gate.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
commit from git, as tests.yml does) and the wheel with --no-deps, and --
from outside the repo, with `python -I` so lib/ cannot leak in -- imports
the package, renders one effect by catalogue name, and loads every effect
class and the old `audioeffects.rebuilt` import path.
class, and checks the removed `audioeffects.rebuilt` path stays gone.

Needs `build` in the interpreter that runs it. Exit status is non-zero on any
failure, and every failure is printed.
Expand Down Expand Up @@ -78,11 +78,13 @@ def loudest(sample, blocks=8):
sys.exit("effect classes did not load: %r" % (missing or names,))
print("effect classes load:", len(names))

# The old import path still reaches the same class.
from audioeffects.rebuilt.reverb import Reverb
if Reverb is not audioeffects.Reverb:
sys.exit("audioeffects.rebuilt.reverb does not re-export Reverb")
print("audioeffects.rebuilt still imports")
# The old `audioeffects.rebuilt` import path is gone.
try:
__import__("audioeffects.rebuilt.reverb")
except ImportError:
print("audioeffects.rebuilt is gone")
else:
sys.exit("audioeffects.rebuilt still imports")
print("wheel smoke: ok")
'''

Expand Down
Loading