-
philmiller84
EDIT:
I'd say this sounds like a C++ problem, and not a PD issue, but I've never seen anything like this before.I've got a simple C++ object which contains a string. I've added this C++ object to the struct of my PD object (in C). The object seems to be working fine.
Somewhere between the call to the Pd function "classname"_new and "classname"_bang, my pointer is changing the location it points to by +1
Has anyone seen a behavior where the location a pointer points to will change, even though it's not being incremented anywhere, and even though it's been declared private in the class?
Btw, this is compiled on Windows using gcc
-------- in setString -----------
source: HELLOWORLD
length: 10
<<calling from something_new>>copy: HELLOWORLD
length: 10
address: 32774028
address-2: 32578488string: HELLOWORLD
length: 10
address: 32774028
address-2: 32578488string: HELLOWORLD
length: 10
address: 32774028
address-2: 32578488string: HELLOWORLD
length: 10
address: 32774028
address-2: 32578488<<now calling from something_bang>>
string: ELLOWORLD
length: 9
address: 32774028
address-2: 32578489calling postString
string: ELLOWORLD
length: 9
address: 32774028
address-2: 32578489 -
philmiller84
I've got a bank of oscillators, each with a fast envelope time (50ms attack, 50ms hold, 50 ms decay), and I'm using 6 voices right now. For some reason the audio is cracking.
Not sure why the audio is cracking. With one oscillator, this is fine, but with more than a few oscillators and quickly changing notes, I'm getting cracking in the audio. This does not happen if I just use oscillator which are always on.
Attached is the code. Any ideas?
-
philmiller84
I've got a simple timer set up and I'm getting a stack overflow.
I've tried using a delay line of 0 but that doesn't work either.
Any ideas?
-
philmiller84
Yes, this is regarding the Pd framework, and writing externals for it. Issue arose in compilation of dll to use as object in Pd, so I figured I'd post here in case anyone had any information regarding it.
-
philmiller84
Turned out to be related to structure padding. I had an object within the struct that PD uses, and for some reason during runtime it was aligning my char* to a 4-byte boundary. I've removed this object from the PD struct, and placed it in the global context, and it has worked correctly.
typedef struct _something {
t_object x_obj; // *this
recordString r;
} t_somethingAny ideas? I'll leave this open for a few more days in case anyone has information about structure padding or more pitfalls to avoid here.
Thanks!
-
-
philmiller84
Could not find where matrix~ is. Which library has it?
-
philmiller84
In case anyone still looking for this, here is a tutorial for Windows, which might have some translatable advice:
http://puredata.hurleur.com/sujet-1029-problem-compiling-external-windows
-
philmiller84
Is there any way to smooth out the switching?
I'm working on a piece where I need to have the option of clicks when I have fast envelopes, but no clicks when the envelopes are slow, and be able to dynamically change between these.
Any way to set up a structure using multiplex~ or some other object that will switch between envelopes smoothly without a click?
Here's what I'm using now, and the stages are basically ramp up, stay up, ramp down.
-
philmiller84
Thank you so much! I had tried that initially, but had used it in conjunction with a metronome to get snapshots, duh. I'm still getting used to the audio vs. control message thing.
What you suggested worked beautifully by just using the audio outlet as intended...No crackles
Thanks again!
Feeling much better without hearing these crackles.
-
philmiller84
Thanks Coloscope.
I've changed the design to use the delay, like the AHD section of an envelope. For some reason, I'm getting a lot of cracking in the audio using moderate time settings, e.g. 100 ms attack, 200 ms hold, 100 ms decay...I'll repost this as a separate issue.
Thanks again!