Overview
========
Audio-Samples
-------------
.. raw:: html
Dependencies
------------
You'll need `Pure Data `_ for sound-production.
Some objects rely on external *puredata* libraries. These can be installed with the deken plugin.
Getting started
---------------
Open a python shell (I recommend `Ipython `_) in this folder.
to start the app::
from roqba import main
main.main()
..
to pause::
main.director.pause()
..
to resume::
main.director.unpause()
..
to stop::
main.director.stop()
..
adjust speed by::
main.director.speed = # length of the shortest note-length in seconds.
..
follow the log-messages with::
tail -f log.txt
..
follow a graphical (scrolling) representation on the notes played by:
tail -f scrolling.txt
..
note that on some systems tail will not continuously follow
the file and it is necessary to run for example a repeated cat::
watch -n 0.1 cat scrolling.txt
..
diagram
-------
.. image:: _static/roqba_highlevel.png
:width: 700
_`introduction`
---------------
| main starts a thread in which the app runs.
| director contains the main loop in its `_play` method.
| `_play` calls the _Composers_ (synchronous) `generate` method following the metronome's clock
| `generate` calls the voices' coroutines until a satisfactory harmonic result is obtained.
| the stream-analyzer (and performer) controls if there are drum-fills or embellishments to be added. it also checks for conditions of a ceasura.
| If a caesura is given, a flag is set which the director uses to modify its behaviour.
| Finally the musical frame is sent to both the Note-Gateway and the Notator module.
.. toctree::
:maxdepth: 1
events_and_messages