1 unstable release
0.1.0 | Aug 25, 2020 |
---|
#915 in Audio
14KB
203 lines
Polyphony
Library to facilitate generating different sounds at the same time (polyphony).
Contributing
We welcome contributions, both in the form of issues and in the form of pull requests. Before opening a pull request, please open an issue first so that you know whether a subsequent pull request would likely be approved.
If you don’t have a Codeberg account, alternatively, you can contribute via e-mail (an email address is in the commits). But just creating a Codeberg account is probably the easiest.
Unless explicitly stated otherwise, you agree that your contributions are licensed as described below.
License
polyphony
is distributed under the terms of the MIT license or the Apache License (Version 2.0),
at your choice.
For the application of the MIT license, the examples included in the doc comments are not
considered "substatial portions of this Software".
lib.rs
:
Library to facilitate generating different sounds at the same time (polyphony).
Polyphony consists of different steps:
- Classify how the event should be dispatched.
How exactly it should be classified, is defined by the
EventDispatchClass
enum. The dispatching itself is done by a type that implements theEventDispatchClassifier
trait. - Next, using the classification, voices are assigned to the event.
The assigned voice(s) are described by the
VoiceAssignment
enum. TheVoiceAssigner
trait defines this action. - Then, the event can be dispatched by calling the
dispatch
method on theVoiceAssignment
.EventDispatchClass
: ./enum.EventDispatchClass.htmlEventDispatchClassifier
: ./trait.EventDispatchClassifier.htmlVoiceAssignment
: ./enum.VoiceAssignment.htmlVoiceAssigner
: ./trait.VoiceAssigner.htmldispatch
: enum.VoiceAssignment.html#method.dispatch