Skip to main content

Python external for controlling the Decibel ScorePlayer cavas mode

Project description

scoreplayer-external

A python module for drawing to the canvas mode of the Decibel ScorePlayer. This allows for OSC messages to be sent to canvas objects in a python-like manner. It requires the python-osc and zeroconf modules.

This is an early version and the documentation is currently incomplete. Until then, a paper explaining its use will be available in the proceedings of the 2018 Australian Computer Music Conference.

Basic Usage

First you need to create a scorePlayerExternal object and run the selectServer method.

from scoreplayer_external import scoreObject, scorePlayerExternal
import time
from threading import Event

finished = Event()
external = scorePlayerExternal()
external.selectServer()
canvas = external.connect(onConnect)
finished.wait()
external.shutdown()

This will check the network for any running iPad servers and prompt the user to connect to one. The drawing commands themselves should be placed into the connection handler method that is passed to the external.connect method.

Some sample drawing commands. Stay tuned for more documentation.

def onConnect():
    canvas.clear()
    scroll = canvas.addScroller('scroll', 1, 10, 10, 300, 300, 500, 20.0)
    scroll.loadImage('modulation.png')
    line = canvas.addLayer('line', 1, 20, 10, 5, 300)
    line.setColour(0, 0, 0)
    clef = scroll.addGlyph('clef', 1, 100, 100)
    clef.setGlyphSize(72)
    clef.setGlyph('fClef')
    bunny = canvas.addLayer('bunny', 0, 200, 200, 300, 300)
    bunny.loadImage('distortion.png', 1)
    line2 = canvas.addLine('line2', 0, 400, 400, 500, 500, 2)
    scroll.start()
    scroll.fade(0, 5)
    bunny.move(100, 400, 8)
    time.sleep(5)
    scroll.fade(1, 5)
    time.sleep(2)
    scroll.stop()
    scroll.setScrollerPosition(0)
    line2.setStartPoint(400, 500)
    line2.setColour(255, 0, 0)
    finished.set()

Project details


Download files

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

Files for scoreplayer-external, version 0.1.13
Filename, size File type Python version Upload date Hashes
Filename, size scoreplayer_external-0.1.13-py3-none-any.whl (21.2 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size scoreplayer_external-0.1.13.tar.gz (5.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page