Skip to main content

Synchronous I/O for monome devices

Project description

monomeui

A Python package for interfacing with the monome Grid and Arc controllers. This library uses classic synchronous I/O, providing an alternative to the pymonome async library.

Two levels of interface are provided:

  • Grid and Arc provide low-level APIs directly to the SerialOSC commands, to modify the visual state and capture button presses and ring rotation events
  • GridUI and ArcUI encapsulate different high-level user interface paradigms, including unipolar/bipolar value displays. These interfaces support page-based rendering which can maintain and return states for different pages.
# Example: Arc UI
arcui = ArcUI()
page = arcui.add_page("unipolar")

@page.handler
def handler(ring, level, delta):
  print("Ring %d set to level %d" % (ring, level))

Requirements

  • A Monome Grid (tested with a 2021-edition 128, but should work with any generation) or Arc (tested with a 4-ring v2)
  • A computer running the serialosc server (tested on macOS Ventura)
  • Python 3.9 or above

Usage

Connect your monome device via USB. To test that the library works:

# run a test sequence on a grid, responding to button presses
python3 -m monome.grid.grid 

# run a test sequence on an arc, responding to ring rotations
python3 -m monome.arc.arc 

Examples

Further examples are available in examples.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

monome-0.1.0.tar.gz (16.9 kB view details)

Uploaded Source

File details

Details for the file monome-0.1.0.tar.gz.

File metadata

  • Download URL: monome-0.1.0.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.6

File hashes

Hashes for monome-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cf10966fcf0b5e122c91a82a497050d263dc87fcc6279f0861f374b961814efa
MD5 c7e2f39cd8067a5bae4ea46bbbe6bed0
BLAKE2b-256 b6eebc3e4f00553bda439ab35b35da1d8503f247c6176429cd601a3dbc5e23bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page