Currently, Omega Core supports a simple video playback feature that utilizes Windows Media player. One major drawback has been the fact that Microsoft removed the command line option to automatically close the player when the video is done. So, while you can successfully playback videos using Omega Core, you have to set a timer and tell the OS to kill media player when the video is done playing. The problem is that there might be some lag as the video player runs and you can’t be sure that you’re killing the video at the correct time.
I am now looking to provide FFmpeg support in place of Windows Media Player. I’m investigating the licensing for this and haven’t yet been able to determine if I can distribute the pre-built ffplay.exe program or if I need to compile the code into the Omega Core dll. I’m hoping to just distribute the executable and make command line calls from Omega Core to invoke video playback since that eliminates all the hoops I need to jump through in order to get the code compiled into my dll. As soon as I know more, I’ll post an update. Using FFmpeg would allow me to support more video formats as well as utilize an auto exit when the video is done playing.
I added a new function called ocAUSetSound2D so you can specify a sound as 2D for playing ambient background sounds and music tracks. I also fixed a minor bug having to do with determining sound range for non-looping sounds.
Omega Core v1.06
The latest version of Omega Core is now available. This has the basics of 3D sound implemented. There are many more functions I will be adding to the 3D sound system, but I wanted to get a working version out for use and testing as soon as possible. I have not yet tested the velocity functions so please report any issues you might have.
Omega Core v1.05
I’ve been working on this for a few hours today and have discovered that the OpenAL sound system doesn’t have any culling for distance whatsoever. I’ve been struggling with trying to figure out the best distance attenuation model to use and couldn’t get it to behave the way I wanted. A straight linear model does cull for max sound distance, but is totally unrealistic sounding and not suited for my purposes at all. The other models attenuate sound nicely, but the sounds can be heard from everywhere no matter how far you are away.
I want to take a little more time on this part and provide a built-in facility for range culling that doesn’t pop when the sound comes in range. This requires me to do some automatic volume fade in/out for sound sources as they come into range. Therefore, I don’t think I’ll have this release ready today. If I do manage to get this part working soon then I will release it as expected.
All functions are now in place for the preliminary 3D sound system and the documentation has been updated to reflect all changes. I just need to take a little more time to test out all the functions and see if there needs to be any changes. I’m on target to release this sometime tomorrow afternoon.
I’ve gotten most of the code in place to do all the basic 3D sound system features. All that is left to do are the the velocity settings and fade in/out. I’ll probably leave the fading in/out for the next version since it’s going to be a little more work than anticipated, I also want to update the documentation for Omega Core with all the new functions and how to use them before releasing this, So, I’m looking at tomorrow evening or Saturday afternoon to get this out to people to use and test.
Here is a video I did showing the 3D sound in action.
3D Sound Test Video
These are the sound functions that I’m planning to have ready for the next Omega Core release.
ocAUSetSoundRange (edit: added this one that was missing)
Playing sounds will have an optional fade-in parameter and stopping sounds will have an optional fade-out parameter. This will allow smooth transitions between sounds.
As of now, I am only a few short hours away from having this all working, but I can’t actually do any more coding until this evening. I’m looking at releasing the new Omega Core with these functions by tomorrow evening unless I run into major issues.