Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (741)
Games in Android Showcase (225)
games submitted by our members
Games in WIP (823)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2
  ignore  |  Print  
  Cosmic Birdie Tech Demo Audio Test  (Read 10877 times)
0 Members and 1 Guest are viewing this topic.
Offline shawnkendall

Senior Devvie





« Posted 2006-07-26 17:36:13 »

Hi all!
Thanks to everyone who gave the first release a good working on the other thread. I set this one up on the side because we are having a crazy audio bug and maybe with enough testing feedback we can help the Sun team crack this.

I am going to paste in an email about this here, the main thing I am looking for help on is if you hear sound or not on your machine, from the TWO different launch links, one is JOAL the other is LWJGL.

Once you launch the app, in 5 secs you shoudl hear some noise.  Once the game window is up just close it, and the following window.  You could play :-) but the test is really over at that point.  Please post your results and machine config!

Thanks and here is the email:
----------------------------------------------

Ok I have two .jnlp links up that show the JOAL/web start/Java3d(?) issue.
I set it up as a command-line swtich so one .jnlp launches the app switching to JOAL, the other switches to LWJGL.

One some machines both work fine, but on the other set, the JOAL web start fails to make sound.  What should happen is 5 seconds after launch you should hear some noise.

There is allot of output that gets dumped through the start up process since this is the full game app, but the output at the very beginning is useful as it will say which version is running and on the JOAL version it outputs an error when the sound is initialization.

It has the 5 sec pause before and after sound initialization, all I did to put LWJGL in was change the appropriate API calls in our soundmanager (and cut out everything else from the app), and switch some stuff to nio.buffers since that is what all the LWJGL calls take.  Basically I pulled up a simple tutorial for reference, changed what I could and replaced what I had to.

I hope you find a machine that shows this failure so you can at least reproduce this.

Here's the links:
http://www.imilabs.com/CosmicBirdie/Dist/cbWeb2-JOAL.jnlp

http://www.imilabs.com/CosmicBirdie/Dist/cbWeb2-LWJGL.jnlp

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline shawnkendall

Senior Devvie





« Reply #1 - Posted 2006-07-26 17:39:54 »

JOAL fails
LWJGL works

Shuttle X, AMD Athlon XP 2500+ 1.84Ghz, nVidia nForce Audio, WinXP SP2, nVidia 6800, 1G RAM

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline jfelrod1960

Junior Devvie




Use the source Luke, use the source!!!


« Reply #2 - Posted 2006-07-26 18:51:39 »

Same results here ...

AMD Athlon XP 3000+ (2.1 GHz)
512MB System RAM
Windows 2000 Professional
Nvidia GeForce4 MX 420 64MB 3D Acceleration
Nvdia Audio

Jeffrey F. Elrod
Complexsive Systems
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline darkprophet

Senior Devvie




Go Go Gadget Arms


« Reply #3 - Posted 2006-07-26 18:59:54 »

Both work here:

Mustang B82, XP SP2, AMD Athalon64 X2 3200+, 2Gb ram, Nvidia 7900GT and an nvidia board...

(white noise right ?)

DP

Friends don't let friends make MMORPGs.

Blog | Volatile-Engine
Offline Amos Wenger

Senior Devvie




Everything's possible, but not everything's fun...


« Reply #4 - Posted 2006-07-26 19:06:21 »

Both fail to launch on Linux, can't download some files for JOAL..

"Once you start working on something, don't be afraid of failure and don't abandon it. People who work sincerely are the happiest"
Offline Matzon

JGO Knight


Medals: 19
Projects: 1


I'm gonna wring your pants!


« Reply #5 - Posted 2006-07-26 19:12:29 »

JOAL fails
LWJGL works
Same results:
Win XP, SP2, SoundMax integrated thingy

Offline shawnkendall

Senior Devvie





« Reply #6 - Posted 2006-07-26 19:22:27 »

Both fail to launch on Linux, can't download some files for JOAL..
Sorry! Windows ONLY right now :-)

And awesome help guys!
keep 'um coming ;-) tell your friends hehe.

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline Amos Wenger

Senior Devvie




Everything's possible, but not everything's fun...


« Reply #7 - Posted 2006-07-26 19:24:28 »

Both fail to launch on Linux, can't download some files for JOAL..
Sorry! Windows ONLY right now :-)
Aaargh.  Wink Yet beware : many (small) companies announce Linux/Mac support, then test on Windows only, then 3 months later realize it's too much hassle to then have Linux and Mac compatibility and drop it.  Angry
Hopefully it won't be the same with you.

"Once you start working on something, don't be afraid of failure and don't abandon it. People who work sincerely are the happiest"
Offline shawnkendall

Senior Devvie





« Reply #8 - Posted 2006-07-26 19:31:53 »

Both fail to launch on Linux, can't download some files for JOAL..
Sorry! Windows ONLY right now :-)
Aaargh.  Wink Yet beware : many (small) companies announce Linux/Mac support, then test on Windows only, then 3 months later realize it's too much hassle to then have Linux and Mac compatibility and drop it.  Angry
Hopefully it won't be the same with you.
Actually, that is a non-issue because all the libs we use are already out on Mac and Linux. 
It's just that this web start launch only does Windows because
1) to isolate this bug and
2) Java3D 1.4.1 is not out on Mac and so I would have to run Java3D 1.5 (beta) and well it's really beta,  - crashes in our app - not exactly good to show when you're doing widespread testing.  I know J3D 1.5 crashes, it's beta.  I wanted a bit more stability for these tests.

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline GKW

Senior Devvie




Revenge is mine!


« Reply #9 - Posted 2006-07-26 20:32:08 »

JOAL fails
LWJGL works

w2k
nforce audio via a Realtek ALC650 chip
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Ken Russell

JGO Coder




Java games rock!


« Reply #10 - Posted 2006-07-27 04:17:52 »

Both the JOAL and LWJGL versions work on my two home machines. One is a notebook (Dell Precision M60), Windows XP SP1; the other a desktop (Dell XPS 400), Windows XP SP2. I'll try it on more machines at work tomorrow to see if we can reproduce the JOAL failure in-house.
Offline kcr

Senior Newbie





« Reply #11 - Posted 2006-07-27 16:05:17 »

The LWJGL version works on my home machine. When I run the JOAL version I get a Windows popup dialog with an error message stating that OpenAL32.dll cannot be found. Is it possible that a similar, but silent, failure to load OpenAL is causing the problems on the other systems that are failing?

-- Kevin

P.S. I tried it on a second home machine with the same result.
Offline shawnkendall

Senior Devvie





« Reply #12 - Posted 2006-07-27 16:28:41 »

The LWJGL version works on my home machine. When I run the JOAL version I get a Windows popup dialog with an error message stating that OpenAL32.dll cannot be found. Is it possible that a similar, but silent, failure to load OpenAL is causing the problems on the other systems that are failing?

-- Kevin

Possible, I  made the native JOAL jar for web-start and put it in there once because Jake2's web start joal.jars had it although it I never found that I needed it so I yanked it, I put it in there because Jake2's web start joal.jars.

I also made the LWJGL native jar and it DOES have the openAL32.dll in it.

Hmm so this test should be rerun I guess.  I'll repack the JOAL native jar right now with the same OpenAL32.dll and see if it changes anything.  IIRC it didn't, but still should be put int for the test ot be close as possible.

I guess the other thing to note about this is that it's still whacky because it fails seemingly on random machines, but consistently on those machines.

[mod]
Ok I fixed the JOAL.jnlp to use the joal-native.jar that had the OpenAL32.dll packed in it.
No change for me still fails.

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline kevglass

« JGO Spiffy Duke »


Medals: 319
Projects: 25
Exp: 22 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #13 - Posted 2006-07-27 16:33:35 »

Could be on those random machines where it works OpenAL.dll is already in the standard search path.

Kev

Offline shawnkendall

Senior Devvie





« Reply #14 - Posted 2006-07-27 16:36:22 »

Could be on those random machines where it works OpenAL.dll is already in the standard search path.

Kev
Seems logical right, but other JOAL demo (Jake2) works at least on my machine. And at least my team went through and tried several driver changes, openAL installs etc.
And the original test app that showed a threading issue worked once the thread part was fixed.
However, in the actual game app even with the thread set up right, it still fails on SOME machines, but does not fail with LWJGL...

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline kcr

Senior Newbie





« Reply #15 - Posted 2006-07-27 16:37:32 »

Are there multiple versions of OpenAL32.dll?  Is it possible that an incompatible version is being picked up somehow on the machines on which it fails?
Offline shawnkendall

Senior Devvie





« Reply #16 - Posted 2006-07-27 16:45:15 »

Are there multiple versions of OpenAL32.dll?  Is it possible that an incompatible version is being picked up somehow on the machines on which it fails?

We have been using this installed into our machines, which is the latest...
http://developer.creative.com/articles/article.asp?cat=1&sbcat=31&top=38&aid=46

So yes there could be different versions, but then why would one web start app running JOAL work and another running JOAL not, which is what is happening.  Maybe I should post the link again side by side.

Works (JOAL)
http://www.imilabs.com/CosmicBirdie/Dist/soundTest.jnlp

Fails (JOAL)
http://www.imilabs.com/CosmicBirdie/Dist/cbWeb2-JOAL.jnlp

Works (LWJGL)
http://www.imilabs.com/CosmicBirdie/Dist/cbWeb2-LWJGL.jnlp

BTW, by works I mean you hear sound shortly after start-up.  I will stop once the graphics get going, that is correct behavior.

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline shawnkendall

Senior Devvie





« Reply #17 - Posted 2006-07-27 16:56:31 »

OK!!!
I made some progress with the suggestions that just came up.

You can try this too.
I UNINSTALLED OpenAL (add and remove programs)
Then when I run the demos above it get.
Demo 1 (JOAL) runs fine.
Demo 2 (JOAL) BLOWS UP with a dialog box! Finally something interesting.
Demo 3 (LWJGL) runs fine.

See grab for dialog box.

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline kcr

Senior Newbie





« Reply #18 - Posted 2006-07-27 16:57:24 »

We have been using this installed into our machines, which is the latest...
http://developer.creative.com/articles/article.asp?cat=1&sbcat=31&top=38&aid=46

So yes there could be different versions, but then why would one web start app running JOAL work and another running JOAL not, which is what is happening.  Maybe I should post the link again side by side.

Works (JOAL)
http://www.imilabs.com/CosmicBirdie/Dist/soundTest.jnlp

Fails (JOAL)
http://www.imilabs.com/CosmicBirdie/Dist/cbWeb2-JOAL.jnlp

Works (LWJGL)
http://www.imilabs.com/CosmicBirdie/Dist/cbWeb2-LWJGL.jnlp

BTW, by works I mean you hear sound shortly after start-up.  I will stop once the graphics get going, that is correct behavior.

Interesting. On my home machine, the first JOAL test runs and produces sound, but the second gives the OpenAL32.dll library not found error. So something is different about the two tests.

-- Kevin
Offline kcr

Senior Newbie





« Reply #19 - Posted 2006-07-27 16:58:26 »

OK!!!
I made some progress with the suggestions that just came up.

You can try this too.
I UNINSTALLED OpenAL (add and remove programs)
Then when I run the demos above it get.
Demo 1 (JOAL) runs fine.
Demo 2 (JOAL) BLOWS UP with a dialog box! Finally something interesting.
Demo 3 (LWJGL) runs fine.

Yep. That's the behavior I get.

-- Kevin
Offline shawnkendall

Senior Devvie





« Reply #20 - Posted 2006-07-27 17:01:14 »

Interesting. On my home machine, the first JOAL test runs and produces sound, but the second gives the OpenAL32.dll library not found error. So something is different about the two tests.

-- Kevin

Oh yes, we know something is different because the first app was a quick demo using HelloUniverse that showed the first JOAL error, where JOAL didn't work at all in web start.  It was a threading problem, which I put the fix in for, in both that demo and my engine.  Then on testing we found that that fixed ALMOST everywhere but not this new issue.  So Ken said that to really show the issue I woudl have to make an example with worked with LWJGL so I did. That is what the last demo is.  And it worked so far everywhwere we tested.

Hoo-Ray (Maybe)

I think I nailed it.
Try the links again, even if you don't have openAL installed! (And Ken will be happy to know his work is done! BIG THANKS to all)
If this works for everyone, then I guess I will post a summary, instructions .etc on my blog

So the issue it appears is the JOAL doesn't load the OpenAL32.dll (in web start only?? maybe it fails for some reason?).  I load it explicitly at start up before making a JOAL call.  Now this is a windows only fix, so really the app has to have code for every (JOAL) supported OS and load the appropiate native lib.  But really only the web start .jnlp checks for OS specific branches.  And on a command-line launch, there is not normally checking because the version of JOAL you are running IS for that OS.

IN LWJGL OpenAL wrappers, you don't have to do any system-lib loading.  It's taking care of it for you, so it just works, command-line and web start.
So I can fix this of course in our app, but it should ultimately be fixed in JOAL, unless it is in which case, I guess I don't quote understand the real issue yet.

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline jfelrod1960

Junior Devvie




Use the source Luke, use the source!!!


« Reply #21 - Posted 2006-07-27 18:13:20 »

JOAL works now, but I thought you said the sound should go away when the window comes up?

Jeffrey F. Elrod
Complexsive Systems
Offline shawnkendall

Senior Devvie





« Reply #22 - Posted 2006-07-27 18:15:18 »

JOAL works now, but I thought you said the sound should go away when the window comes up?
It does in the first demo, the second one it can keep going, but the issue is getting it to start at all Smiley
Good to hear it's working for you.  Let's hope this does it.

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline kcr

Senior Newbie





« Reply #23 - Posted 2006-07-27 19:57:08 »

I'll try it on my home systems tonight. Glad to hear it's working in at least some cases where it wasn't before. Maybe Ken can weigh in on whether JOAL is loading the OpenAL native library (I agree that it should do this).

-- Kevin
Offline shawnkendall

Senior Devvie





« Reply #24 - Posted 2006-07-27 20:05:32 »

I'll try it on my home systems tonight. Glad to hear it's working in at least some cases where it wasn't before. Maybe Ken can weigh in on whether JOAL is loading the OpenAL native library (I agree that it should do this).
-- Kevin
The thing that is weird is that it works command-line on all tested and on web start most machines without the user app doing a loadLibrary() (And even on those machines that failed, the other JOAL test always worked!).
So it would seem that JOAL must be doing it for those to work.  But in some cases on some machines it's not, and/or it fails..?

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline Ken Russell

JGO Coder




Java games rock!


« Reply #25 - Posted 2006-07-27 23:18:42 »

JOAL currently doesn't System.loadLibrary("OpenAL32") anywhere in its code. The joal_native.dll is linked against the OpenAL library. This means that JOAL currently expects OpenAL to already be installed on the machine. LWJGL does not have this limitation.

There is a technical problem with the loadLibrary call on UNIX platforms where the symbols in the DSO which is loaded aren't visible to other libraries loaded with other System.loadLibrary() calls. This basically means that this workaround won't work (even if you change the library name appropriately) on Linux / Solaris and probably not on Mac OS X either.

I've looked through LWJGL's source code in the past and there is a significant amount of native code which replicates the System.loadLibrary() functionality presumably because of exactly this problem. I haven't looked to see how the OpenAL32.dll or analogous DSO on Unix systems is found and loaded but assume there must be some trickery because Java Web Start controls where the unpacked DLLs/DSOs go.

I don't know how the Jake2 team worked around this issue or whether they just punted it and assume OpenAL is already installed.

We can add the necessary code to JOAL to fully dynamically load the OpenAL DLL instead of requiring it to be installed. However I am personally under several tight deadlines for the next couple of weeks.
Offline shawnkendall

Senior Devvie





« Reply #26 - Posted 2006-07-28 00:41:56 »

So how do the JOGL web start jars get around this? They work correctly, no? (I've run JOGL demos but I've never made a web start one)

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline shawnkendall

Senior Devvie





« Reply #27 - Posted 2006-07-28 00:52:00 »

JOAL currently doesn't System.loadLibrary("OpenAL32") anywhere in its code. The joal_native.dll is linked against the OpenAL library. This means that JOAL currently expects OpenAL to already be installed on the machine. LWJGL does not have this limitation.
Even though JOAL assumes OpenAL is installed, the times it didn't work wasn't because it wan't installed, it was because ?, I dunno why it gave only the generic OpenAL error (no dialog) and then didn't work.  It wasn't until I actually uninstalled OpenAL that I got an error that was usable, but the of course I know the .dll isn't there anymore...
Quote
There is a technical problem with the loadLibrary call on UNIX platforms where the symbols in the DSO which is loaded aren't visible to other libraries loaded with other System.loadLibrary() calls. This basically means that this workaround won't work (even if you change the library name appropriately) on Linux / Solaris and probably not on Mac OS X either.
Understood.
Quote
I've looked through LWJGL's source code in the past and there is a significant amount of native code which replicates the System.loadLibrary() functionality presumably because of exactly this problem. I haven't looked to see how the OpenAL32.dll or analogous DSO on Unix systems is found and loaded but assume there must be some trickery because Java Web Start controls where the unpacked DLLs/DSOs go.

I don't know how the Jake2 team worked around this issue or whether they just punted it and assume OpenAL is already installed.
Actually, in the Jake2 JOAL jars, it includes the OpenAL32.dll, which is why I tried packing that in mine to begin with.  So Jake2 knows it's there.  At least on the windows machine.
Quote
We can add the necessary code to JOAL to fully dynamically load the OpenAL DLL instead of requiring it to be installed. However I am personally under several tight deadlines for the next couple of weeks.
Unfortunate, but understood.  You have been a great help.  You guys always are the best support group, free or paid!

But for the record, it seems as though JOAL is not usable with web start at this time...?

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline Ken Russell

JGO Coder




Java games rock!


« Reply #28 - Posted 2006-07-28 18:49:57 »

So how do the JOGL web start jars get around this? They work correctly, no? (I've run JOGL demos but I've never made a web start one)

JOGL assumes OpenGL is present which is a good assumption on all of the supported platforms. We do have a technical issue on Linux installations where we need to make sure libGL.so is dynamically loaded with global visibility to work with the open-source DRI drivers. We have added a bit of a hack to manually dlopen() libGL with RTLD_GLOBAL visibility before calling System.loadLibrary() for the JOGL native libraries. The reason this works is that OpenGL is always on the system's default library search path.
Offline Ken Russell

JGO Coder




Java games rock!


« Reply #29 - Posted 2006-07-28 18:55:35 »

Actually, in the Jake2 JOAL jars, it includes the OpenAL32.dll, which is why I tried packing that in mine to begin with.  So Jake2 knows it's there.  At least on the windows machine.

I would recommend you email them and ask them what they're doing in this area, or just download the Jake2 source code and look at the JOAL initialization. If they're doing anything which looks like it's a suitable workaround for all platforms we'll be glad to fold it in to JOAL.

But for the record, it seems as though JOAL is not usable with web start at this time...?

It should be if OpenAL is already installed on the machine. I don't understand the nature of all of the failures that have been reported here. As far as I understand it, JOAL was failing on machines where OpenAL wasn't installed, which is what I would currently expect. If some of the machines where sound just "didn't work" already had OpenAL installed, I don't currently know what was going on there, as I wasn't able to reproduce such failures on my setups.
Pages: [1] 2
  ignore  |  Print  
 
 

 
xxMrPHDxx (21 views)
2017-11-21 16:21:00

xxMrPHDxx (14 views)
2017-11-21 16:14:31

xxMrPHDxx (16 views)
2017-11-21 16:10:57

Ecumene (114 views)
2017-09-30 02:57:34

theagentd (150 views)
2017-09-26 18:23:31

cybrmynd (260 views)
2017-08-02 12:28:51

cybrmynd (250 views)
2017-08-02 12:19:43

cybrmynd (247 views)
2017-08-02 12:18:09

Sralse (260 views)
2017-07-25 17:13:48

Archive (881 views)
2017-04-27 17:45:51
List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05

SF/X Libraries
by SkyAphid
2017-03-02 06:38:56

SF/X Libraries
by SkyAphid
2017-03-02 06:38:32

SF/X Libraries
by SkyAphid
2017-03-02 06:38:05

SF/X Libraries
by SkyAphid
2017-03-02 06:37:51
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!