FAUST fix, knob conversion

Hello to all! I finally pulled my OWL pedal off the shelf where it had been sitting for the two or three years since I bought it, and I’m now kicking myself for not doing it earlier! So this is my first week with OWL and FAUST–please bear with me…

First, building from FAUST requires a fix to OwlProgram/FaustCode/owl.cpp. There’s a typo in the README as well. I don’t have permission to make a pull request, but I’ve included the patch below.

Second, I want to confirm that the knobs on the OWL are normalized from 0 to 1. When I run a sample riff through faust2sndfile with the “knobs” set to 0.5, I get a noticeably different sound than running through the OWL with all the knobs at 12 o’clock. Obviously, this may be some mistake that I’m making in FAUST.

Here is the patch:

From 6a0b8729523b567ee4557a133fdf9dfd6e1879bd Mon Sep 17 00:00:00 2001
From: Tim Walters <walters@doubtfulpalace.com>
Date: Sat, 10 Feb 2018 10:42:02 -0800
Subject: [PATCH] Added addSoundFile method to FaustCode/owl.cpp OwlUI
 implementation to fix Faust compilation. Fixed capitalization in README.md.

---
 FaustCode/owl.cpp | 2 ++
 README.md         | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/FaustCode/owl.cpp b/FaustCode/owl.cpp
index 2427568..55aa97f 100644
--- a/FaustCode/owl.cpp
+++ b/FaustCode/owl.cpp
@@ -184,6 +184,8 @@ class OwlUI : public UI
     virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT lo, FAUSTFLOAT hi) 									{ skip(); }
     virtual void addVerticalBargraph  (const char* label, FAUSTFLOAT* zone, FAUSTFLOAT lo, FAUSTFLOAT hi) 									{ skip(); }
 
+    virtual void addSoundfile(const char* label, const char* filename, Soundfile** sf_zone) { skip(); }
+    
 	// -- metadata declarations
 
     virtual void declare(FAUSTFLOAT* z, const char* k, const char* id) {
diff --git a/README.md b/README.md
index 6ae1c1c..c726a7a 100644
--- a/README.md
+++ b/README.md
@@ -57,7 +57,7 @@ To compile and run a FAUST patch
 * `make FAUST=LowShelf run`
 
 Note: assign OWL parameters with slider metadata: `[OWL:A]`, `[OWL:B]` et c. For example:
-```gain = vslider("gain[OWL:C]", 1,0,1,0.1);```. Assign push button with e.g. ```gate = button("gate[OWL:Push]");```
+```gain = vslider("gain[OWL:C]", 1,0,1,0.1);```. Assign push button with e.g. ```gate = button("gate[OWL:PUSH]");```
 
 ## Building Pure Data patches
 Requires an account with Enzien Audio [5]
-- 
2.14.3 (Apple Git-98)
2 Likes

Hi Tim,

cool to hear you’re working with FAUST. I didnt notice the missing virtual method issue when compiling patches for FAUST but good to know that this might be an issue I run into when getting Howl running for FAUST.

I also think it would be interesting to be able to make pull requests for Owl related software, hoping we can get this to work at some point!

Cheers,
Ben

Maybe there’s some way to do the compilation without the patch, but make FAUST=mything.dsp run needs it.

The sonic issue turned out to be just monitoring, so never mind about that!

I’ve added this and pushed to master, thanks Tim. It seems it is required when compiling with newer versions of FAUST.

We’re very happy to accept Github pull requests. The standard procedure should work: fork the project, commit changes, submit pull request. Does this not work?

EDIT: fork not clone!

1 Like

I’m used to pushing feature branches to origin, but I see now that I need to make a fork instead. Sorry about the confusion.

1 Like

Cool, thats good to know!!

Cheers,