Skip to content

Python library for MVR (My Virtual Rig) which is part of GDTF

License

Notifications You must be signed in to change notification settings

open-stage/python-mvr

Repository files navigation

python-mvr

Python library for MVR (My Virtual Rig). MVR is part of GDTF (General Device Type Format)

MVR specification as per https://gdtf.eu/mvr/prologue/introduction/

See source code for documentation. Naming conventions, in general, are identical to that on the GDTF, CamelCase is replaced with underscore_delimiters.

Source code

PyPi page

Pytest

Check links in markdown

Installation

pip install pymvr

To install latest version from git via pip:

python -m pip install https://codeload.github.com/open-stage/python-mvr/zip/refs/heads/master

Usage

import pymvr
mvr_scene = pymvr.GeneralSceneDescription("mvr_file.mvr")

for layer_index, layer in enumerate(mvr_scene.layers):
    ... #process data

See BlenderDMX and tests for reference implementation.

Status

  • Currently implemented:
    • Address
    • Alignment
    • AUXData
    • ChildList
    • Class
    • Connection
    • CustomCommand
    • Data
    • Fixture
    • FocusPoint
    • Geometries
    • Geometry3D
    • Gobo
    • GroupObject
    • Layer
    • Mapping
    • Overwrite
    • Position
    • Projector
    • Protocol
    • SceneObject
    • Sources
    • Support
    • Symbol
    • Symdef
    • Truss
    • UserData
    • VideoScreen

Development

Typing

  • At this point, the --no-strict-optional is needed for mypy tests to pass:
mypy pymvr/*py  --pretty  --no-strict-optional

Format

  • to format, use ruff

Testing

  • to test, use pytest
  • to test typing with mypy use
pytest --mypy -m mypy pymvr/*py

About

Python library for MVR (My Virtual Rig) which is part of GDTF

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages