fix doc
This commit is contained in:
parent
d60d5733f0
commit
40381a5a8d
2 changed files with 34 additions and 26 deletions
50
README.md
50
README.md
|
@ -1,4 +1,7 @@
|
|||
# HexoDSP - Comprehensive DSP graph and synthesis library for developing a modular synthesizer in Rust, such as HexoSynth.
|
||||
# hexodsp
|
||||
|
||||
|
||||
## HexoDSP - Comprehensive DSP graph and synthesis library for developing a modular synthesizer in Rust, such as HexoSynth.
|
||||
|
||||
This project contains the complete DSP backend of the modular
|
||||
synthesizer [HexoSynth](https://github.com/WeirdConstructor/HexoSynth).
|
||||
|
@ -22,15 +25,15 @@ Here a short list of features:
|
|||
* Extensible framework for quickly developing new nodes at compile time
|
||||
* A comprehensive automated test suite
|
||||
|
||||
## API Examples
|
||||
### API Examples
|
||||
|
||||
### Documentation
|
||||
#### Documentation
|
||||
|
||||
The development documentation with all private fields and functions can be
|
||||
found separately hosted:
|
||||
[HexoDSP API Developer Documentation](http://m8geil.de/hexodsp_doc/hexodsp/).
|
||||
|
||||
### Raw `NodeConfigurator` API
|
||||
#### Raw `NodeConfigurator` API
|
||||
|
||||
This API is the most low level API provided by HexoDSP.
|
||||
It shows how to create nodes and connect them.
|
||||
|
@ -65,7 +68,7 @@ node_conf.upload_prog(prog, true);
|
|||
let (out_l, out_r) = node_exec.test_run(0.1, false);
|
||||
```
|
||||
|
||||
### Hexagonal Matrix API
|
||||
#### Hexagonal Matrix API
|
||||
|
||||
This is a short overview of the API provided by the
|
||||
hexagonal Matrix API, which is the primary API used
|
||||
|
@ -98,7 +101,7 @@ let (out_l, out_r) = node_exec.test_run(0.11, true);
|
|||
// samples now.
|
||||
```
|
||||
|
||||
## State of Development
|
||||
### State of Development
|
||||
|
||||
As of 2021-05-18: The architecture and it's functionality have been mostly
|
||||
feature complete by now. The only part that is still lacking is the collection
|
||||
|
@ -109,39 +112,44 @@ Make sure to follow [Weird Constructors Mastodon
|
|||
account](https://mastodon.online/@weirdconstructor) or the releases of this
|
||||
project to be notified of updates.
|
||||
|
||||
### Road Map / TODO List
|
||||
#### Road Map / TODO List
|
||||
|
||||
I have a pretty detailed TODO list in my private notebook.
|
||||
|
||||
## Running the Jack Example:
|
||||
### Running the Jack Example:
|
||||
|
||||
You need nightly rust:
|
||||
|
||||
rustup toolchain install nightly
|
||||
|
||||
To run the example:
|
||||
|
||||
cargo +nightly run --release --example jack_demo
|
||||
```
|
||||
cargo run --release --example jack_demo_node_api
|
||||
```
|
||||
|
||||
You might need following dependencies (Ubuntu Linux):
|
||||
|
||||
```
|
||||
sudo apt install libjack0 libjack-jackd2-dev qjackctl
|
||||
```
|
||||
|
||||
These might work on Debian too:
|
||||
|
||||
```
|
||||
sudo apt install libjack0 libjack-dev
|
||||
```
|
||||
|
||||
## Running the Automated Testsuite:
|
||||
### Running the Automated Testsuite:
|
||||
|
||||
There exists an automate test suite for the DSP and backend code:
|
||||
|
||||
```
|
||||
cargo test
|
||||
```
|
||||
|
||||
## Known Bugs
|
||||
### Known Bugs
|
||||
|
||||
* The ones you encounter and create as issues on GitHub.
|
||||
|
||||
## Contributions
|
||||
### Contributions
|
||||
|
||||
I currently have a quite precise vision of what I want to achieve and my goal
|
||||
is to make music with this project eventually.
|
||||
|
@ -155,32 +163,32 @@ I might merge pull requests if I find the time and think that the contributions
|
|||
are in line with my vision.
|
||||
|
||||
Please bear in mind, that I can only accept contributions under the License
|
||||
of this project (AGPLv3 or later).
|
||||
of this project (GPLv3 or later).
|
||||
|
||||
## Contact the Author
|
||||
### Contact the Author
|
||||
|
||||
You can reach me via Discord or Mastodon. I'm joined most public Rust Discord
|
||||
servers, especially the "Rust Audio" Discord server. I am also sometimes on
|
||||
freenode.net, for instance in the `#lad` channel (nick `weirdctr`).
|
||||
|
||||
## Support Development
|
||||
### Support Development
|
||||
|
||||
You can support me (and the development of this project) via Liberapay:
|
||||
|
||||
<a href="https://liberapay.com/WeirdConstructor/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a>
|
||||
|
||||
## License
|
||||
### License
|
||||
|
||||
This project is licensed under the GNU Affero General Public License Version 3 or
|
||||
later.
|
||||
|
||||
### Why GPL?
|
||||
#### Why GPL?
|
||||
|
||||
The obivious reason is that this project copied and translated code from many
|
||||
other free software / open source synthesis projects. The sources
|
||||
will show the origin and license of the individual parts.
|
||||
|
||||
#### My Reasons
|
||||
##### My Reasons
|
||||
|
||||
Picking a license for my code bothered me for a long time. I read many
|
||||
discussions about this topic. Read the license explanations. And discussed
|
||||
|
|
10
src/lib.rs
10
src/lib.rs
|
@ -166,7 +166,7 @@ I might merge pull requests if I find the time and think that the contributions
|
|||
are in line with my vision.
|
||||
|
||||
Please bear in mind, that I can only accept contributions under the License
|
||||
of this project (AGPLv3 or later).
|
||||
of this project (GPLv3 or later).
|
||||
|
||||
## Contact the Author
|
||||
|
||||
|
@ -185,7 +185,7 @@ You can support me (and the development of this project) via Liberapay:
|
|||
This project is licensed under the GNU Affero General Public License Version 3 or
|
||||
later.
|
||||
|
||||
### Why (A)GPL?
|
||||
### Why GPL?
|
||||
|
||||
The obivious reason is that this project copied and translated code from many
|
||||
other free software / open source synthesis projects. The sources
|
||||
|
@ -215,8 +215,8 @@ _why I publish the code_, when I could as well keep it to myself:
|
|||
- To exchange knowledge and help other developers.
|
||||
- And it's a nice change to put some more polish on my private projects.
|
||||
|
||||
Most of those reasons don't yet justify (A)GPL. The main point of the (A)GPL, as far
|
||||
as I understand: The (A)GPL makes sure the software stays free software until
|
||||
Most of those reasons don't yet justify GPL. The main point of the GPL, as far
|
||||
as I understand: The GPL makes sure the software stays free software until
|
||||
eternity. That the _end user_ of the software always stays in control. That the users
|
||||
have the means to adapt the software to new platforms or use cases.
|
||||
Even if the original authors don't maintain the software anymore.
|
||||
|
@ -229,7 +229,7 @@ value. If I give away my work without _any_ strings attached, I effectively
|
|||
work for free. This compromises the price I (and potentially other developers)
|
||||
can demand for the skill, workforce and time.
|
||||
|
||||
This makes two reasons for me to choose the (A)GPL:
|
||||
This makes two reasons for me to choose the GPL:
|
||||
|
||||
1. I do not want to support vendor lock in scenarios for free.
|
||||
I want to prevent those when I have a choice, when I invest my private
|
||||
|
|
Loading…
Reference in a new issue