I have a question about the combination of Minim and SoundCipher on some Windows and Linux implementations. I myself have never experienced the problem first hand (I code on my Mac, and on Windows on Boot Camp, and I test on separate Windows on HP), but I have reports from a couple testers of my app that indicate that there is a problem to be resolved.
Background:
The processing app uses SoundCipher's midi library to generate sounds in games. The same app also uses minim to play mp3 or wav sound files that the user supplies. I am also using gain control (and volume control) to set the loudness of the midi sounds and the sound files. Separately, I use minim to generate sinewave sounds directly.
Symptoms:
In many cases these functions do not collide. But, in some cases there are reports that the midi sounds (the predominant component of the app's audio) do not play at all.
Minim's sinewave sounds do not seem affected.
Attempts to correct:
One user, mentioned above, has already done a full install of JRE to include SoundBank, as per SoundCipher's suggested action, but that did not resolve the issue.
The same user removed the mp3spi.jar from the exported application's build, which resolved the non-playing-midi-sounds issue, but introduced another issue -- that it can no longer play mp3 files.
Suspicions:
It is apparent that the mp3spi.jar is interfering with SoundCipher's ability to play sounds. I have no idea what the issue would be, and why it is inconsistent (between OSs/JREs) in its interference. I suspect that this jar is created by Minim, but that Soundcipher may be the culprit, and sensitive to some variation in the JRE implementation.
I am gathering the user's OS and JRE version information to help with troubleshooting, but I would appreciate any help to isolate the cause of the problem. Please send me ideas!
I originally posted this to core library, but another forumite, jeff_g, thought this might be ControlP5 related. So, I am posting here hoping to catch the eye of a ControlP5 expert.
In my sketch, I am using vlw fonts in conjunction with OpenGL. I have seen other postings on the forum indicating that sometimes OpenGL and vlws do not get along. But, my error happens when I try to load a vlw into a PFont variable (successfully), then use that for the ControlFont in subsequent ControlP5 calls. The pseudocode:
ControlFont cFont;
PFont pFont;
pFont = loadFont("my_font-12.vlw");
cFont = new ControlFont(pFont); // I get a "Null Pointer Exception".
So, I am not sure if it is an OpenGL or ControlP5 issue.
One more thing, **I only get the null pointer exception if the .ttf of the vlw font is not loaded into the system** So, the error goes away if I load the font. But, of course, I want to avoid doing that in my distribution. I made the vlws so I don't have to distribute the fonts, too.
After discovering that vlw fonts and OpenGL don't get along too well, I got my app to work with separate fonts that the user will have to install. But, this is not the best solution. I would far prefer that the user only have to install one app. (In the end, the user for my app will have to install one or two other things, anyway, I'd rather reduce the installation complexity.)
To the core developers, is there any fix or workaround for this? Is there a planned permanent fix?
So, while exporting my app to Windows and Mac platforms, I noticed that vlws made on one platform created errors on the other platform. The fonts that I wanted to use were very specific, and I got one version straight from its creator. It seems to be a high quality font, and made properly. Pseudocode:
ControlFont cFont;
PFont pFont;
pFont = loadFont("my_font-12.vlw");
cFont = new ControlFont(pFont);
When the error is triggered, I get a Null Pointer exception on the last line. Again, if I run the app on the same platform that I made the vlws on, no problem. Only when I switch platforms.
What causes this error? Is it the type of font? Is there a way to avoid this error? Is there an ideal format of the source fonts, or a way to validate the vlw file that is created by Processing?
I have created a Processing application on my machine that runs just fine when exported on my machine. But, when on another person's machine, it won't even launch. There are so many variables, I am not sure where to start debugging. I am looking for help on approaching the troubleshooting process. So far, users on 64 bit Windows systems cannot launch the app.
- I programmed it on Mac OSX, and then via Boot Camp, corrected some code, and re-exported on Windows 7 64 bit. I checked the app thoroughly and it was working as expected. (I don't have a separate "pure" Windows unit to test on, myself)
- I am using several libraries: minim, soundcipher, toxilibs, controlp5
- I noticed from the beginning that there were font issues. I could not use the .vlw files that I made in OSX on Windows, they just generated errors. When I recreated the .vlw's in Windows, they appeared to work ok. Possibly this could be a source of the error.
- I have asked the users for error log reports, but as of this writing I do not yet have any further info from them. I will post when I get something useful.
I appreciate any help in getting direction for troubleshooting this issue. What are the first things that I should check or ask for to narrow down the problem?
Hi all! I am a longtime lurker of this forum, and I finally joined. I have gotten a lot of good info from the folks here.
I just created my first distribution app. I feel like I have passed a milestone. It is a game made for the Neurosky EEG headset (I built it against my MindWave). It is called Zen-Fire Meditation Toys, and as the name implies, it has a few modes of play that might help a meditator, or maybe it might just be fun. The hardest part to code was the Zen-Fire and the Freeform modes, which feature pretty graphical glowing orbs dancing around based on your EEG input values from the MindWave.
There are a lot of settings for the toys, so a player can personalize it. I have a few ideas as to how to improve the game, to make it a bit more fun. But, for the moment, I got it stable (in my testing) and it is in alpha on sourceforge. I even made some very basic documentation for it. It is GPL, but the code is a mess, and I would like to scrub it well before releasing it.
If anyone here has a MindWave or MindSet and would like to give it a whirl, I'd appreciate any feedback. I don't have a linux version posted because I don't have a linux machine to test it on, but I can make one on request.