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
|
This project contains the complete DSP backend of the modular
|
||||||
synthesizer [HexoSynth](https://github.com/WeirdConstructor/HexoSynth).
|
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
|
* Extensible framework for quickly developing new nodes at compile time
|
||||||
* A comprehensive automated test suite
|
* A comprehensive automated test suite
|
||||||
|
|
||||||
## API Examples
|
### API Examples
|
||||||
|
|
||||||
### Documentation
|
#### Documentation
|
||||||
|
|
||||||
The development documentation with all private fields and functions can be
|
The development documentation with all private fields and functions can be
|
||||||
found separately hosted:
|
found separately hosted:
|
||||||
[HexoDSP API Developer Documentation](http://m8geil.de/hexodsp_doc/hexodsp/).
|
[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.
|
This API is the most low level API provided by HexoDSP.
|
||||||
It shows how to create nodes and connect them.
|
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);
|
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
|
This is a short overview of the API provided by the
|
||||||
hexagonal Matrix API, which is the primary API used
|
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.
|
// samples now.
|
||||||
```
|
```
|
||||||
|
|
||||||
## State of Development
|
### State of Development
|
||||||
|
|
||||||
As of 2021-05-18: The architecture and it's functionality have been mostly
|
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
|
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
|
account](https://mastodon.online/@weirdconstructor) or the releases of this
|
||||||
project to be notified of updates.
|
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.
|
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:
|
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):
|
You might need following dependencies (Ubuntu Linux):
|
||||||
|
|
||||||
|
```
|
||||||
sudo apt install libjack0 libjack-jackd2-dev qjackctl
|
sudo apt install libjack0 libjack-jackd2-dev qjackctl
|
||||||
|
```
|
||||||
|
|
||||||
These might work on Debian too:
|
These might work on Debian too:
|
||||||
|
|
||||||
|
```
|
||||||
sudo apt install libjack0 libjack-dev
|
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:
|
There exists an automate test suite for the DSP and backend code:
|
||||||
|
|
||||||
|
```
|
||||||
cargo test
|
cargo test
|
||||||
|
```
|
||||||
|
|
||||||
## Known Bugs
|
### Known Bugs
|
||||||
|
|
||||||
* The ones you encounter and create as issues on GitHub.
|
* 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
|
I currently have a quite precise vision of what I want to achieve and my goal
|
||||||
is to make music with this project eventually.
|
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.
|
are in line with my vision.
|
||||||
|
|
||||||
Please bear in mind, that I can only accept contributions under the License
|
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
|
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
|
servers, especially the "Rust Audio" Discord server. I am also sometimes on
|
||||||
freenode.net, for instance in the `#lad` channel (nick `weirdctr`).
|
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:
|
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>
|
<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
|
This project is licensed under the GNU Affero General Public License Version 3 or
|
||||||
later.
|
later.
|
||||||
|
|
||||||
### Why GPL?
|
#### Why GPL?
|
||||||
|
|
||||||
The obivious reason is that this project copied and translated code from many
|
The obivious reason is that this project copied and translated code from many
|
||||||
other free software / open source synthesis projects. The sources
|
other free software / open source synthesis projects. The sources
|
||||||
will show the origin and license of the individual parts.
|
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
|
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
|
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.
|
are in line with my vision.
|
||||||
|
|
||||||
Please bear in mind, that I can only accept contributions under the License
|
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
|
||||||
|
|
||||||
|
@ -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
|
This project is licensed under the GNU Affero General Public License Version 3 or
|
||||||
later.
|
later.
|
||||||
|
|
||||||
### Why (A)GPL?
|
### Why GPL?
|
||||||
|
|
||||||
The obivious reason is that this project copied and translated code from many
|
The obivious reason is that this project copied and translated code from many
|
||||||
other free software / open source synthesis projects. The sources
|
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.
|
- To exchange knowledge and help other developers.
|
||||||
- And it's a nice change to put some more polish on my private projects.
|
- 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
|
Most of those reasons don't yet justify GPL. The main point of the GPL, as far
|
||||||
as I understand: The (A)GPL makes sure the software stays free software until
|
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
|
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.
|
have the means to adapt the software to new platforms or use cases.
|
||||||
Even if the original authors don't maintain the software anymore.
|
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)
|
work for free. This compromises the price I (and potentially other developers)
|
||||||
can demand for the skill, workforce and time.
|
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.
|
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
|
I want to prevent those when I have a choice, when I invest my private
|
||||||
|
|
Loading…
Reference in a new issue