Skip to content

Commit

Permalink
add a Tips-n-Tricks section
Browse files Browse the repository at this point in the history
  • Loading branch information
dromer committed Nov 21, 2023
1 parent 7952a53 commit ed860fe
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions docs/02.getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,19 @@ Heavy will also perform patch analysis to look for common mistakes and inconsite

If you experience any problems or have some thoughts on how to improve heavy make sure to browse and contribute to our [public issue tracker](https://github.com/Wasted-Audio/hvcc/issues).

## Tips and Tricks

Just because pd-vanilla can run your patch, does not mean it will behave exactly the same using Heavy. Extra care needs to be taken when dealing with control messages and certain PD object features.

* Make sure to go over the [known limitations](#known-limitations) to see if you are using objects incorrectly.
* Try to move as much of your patch into the signal domain as you can. Heavy is optimized for signal processing and every control rate operation can introduce interruptions and additional delay. Use control logic at the very beginning or the very end of the dataflow if possible.
* Make sure the order in your control flow works as intended. Use `[t]`/trigger objects to force the correct order of operations.
* When using Daisy the receive objects continuously output control messages, which can potentially interrupt your intended behavior.

## Known Limitations

This list will be continuously epanded to document differences in object behavior between PD and Heavy.

* Many objects do not take control signals on their left inlet. `[osc~]` for instance always requires the use of `[sig~]` before connecting a value.
* Heavy does not support symbols in `[pack]`. e.g. `[pack s f]`.
* Heavy does not support numbers in `[unpack]`, e.g. `[unpack 0 0]` gives `Heavy only supports arguments 'f' and 's' to unpack.` Workaround is to use `f` instead, e.g. `[unpack f f]`, and if necessary prime the default values with a `[loadbang]` and `[0 0(`.
Expand Down

0 comments on commit ed860fe

Please sign in to comment.