No description
| npins | ||
| pyjecteur | ||
| scripts | ||
| .gitignore | ||
| API_DOC.pdf | ||
| default.nix | ||
| pyjecteur.nix | ||
| README.md | ||
| setup.py | ||
| shell.nix | ||
pyjecteur
Obtenir un nix-shell avec pyjecteur (équivalent d'un virtualenv mais avec nix)
Installer nix (curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install) puis executer
nix-shell -A prod
Documentation rapide
pyjecteur.widget.Widget
Contient la logique d'interaction avec le module DMX-USB. Pour l'utiliser, il
suffit d'instancier l'objet puis d'appler la méthode set_dmx:
def set_dmx(self, addr: int, data: bytes, addr_starting: int = 0) -> None:
"""
Set dmx values that will be sent.
If `auto_commit` is set to false, to provided configuration won't be
sent but memorized until the next call to `Widget.commit()` (or a call
to this function with `auto_commit = True`).
"""
Il existe aussi pyjecteur.dummy.Widget qui ne requiert pas de device physique.
Pour des interactions à plus haut niveau, continuez de lire
pyjecteur.lights.Universe
Objet représentant un Univers.
class Universe:
"""Represents a DMX universe.
Manages the adress space and responsibles for sending DMX to widget when
`Universe.update_dmx()` is called.
"""
def __init__(self, widget):
"""
Initializes the Universe
widget must be a class providing `widget.set_dmx(data, address)`
"""
def register(self, light: "AbstractLight", address: int) -> None:
"""
Register a light at the specified address
"""
def update_dmx(self, light: "AbstractLight", data: Union[bytearray, bytes]) -> None:
"""
Update the dmx data of the specified light
"""
Interéagir avec un projecteur
Globalement, il faut instancier l'objet représentant le projecteur puis
l'enregister sur son Univers (Universe.register(light, address), ATTENTION
les addresses commencent à 0).
Ensuite il y a deux façon de changer les paramètres:
- Changer les attributs (
projo.pan = 100) - Changer les addresses directement avec la notation index (change la valeur
à l'addresse
addresse_projo + index)
Déclaration d'un nouveau type de projecteur
S'inspirer du fichier pyjecteur/fixtures.py