Hi All,
I’m in a difficult relation with my owl modular. I can feel the potential, trapped inside, wanting to be let out. But I’m constrained by my programming skills (or the lack of eg Faust or C++ step by step tutorials). Not having a MaxGen licence I fall back to Pure Data. A tool I really love. The implementation with the heavy compiler does have some constraints though… I’m finding my way through, but looking for more info. What tips/tricks do you use? For PD development. What is the fastest path to do patch development? (currently I do “PD save” > git commit, git push > compile (wait) > load) Is it a good idea to install the offline environment?
Having a “compile > load” combo button (like the save/compile button) on the website would help
Anyway a guide for OWL-patching for PD enthousiasts would help as PD itself is a different beast as PD for owl. This would help in setting right expectations as well as in converting the skills there are to great patch making
##Tools:
Often you might want to do some plain math in PD. I found this GitHub - Simon-L/pd-static-expr: Generate a PureData patch from an arbitrary math expression. Aka online which allows to turn an [expr] (not supported by heavy) into a plain vanilla PD patch.
This might boost some ideas. The author mentions the OWL on the page, but I haven’t found anything about this on the forum. I’m still trying to compile it (broken dependency) I did a pull request, but this could be nice as a tool.
The list of supported heavy objects is good to keep nearby. I’ve put it in my owl github repo
Did you know you can use the audio outputs as CV out’s , I did not they are DC coupled but I still struggling to make it properly work, see my attempt for a simple clock divider here…
##Template:
the improved PD template is great but lot’s of stuff is still undocumented. Would be nice to further improve this template to document this…
Also I feel there is a naming bug in the channel “PUSH” as you can use this to both send and receive, you get a stack overflow when trying to eg. pass a clock signal to the out by “correctly” connecting a [r Channel-
Push] – [s Channel-Push]
The naming makes this impossible while it is a proper use case… Or am I missing something here?
##debugging/compiling:
what are the best ways to debug? The compiler errors are doable for me now, I can debug step by step. But what with patch errors. I have a patch that compiles fine but gives me this at runtime
MESSAGE: Heavy assertion failed in void __hv_tabread_if(SignalTabre lin
no idea where to start to debug this.
What is the difference between the pd and the heavy compiler? I noticed a speed difference, but also some errors in the one or the other…
##Patching:
the patch library for PD is not that big at the moment (35 patches/14 authors) Intending to work on this.
Hope this inspires, but if you have any owl/pure data resources please share!