|
09-24-2011, 04:54 PM
|
#41
|
Human being with feelings
Join Date: Nov 2009
Location: memory
Posts: 633
|
Quote:
Originally Posted by A_SN
...how do I know when Reset() is being called after the plugin gets unbypassed? Since I'm making an EQ it 'remembers' what it's working on so if you bypass it and unbypass it then it plays what it had left in memory when I should blank it. So how do I know when Reset() is being called for that and not something else? Cause it seems Reset gets called for a lot of things? Or are all those things situations where I'd want to blank the buffers anyway? What do you usually do about that?
|
i think the host decides when it calls Reset, so afaik the only way to
know for sure is to put a breakpoint or cout/printf in the method...
|
|
|
11-11-2011, 05:36 AM
|
#42
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
I have a problem with the value entry by right-clicking an IKnob (namely an IKnobLineControl). After I right click the value entry field appears but I can't input anything, everything I type something it reverts to the previous value almost instantly, so I just can't type in a new value.
I don't think I'm doing anything funny, this is how I initialise my knobs:
Code:
pGraphics->AttachControl(new IKnobLineControl(this, &IRECT(gx-25, gy-25, gx+25, gy+25), kEQg+i, &IColor(0, 0, 0, 0)));
pGraphics->GetControl(ctrlg+i)->SetBlendMethod(IChannelBlend::kBlendAdd);
|
|
|
11-14-2011, 07:25 PM
|
#43
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by A_SN
I have a problem with the value entry by right-clicking an IKnob (namely an IKnobLineControl). After I right click the value entry field appears but I can't input anything, everything I type something it reverts to the previous value almost instantly, so I just can't type in a new value.
I don't think I'm doing anything funny, this is how I initialise my knobs:
Code:
pGraphics->AttachControl(new IKnobLineControl(this, &IRECT(gx-25, gy-25, gx+25, gy+25), kEQg+i, &IColor(0, 0, 0, 0)));
pGraphics->GetControl(ctrlg+i)->SetBlendMethod(IChannelBlend::kBlendAdd);
|
It seems my problem has to do with the GUI (calls to my implementation of Draw()) not being frozen/suspended when the editing field first comes up. It only freezes after right clicking on it and then I can enter a value properly.
So, is there any way I can make it suspends calls to my Draw() when right-clicking a knob to enter a value? Does it really have to be suspended to enter a value?
|
|
|
11-15-2011, 03:04 AM
|
#44
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
it's tricky to advise on this because the text entry stuff varies between different WDL/IPlug versions... cockos', tale's, mine, wdl-ce. Also it depends on what OS/host you're using... since there are three possible GUI situations on OSX (cocoa/carbon-composited/carbon-noncomposited).
i think you were using tale's version... and AFAIK the text entries work on his plugins. It may be something to do with how the controls are laid out in your plugin and if that is causing a lot of things to redraw. It might be the same issue mentioned here:
http://forum.cockos.com/showthread.p...ghlight=strict
|
|
|
11-15-2011, 03:06 AM
|
#45
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
yeah try setting pGraphics->SetStrictDrawing(false) in your plugin's constructor
|
|
|
11-15-2011, 05:49 AM
|
#46
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Thanks for the reply, unfortunately SetStrictDrawing(false) didn't do anything. I think maybe it has to do with my special setup: my first control is an IControl class I made that takes the whole window and that I use to draw my framebuffer, and it's set to always being dirty (since I need to constantly redraw it, mainly because of animated visualisation thingies). I guess it means that all my controls intersect with something dirty which causes them to be redrawn which prevents my inputting of new values? I don't know what I can do about that.
And this is indeed with Tale's code on Windows 7.
|
|
|
11-15-2011, 06:10 AM
|
#47
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
I have experienced this myself on windows and here is how i fixed it. I can't say if this will work
without other modifications but you could try it
in IGraphicsWin::WndProc()
replace
Code:
if (pGraphics->IsDirty(&dirtyR)) {
RECT r = { dirtyR.L, dirtyR.T, dirtyR.R, dirtyR.B };
InvalidateRect(hWnd, &r, FALSE);
UpdateWindow(hWnd);
if (pGraphics->mParamEditWnd) {
pGraphics->mParamEditMsg = kUpdate;
}
}
with
Code:
if (pGraphics->IsDirty(&dirtyR)) {
RECT r = { dirtyR.L, dirtyR.T, dirtyR.R, dirtyR.B };
InvalidateRect(hWnd, &r, FALSE);
if (pGraphics->mParamEditWnd) {
IRECT* notDirtyR = pGraphics->mEdControl->GetRECT();
RECT r2 = { notDirtyR->L, notDirtyR->T, notDirtyR->R, notDirtyR->B };
ValidateRect(hWnd, &r2); // make sure we dont redraw the edit box area
UpdateWindow(hWnd);
pGraphics->mParamEditMsg = kUpdate;
}
else
UpdateWindow(hWnd);
}
|
|
|
11-15-2011, 06:27 AM
|
#48
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
I replaced the code and it doesn't flicker anymore, however it still doesn't work right. It lets me enter one value but if I try to enter another or try to validate it then it resets the value.
|
|
|
11-15-2011, 06:33 AM
|
#49
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
sorry no idea... i don't have this problem - you're on your own I'm afraid. I attached my IGraphicsWin, which may have the answer somewhere...
|
|
|
11-15-2011, 07:04 AM
|
#50
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Well, now everything works fine because I made my own class inherited from IKnobControl just so that I could make it set a flag before it calls mPlug->GetGUI()->PromptUserInput() so that my window-wide framebuffer control declares itself not dirty so that it doesn't get drawn.
There's just two problems with that: I know where to set my flag to suspend the drawing, but I don't know where to unset it. What happens when the user is done with the input (either entering a new value or just cancelling)? What function is called/returns?
And secondly, did you actually manage to have the input work correctly while having an intersecting control being dirty/redrawing all the while? If not then I guess that's what my problem is all about.
|
|
|
11-15-2011, 07:16 AM
|
#51
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
Quote:
Originally Posted by A_SN
And secondly, did you actually manage to have the input work correctly while having an intersecting control being dirty/redrawing all the while? If not then I guess that's what my problem is all about.
|
yes, I just tested it and it's working with a constantly redrawing bg in my iplug
|
|
|
11-15-2011, 07:32 AM
|
#52
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by olilarkin
yes, I just tested it and it's working with a constantly redrawing bg in my iplug
|
OK so I tried yours (from your github repo) but there's a couple of things missing I need to compile, namely GetDrawBitmap from class IGraphics and InformHostOfProgramChange. Do you have those somewhere under another name?
|
|
|
11-15-2011, 07:35 AM
|
#53
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
my wdl isn't on github right now... that is my branch of wdl-ce.
Hopefully next week i will be able to make my private wdl public again
|
|
|
11-15-2011, 07:48 AM
|
#54
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by olilarkin
my wdl isn't on github right now... that is my branch of wdl-ce.
Hopefully next week i will be able to make my private wdl public again
|
Oh okay. When you do I'd like to know, thanks (do you have a thread for that that I can follow maybe?).
|
|
|
11-15-2011, 02:56 PM
|
#55
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
My code worked more or less alright for me. That is to say, it did flicker when e.g. the parameter is automated. Also, I had trouble entering values while the automation runs (i.e. when playing, or when LFO automated). So I have just revised and fixed my code. Changes:
+ Don't update contents of text input box
+ Don't redraw text input box when redrawing plug-in window
+ Switch to editing state not just on focus, but also when starting to type
For now you will find this patch (commit 81f50aa) on the "next" branch of my Git repository (I will merge it into "master" after some more testing).
|
|
|
11-15-2011, 04:28 PM
|
#56
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by Tale
My code worked more or less alright for me. That is to say, it did flicker when e.g. the parameter is automated. Also, I had trouble entering values while the automation runs (i.e. when playing, or when LFO automated). So I have just revised and fixed my code. Changes:
+ Don't update contents of text input box
+ Don't redraw text input box when redrawing plug-in window
+ Switch to editing state not just on focus, but also when starting to type
For now you will find this patch (commit 81f50aa) on the "next" branch of my Git repository (I will merge it into "master" after some more testing).
|
Excellent, I tried it and it works great! Although it does stop the redrawing of the background stuff when I start typing (and only when I start typing/editing, it keeps redrawing when the input field is just being displayed).
Are there any particular caveats with the current state of that branch, any known problems? I did a quick test and everything seems to work fine here (only tested 32-bit builds in Windows 7).
|
|
|
11-16-2011, 07:47 AM
|
#57
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
I have tweaked things a little more, so it doesn't stop redrawing while editing. And I now revalidate the text input box instead of the control, i.e.:
Code:
InvalidateRect(hWnd, &r, FALSE);
if (pGraphics->mParamEditWnd) {
GetClientRect(pGraphics->mParamEditWnd, &r);
MapWindowPoints(pGraphics->mParamEditWnd, hWnd, (LPPOINT)&r, 2);
ValidateRect(hWnd, &r);
}
UpdateWindow(hWnd);
I have tested this new code in a couple of hosts on both Win7 Pro x64 and WinXP Pro x86, and it seems to work fine. I will update my Git repository with these changes later on.
EDIT: The changes are on the "master" branch of my WDL.git repository now.
Last edited by Tale; 11-16-2011 at 10:00 AM.
Reason: Updated my WDL.git
|
|
|
11-18-2011, 01:05 PM
|
#58
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by Tale
I have tweaked things a little more, so it doesn't stop redrawing while editing. And I now revalidate the text input box instead of the control, i.e.:
Code:
InvalidateRect(hWnd, &r, FALSE);
if (pGraphics->mParamEditWnd) {
GetClientRect(pGraphics->mParamEditWnd, &r);
MapWindowPoints(pGraphics->mParamEditWnd, hWnd, (LPPOINT)&r, 2);
ValidateRect(hWnd, &r);
}
UpdateWindow(hWnd);
I have tested this new code in a couple of hosts on both Win7 Pro x64 and WinXP Pro x86, and it seems to work fine. I will update my Git repository with these changes later on.
EDIT: The changes are on the "master" branch of my WDL.git repository now.
|
Excellent, it works perfectly thank you. There is one minor detail, if you don't enter a new value and just press return it sets the value to 0.0 no matter what.
|
|
|
11-18-2011, 02:55 PM
|
#59
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
Quote:
Originally Posted by A_SN
Excellent, it works perfectly thank you. There is one minor detail, if you don't enter a new value and just press return it sets the value to 0.0 no matter what.
|
That doesn't happen here. If I right-click on a control, and then simply press the Enter key without changing the text, then the contol's value remains unchanged:
|
|
|
11-18-2011, 03:40 PM
|
#60
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by Tale
That doesn't happen here. If I right-click on a control, and then simply press the Enter key without changing the text, then the contol's value remains unchanged:
|
Strange, could it be a IKnobControl-only thing? (Doubt it, but who knows).
|
|
|
11-19-2011, 06:02 AM
|
#61
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
Quote:
Originally Posted by A_SN
Strange, could it be a IKnobControl-only thing? (Doubt it, but who knows).
|
I don't think so, because for me it also works fine on a IKnobMultiControl:
|
|
|
11-23-2011, 11:22 AM
|
#62
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Other question, how do I change the paramIdx assigned to a control after the control has been created? It seems like I just need to make a function in my knob class that will change the value of mParamIdx, is that correct or is there more to it?
I need to do that because one control controls the same parameter in many different bands (it's an equaliser with many control points but only a set of knobs for each), so it should change when a different point is selected.
EDIT: yep, seems like it's all it takes:
Code:
void IKnobInvisibleControl::ChangeParam(int paramIdx) { mParamIdx = paramIdx; }
Last edited by A_SN; 11-23-2011 at 02:01 PM.
|
|
|
11-26-2011, 02:09 PM
|
#63
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Uh oh, in my version of IPlug there is no code for PromptForFile, does anyone have code for that anywhere?
Code:
// extensions = "txt wav" for example
void IGraphicsMac::PromptForFile(WDL_String* pFilename, int action, char* dir, char* extensions)
{
}
EDIT: In case no one has any code for that I have some, however it requires the use of a .nib file.
Last edited by A_SN; 11-26-2011 at 02:15 PM.
|
|
|
11-26-2011, 02:58 PM
|
#64
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
I believe olilarkin's repository includes PromptForFile() for Mac.
EDIT: I have added an adaptation of Oli's PromptForFile() to my Git repository.
Last edited by Tale; 11-27-2011 at 07:09 AM.
Reason: Added PromptForFile() to Git repo
|
|
|
11-29-2011, 07:30 AM
|
#65
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by Tale
I believe olilarkin's repository includes PromptForFile() for Mac.
EDIT: I have added an adaptation of Oli's PromptForFile() to my Git repository.
|
Thanks, works well (your implementation, I wasn't able to make a working project file that works with Oli's WDL). However now I can't build AUs anymore, the linker spits this out:
Code:
Undefined symbols:
"_CFAUPresetRelease", referenced from:
IPlugAU::GetProperty(unsigned int, unsigned int, unsigned int, unsigned int*, unsigned char*, void*)in IPlugAU-04F7637A.o
"_CFAUPresetCreate", referenced from:
IPlugAU::GetProperty(unsigned int, unsigned int, unsigned int, unsigned int*, unsigned char*, void*)in IPlugAU-04F7637A.o
"_kCFAUPresetArrayCallBacks", referenced from:
IPlugAU::GetProperty(unsigned int, unsigned int, unsigned int, unsigned int*, unsigned char*, void*)in IPlugAU-04F7637A.o
ld: symbol(s) not found
I have no idea what's wrong with it.
|
|
|
11-29-2011, 07:45 AM
|
#66
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
Quote:
Originally Posted by A_SN
I have no idea what's wrong with it.
|
I think I do. There were some memory leaks in IPlugAU, so I have added the Detroy FX AU Utilities to fix this. If you add the following two files to the AU build target of your project, it should work again:
WDL/dfx-library/dfx-au-utilities.c
WDL/dfx-library/dfx-au-utilities.h
|
|
|
11-29-2011, 09:16 AM
|
#67
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by Tale
I think I do. There were some memory leaks in IPlugAU, so I have added the Detroy FX AU Utilities to fix this. If you add the following two files to the AU build target of your project, it should work again:
WDL/dfx-library/dfx-au-utilities.c
WDL/dfx-library/dfx-au-utilities.h
|
Alright that works thanks. Regarding the targets, I made my Xcode project thing based on the IPlugExample, but I'm not sure I get what it does right. "VST" makes a VST that is Intel (32 & 64) and PowerPC (32 & 64) at the same time, right? And AU only makes Intel 32 and PowerPC 32, and AU_x64 does only Intel 64 and PowerPC 64, is that right? Cause in the later it says i386 and ppc too but it doesn't seem to make a binary that works in 32 bits.
|
|
|
11-29-2011, 11:13 AM
|
#68
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
Quote:
Originally Posted by A_SN
Regarding the targets, I made my Xcode project thing based on the IPlugExample, but I'm not sure I get what it does right. "VST" makes a VST that is Intel (32 & 64) and PowerPC (32 & 64) at the same time, right? And AU only makes Intel 32 and PowerPC 32, and AU_x64 does only Intel 64 and PowerPC 64, is that right? Cause in the later it says i386 and ppc too but it doesn't seem to make a binary that works in 32 bits.
|
The IPlugExample project in my repository contains the following targets:
VST: PowerPC 32 (ppc) & Intel 32 (i386)
AU: PowerPC 32 (ppc) & Intel 32 (i386)
AU_x64: Intel 32 (i386) & Intel 64 (x86-64)
I hope that helps.
|
|
|
12-15-2011, 09:04 AM
|
#69
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
so is SplineEq using IPlug? nice display!
|
|
|
12-15-2011, 09:09 AM
|
#70
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by olilarkin
so is SplineEq using IPlug? nice display!
|
Hehe yep thanks, how did you hear about SplineEQ?
|
|
|
12-15-2011, 09:10 AM
|
#71
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
computer music mag on twitter
|
|
|
12-15-2011, 09:38 AM
|
#72
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by olilarkin
computer music mag on twitter
|
Hehe cool, but wait, how did you know it was by me?
|
|
|
12-15-2011, 09:44 AM
|
#73
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
because i think you mentioned photosounder on kvr, when me and tale said you should try IPlug
|
|
|
12-15-2011, 09:49 AM
|
#74
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Oh yeah naturally. Anyway you and Tale have helped me so much making SplineEQ (and every future plugin I'll make based on that) I should send you guys a free version of SplineEQ if you'd like .
|
|
|
12-25-2011, 04:26 PM
|
#75
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Is here any reason why POSIX semaphores (sem_t) shouldn't do their blocking job properly specifically in Ableton Live (and no other host), specifically on OS X (and not Windows) and specifically with the AU version (and not the VST version)? And it's not for just one person, it's systematic for everyone who tried, I'm able to reproduce it myself.
|
|
|
01-02-2012, 09:29 AM
|
#76
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
It seems there's a systematic problem on my Mac OS builds, however I'm afraid I'm not interpreting the hang/crash (it hangs and people make it force quit) reports correctly.
Here's an example the recurring problem (the same stuff happens with the same hexadecimal offsets for different users with different hosts):
Code:
User stack:
9 ??? (in auvaltool + 2573) [0x1a0d]
9 ??? (in auvaltool + 7663) [0x2def]
9 ??? (in auvaltool + 5832) [0x26c8]
9 ??? (in auvaltool + 57448) [0xf068]
9 ??? (in auvaltool + 43972) [0xbbc4]
9 AudioUnitSetProperty + 67 (in AudioUnit) [0x943d72fc]
9 CallComponentDispatch + 29 (in CarbonCore) [0x965be51f]
9 ??? (in SplineEQ + 133009) [0x320791]
9 ??? (in SplineEQ + 128523) [0x31f60b]
9 SplineEQ_ViewEntry + 18786 (in SplineEQ) [0x331d88]
9 SplineEQ_ViewEntry + 1121 (in SplineEQ) [0x32d887]
9 ??? (in SplineEQ + 185228) [0x32d38c]
9 ??? (in SplineEQ + 185134) [0x32d32e]
9 mach_wait_until + 10 (in libSystem.B.dylib) [0x90440c0e]
Binary Images:
0x1000 - 0x1cfe7 auvaltool ??? (???) <5B09DA21-266C-1FB4-07F1-ED75A02B5506> /usr/bin/auvaltool
0x300000 - 0x33ffe3 com.Photosounder.audiounit.SplineEQ ??? (1.0) <1F3143C7-E956-678C-91A7-7EB45FB53FD3> /Library/Audio/Plug-Ins/Components/SplineEQ32.component/Contents/MacOS/SplineEQ
When I try to make sense out of the "??? (in SplineEQ)" lines using atos I get this:
Code:
users-Mac:i386 user$ atos -o SplineEQ32 -arch i386 -l 0x300000 0x320791 0x31f60b 0x331d88 0x32d887 0x32d38c 0x32d32e
IPlugAU::IPlugAUEntry(ComponentParameters*, void*) (in SplineEQ32) (IPlugAU.cpp:282)
IPlugAU::GetProperty(unsigned long, unsigned long, unsigned long, unsigned long*, unsigned char*, void*) (in SplineEQ32) (IPlugAU.cpp:388)
SplineEQ::SplineEQ(IPlugInstanceInfo) (in SplineEQ32) (SplineEQ.cpp:206)
IDrawControl::OnMouseOut() (in SplineEQ32) (SplineEQ.cpp:1391)
SplineEQ::init_buffers(int, double, double) (in SplineEQ32) (SplineEQ.cpp:466)
SplineEQ::init_buffers(int, double, double) (in SplineEQ32) (SplineEQ.cpp:460)
However it doesn't make sense as a call stack so I must be doing something wrong. Plus in the crash report it says 'SplineEQ_ViewEntry' for the 3rd and 4th crashes but in the atos output it says 'SplineEQ::SplineEQ' and 'IDrawControl::OnMouseOut', which doesn't sound consistent.
It seems I'm using the load address correctly though...
|
|
|
01-02-2012, 03:42 PM
|
#77
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
I can't seem to load SplineEQ either (on Mac OSX 10.6.8), indeed REAPER hangs and I have to terminate REAPER. The AU version also hangs when trying to validate it using auval -v.
I would try to load it through a debugger (e.g. GDB, which comes with Xcode), and set some breakpoints, so you can see how far it gets before it stops. Alternatively you could insert printf("foobar\n"); somewhere, and check the console to see if it got there. If it did, then move the line a bit further etc.
|
|
|
01-03-2012, 11:12 AM
|
#78
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by Tale
I can't seem to load SplineEQ either (on Mac OSX 10.6.8), indeed REAPER hangs and I have to terminate REAPER. The AU version also hangs when trying to validate it using auval -v.
I would try to load it through a debugger (e.g. GDB, which comes with Xcode), and set some breakpoints, so you can see how far it gets before it stops. Alternatively you could insert printf("foobar\n"); somewhere, and check the console to see if it got there. If it did, then move the line a bit further etc.
|
Thanks for the heads up, can you try the latest version (I just uploaded v1.0.2) and see if it works any better? Apparently I had heap corruption problems from freeing and allocating buffers at the wrong times/with the wrong sizes, so I just did the wise thing and allocated them all once and for all at a maximum size so I only have to alloc them once.
|
|
|
01-03-2012, 03:02 PM
|
#79
|
Human being with feelings
Join Date: Aug 2011
Posts: 89
|
Quote:
Originally Posted by Tale
I can't seem to load SplineEQ either (on Mac OSX 10.6.8), indeed REAPER hangs and I have to terminate REAPER. The AU version also hangs when trying to validate it using auval -v.
I would try to load it through a debugger (e.g. GDB, which comes with Xcode), and set some breakpoints, so you can see how far it gets before it stops. Alternatively you could insert printf("foobar\n"); somewhere, and check the console to see if it got there. If it did, then move the line a bit further etc.
|
OK I fixed the problem with the validator and released 1.0.3. It came from trying to double lock a same mutex when the sample rate is changed, which the validator does as part of its tests.
I'm pretty sure that it's what the problem that I was trying to symbolize above was about, so nevermind that. Although I still don't know what I did wrong with the symbolization.
New problem: is there any reason why (using your version of WDL) the VST build shouldn't be recognized by a 64-bit host on Mac OS? Someone tells me that when they use WaveLab LE 7.2.1 on Mac OS 10.7.2 the 32-bit version of WaveLab sees the 32-bit VST of my plugin, but the 64-bit version of WaveLab doesn't see the VST at all. Sadly I can't test that for myself.
|
|
|
01-03-2012, 03:38 PM
|
#80
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
Well, in theory you should be able to build a 64-bit VST on Mac with my WDL version. However, thusfar I haven't actually tried this myself, so I don't really know what kind of trouble you might run into (if any).
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 04:58 AM.
|