Last modified 3 years ago Last modified on 05/22/2014 02:56:56 PM

A web interface for controlling mididings, similar to the livedings gui included with mididings, but based on web technology and running in modern browsers.

git clone https://chrisarndt.de/git/WebDings.git

Note: if the above command fails due to SSL certificate verification errors, you can disable certificate verification in git with git config --global http.sslVerify false before cloning the repository and re-anable it afterwards again with git config --global http.sslVerify true.


Here's a screenshot of WebDings running in Firefox on Linux, showing the main area with the SceneGroup (e.g. song) title and the list of Scenes (e.g. song parts) and the sliding panel on the left side, showing the expandable list of available SceneGroups and Scenes.



Apart from mididings, this webapp requires gevent-socketio and pyliblo. Unfortunately gevent and gevent-socketio are not Python 3 compatible, therefore currently only Python 2.7 is supported.

Create a virtualenv for Python 2.7 and download and install mididings (it is not listed on PyPI yet), e.g.:

$ pip install --pre -f http://das.nasophon.de/mididings/ mididings

(The --pre option is only needed (and supported) with pip >= 1.4.)

Then download WebDings:

$ git clone https://chrisarndt.de/git/WebDings.git

change into the WebDings directory and install the package and all other dependencies with:

$ python setup.py install

How to use

Start mididings with a patch, which includes the following hook configuration:

    OSCInterface(56418, 56419),

An example patch is included in the file mididings-example-setlist.py. Run it with:

$ mididings -f mididings-example-setlist.py

Then open another terminal, activate your virtualenv there and start the application server with:

$ webdings [-v] [-p 8080]

If you changed the OSC port numbers above used by mididings, pass them with the -O and -P options to webdings. Use webdings -h to list all options.

Finally, open your webbrowser at http://localhost:8080/ and be sure to have JavaScript enabled.

There is an alternative implementation of the web server part using Flask, which you can run with the webdings-flask command.

Bugs and Limitations

Currently, every mididings Scene must be contained in a SceneGroup, otherwise the Scene will not display correctly and can't be activated through the scene list in the left panel. This will be fixed soon.