I've been writing some basic patches over the course of last week. Nothing fancy, no big DSP magic; mostly just basic manipulations of the sample stream. It's fun!
At the moment there are...
You can find the code for my patches here, with likely more to come over the next few weeks:
(Note that I work in a "test" branch, I'm reserving "main" for upstream code.)
Added two more patches:
Great ! Thanks a lot for contributing Martin!
hey martind2, thanks for contributing!
i've been working through some of your patches and learning a lot. i will now repay your kindness with the annoyance of questions. 1) in the dual tremolo, you use a buffer instead of writing values directly into the output buffer. what are some of the benefits you are looking for by doing this? i understand buffering in general, so this is more of an owl specific question. 2) what compiler/toolchain are you using? my visual studio express 2010 hasn't been crazy about a few very small regions of your code. do i have to reconfigure or something?
again, awesome, thanks, hope you stay active!
Thanks for the kind words!
Yeah it makes no sense that I'm writing into the input buffer and then copying that to the output buffer. I'll accept any patches that correct this
I'm using Xcode 4.6.3. What are the problems you're seeing in VSE2010? My C++ is fairly rusty; there's a good chance I've done stupid things.
You've got pretty good odds on the patch contest, good luck!
This is the main error message I get: error C2864: 'TripleTremoloPatch::MIN_FREQ' : only static const integral data members can be initialized within a class
To get these errors out of my way, I just put in a constructor that initializes all the variables. My C++ isn't rusty, it's non-existent. I come from a Java/C# background and have just been working on C/C++ for the last few months. I've also been reading up on DSP stuff and this project is the best learning environment I could imagine. I feel like I'm taking leaps and bounds every day. Please keep developing patches, please. I'm going to tune up my bitcrusher a little more and then post it. Guess I'm going to need a GitHub account...
GitHub in the house!
Here's my contribution to the contest:
Don't think the bit reduction is doing what I want it to do, but hey, you gotta start somewhere and hey, I'm having a helluva good time playing around with this stuff.
this project is the best learning environment I could imagine
Yes! I agree. Most of my patches I wrote in short pockets of time while waiting for something else, at least two while on the bus to work. I love that the restricted environment allows you to get something great done very quickly.
only static const integral data members can be initialized within a class
Ah. I guess the alternative fix would be to turn...const float MIN_FREQ = 0.5;into:static const float MIN_FREQ = 0.5;
const float MIN_FREQ = 0.5;
static const float MIN_FREQ = 0.5;
(I don't remember if C++ coders frown on #defines as an alternative means of declaring constants.)
Edit Oh wait, of course float isn't an integral type. So yeah, what you suggested works.