Files
lintunes/setup.py
T
trav e38c751e39 v0.53.0: Kaleidostrobe, the 2002 iTunes visualizer, as the fourth style
Reverse-engineered from its PowerPC binary and checked against the original
running under emulation: textures byte for byte and every triangle, over
3,600 frames. 25 fps like the plugin; its colour maps and wave images are
extracted from its own code; tests/kaleidostrobe_golden.npz was recorded
from the original.
2026-10-14 12:02:22 -07:00

43 lines
1.4 KiB
Python

import re
from pathlib import Path
from setuptools import setup, find_packages
# Single source of truth for the version is lintunes/__init__.py; read it
# textually so setup.py doesn't import the package (and its Qt deps).
_init = (Path(__file__).parent / "lintunes" / "__init__.py").read_text()
_version = re.search(r'^__version__ = "([^"]+)"', _init, re.MULTILINE)[1]
setup(
name="lintunes",
version=_version,
packages=find_packages(),
# The web-mix templates (player.js/css, the player sprite GIF and
# the placeholder image) must ride along in an installed copy.
# The andTunes APK LinTunes installs, and the default button artwork
# sync ships to the device.
package_data={
"lintunes": ["sounds/*.wav"],
"lintunes.export": ["templates/*"],
"lintunes.android": ["andTunes.apk", "andTunes.json"],
"lintunes.andtunes": ["buttons/*.png"],
"lintunes.kaleidostrobe": ["tables.npz"],
},
install_requires=[
"PyQt6>=6.8.0", # QAudioBufferOutput (visualizer) needs Qt 6.8+
"mutagen>=1.46",
"numpy>=1.24",
"requests>=2.28",
"pychromecast>=14.0.10",
],
data_files=[
("share/applications", ["packaging/lintunes.desktop"]),
],
entry_points={
"console_scripts": [
"lintunes=lintunes.main:main",
],
},
python_requires=">=3.11",
)