PopupMenu randomly Stuck in OSX builds, overall weird behavi


#1

edit:
seems like this is a reaper 4 related problem.
i’ll got to cockos forum.

Hi there.
i’m porting my code to OSX now.
my plugins runs just fine in windows, no leaks/heap errors etc.
however, on OSX i get some weird behavior. to me it seems the message manager gets stuck or something.
the AU version for example runs just fine, but the VST version does not. i got stuck popup menus which will not receive clicks nor close.
also i could not 100% verify it, its seems change message do not get transported. the debugger shows no errors except this:

ca_debug_string: AudioUnitGetProperty: *ioDataSize == 0 on entry /Developer/Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUDispatch.cpp:198
objc[11402]: Class Peng_V1 is implemented in both /Users/janmanuelschlieper/Library/Audio/Plug-Ins/Components/Peng.component/Contents/MacOS/Peng and /Users/janmanuelschlieper/Library/Audio/Plug-ins/VST/Peng.vst/Contents/MacOS/Peng. One of the two will be used. Which one is undefined.
objc[11402]: Class JuceUIViewClass_1_53_Peng is implemented in both /Users/janmanuelschlieper/Library/Audio/Plug-Ins/Components/Peng.component/Contents/MacOS/Peng and /Users/janmanuelschlieper/Library/Audio/Plug-ins/VST/Peng.vst/Contents/MacOS/Peng. One of the two will be used. Which one is undefined.
objc[11402]: Class JuceAppDelegate_1_53_75_JSlRKlNBb5 is implemented in both /Users/janmanuelschlieper/Library/Audio/Plug-Ins/Components/Peng.component/Contents/MacOS/Peng and /Users/janmanuelschlieper/Library/Audio/Plug-ins/VST/Peng.vst/Contents/MacOS/Peng. One of the two will be used. Which one is undefined.
objc[11402]: Class AudioTrackProducer_1_53_75_JSlRKlNBb5 is implemented in both /Users/janmanuelschlieper/Library/Audio/Plug-Ins/Components/Peng.component/Contents/MacOS/Peng and /Users/janmanuelschlieper/Library/Audio/Plug-ins/VST/Peng.vst/Contents/MacOS/Peng. One of the two will be used. Which one is undefined.
objc[11402]: Class OpenDiskDevice_1_53_75_JSlRKlNBb5 is implemented in both /Users/janmanuelschlieper/Library/Audio/Plug-Ins/Components/Peng.component/Contents/MacOS/Peng and /Users/janmanuelschlieper/Library/Audio/Plug-ins/VST/Peng.vst/Contents/MacOS/Peng. One of the two will be used. Which one is undefined.
objc[11402]: Class JuceFileChooserDelegate_1_53_75_JSlRKlNBb5 is implemented in both /Users/janmanuelschlieper/Library/Audio/Plug-Ins/Components/Peng.component/Contents/MacOS/Peng and /Users/janmanuelschlieper/Library/Audio/Plug-ins/VST/Peng.vst/Contents/MacOS/Peng. One of the two will be used. Which one is undefined.
objc[11402]: Class JuceMenuCallback_1_53_75_JSlRKlNBb5 is implemented in both /Users/janmanuelschlieper/Library/Audio/Plug-Ins/Components/Peng.component/Contents/MacOS/Peng and /Users/janmanuelschlieper/Library/Audio/Plug-ins/VST/Peng.vst/Contents/MacOS/Peng. One of the two will be used. Which one is undefined.
objc[11402]: Class JuceNSWindow_1_53_75_JSlRKlNBb5 is implemented in both /Users/janmanuelschlieper/Library/Audio/Plug-Ins/Components/Peng.component/Contents/MacOS/Peng and /Users/janmanuelschlieper/Library/Audio/Plug-ins/VST/Peng.vst/Contents/MacOS/Peng. One of the two will be used. Which one is undefined.
objc[11402]: Class JuceNSView_1_53_75_JSlRKlNBb5 is implemented in both /Users/janmanuelschlieper/Library/Audio/Plug-Ins/Components/Peng.component/Contents/MacOS/Peng and /Users/janmanuelschlieper/Library/Audio/Plug-ins/VST/Peng.vst/Contents/MacOS/Peng. One of the two will be used. Which one is undefined.
objc[11402]: Class JuceURLConnection_1_53_75_JSlRKlNBb5 is implemented in both /Users/janmanuelschlieper/Library/Audio/Plug-Ins/Components/Peng.component/Contents/MacOS/Peng and /Users/janmanuelschlieper/Library/Audio/Plug-ins/VST/Peng.vst/Contents/MacOS/Peng. One of the two will be used. Which one is undefined.

any ideas?

btw. sometimes the vst version magically works :O.

cheer!

jm


#2

If you’re trying to run the AU and VST at the same time, you’ll get horrible obj-C name clashes, and that’ll probably cause messaging problems. There are a bunch of threads about this on the forum if you do some searching.


#3

ah, thanks, i already found something, but could not find a solution. but now it makes sense.

thank you.

jm


#4

What was your solution? I am currently having PopupMenu issues in Reaper, but on the Windows side:

http://forum.cockos.com/showthread.php?p=727184


#5

no solution.
i thought this is a known issue, so i’ll not load instances of AU and VST version at the same time. if i follow this rule all works fine.
this seems to me like an osx only related problem.
sorry :wink: good luck!

jm


#6

[quote=“dasdeck”]no solution.
i thought this is a known issue, so i’ll not load instances of AU and VST version at the same time. if i follow this rule all works fine.
this seems to me like an osx only related problem.
sorry :wink: good luck!
[/quote]

Sorry, I thought you were having the same bug I am.

YOUR bug I solved by creating two separate builds, one for AU, the other for VST, with different Objective-C suffixes (or whatever the ID used is). The randomly generated IDs from the Jucer didn’t work - I had to type a separate one in the project somewhere.


#7

thats great… thought of doing exactly this…do you by any chance remember where in the code to change this?
i know there is some id assigning in the jucepluginheaderxyz.h
good luck fixing your bug!

jm


#8

[quote=“dasdeck”]thats great… thought of doing exactly this…do you by any chance remember where in the code to change this?
i know there is some id assigning in the jucepluginheaderxyz.h
good luck fixing your bug!

jm[/quote]

In my Jucer project (this is the new Jucer, before it was renamed “Introjucer”) I made sure that there was a unique value in the “XCode (Mac OSX)->Objective-C class name suffix” entry for both my VST and AU projects.

Sean Costello