Register
Site Login
Site Search
Forums
Advertisement
Welcome to PocketMatrix. PocketMatrix is dedicated to providing the best online community for mobile device developers and enthusiests. What's new?

Hekkus Sound System 0.99.rc1 released!


Hekkus Sound System 0.99.rc1 released!

Postby gersen » Mar 15, 2004 @ 3:58am

New version of the Hekkus Sound System, this time the main features is not only the support for symbian devices but also MODs with up to 32 channels and stereo WAVs. Some optimizations and bug fixes as always ;)


Changes in this version:
<B>* Symbian support added (Series60 smartphones)

* added support for stereo WAVs
* added support for ProTracker modules with up to 32 channels</B>

* added a lot of new function return code (for debug porpuose)

<B>* optimized sound mixer functions
- if you don't play anything the mixer do nothing :)
- new channels loop that consume less cpu cicles</B>

* no more source code included (if you want the source code please provide a donation :))
* no more static lib distribution, only .dll

<B>* changed classes name!
- Sound -> hssSpeaker
- Channel -> hssChannel
- Module -> hssMusic
- SoundFX -> hssSound</B>

* added new driver system to support multiplatforms dev
* adjusted volume setup to support Symbian platform
* deleted const freq tables, now are calculated when needed
- so now you can use whatever output frequency you want
- 30kb of const data are gone

* added ability to set Musics and Sounds position at playing time
* enhanced Musics and Sounds load to memory functions
* fixed memory leaks on Musics and Sounds load from file (thanks bluescr and A. Cicak)
* fixed problems with changing Musics and Sounds frequency or speed (thanks Miguel Vanhove)
* fixed minor cosmetic bugs


Enough changes for this new version, don't you think?

As always you can find the latest files on my website www.shlzero.com
User avatar
gersen
pm Member
 
Posts: 147
Joined: Oct 19, 2002 @ 8:40am
Location: Italy


Postby kornalius » Mar 15, 2004 @ 12:49pm

Cool! Can't wait to see how many fps more I will get from this in my test demo.

Btw, I am using your library in my programming language that is going to be released soon. I basicly added a bunch of easy high-level functions to the language that points to your library functions.

I really enjoy it so far. Keep up the good work!

Regards,
kornalius
User avatar
kornalius
pm Member
 
Posts: 1704
Joined: Dec 9, 2003 @ 6:04pm
Location: Montreal, Québec, Canada


Postby fzammetti » Mar 15, 2004 @ 3:53pm

I'm going to see about putting this into my game tonight... The class name changes will make it a little more work then I'd like, but nothing too substantial.

I'm really interested to see what DevPartner finds... I've noticed it was finding a number of memory leaks and some other things, but it sounds like you may have take care of at least most of them. Would you like me to send you what it finds this time around?
...and so I said to Mr. Gates: "$640 billion should be enough for anyone!"
User avatar
fzammetti
pm Insider
 
Posts: 1496
Joined: Jun 4, 2002 @ 6:21pm
Location: Omnytex Technologies


Postby mlepage » Mar 15, 2004 @ 3:54pm

No new CHekkusGapiApplication? Just edit the one we have?
www.scalenesoftware.com
Great games for your Palm and Pocket PC!
User avatar
mlepage
pm Insider
 
Posts: 1050
Joined: Aug 3, 2003 @ 4:47am
Location: Canada


Postby fzammetti » Mar 15, 2004 @ 4:02pm

I personally wouldn't use the modified GD framework class anyway... I've always, even when I was using PocketFrog, just added Hekkus functionality myself. Not like it's any big deal, and it keeps the graphcis library and sound library more isolated I think, easier to swap out if you want to move to a different library. Just an aside...
...and so I said to Mr. Gates: "$640 billion should be enough for anyone!"
User avatar
fzammetti
pm Insider
 
Posts: 1496
Joined: Jun 4, 2002 @ 6:21pm
Location: Omnytex Technologies


Postby mlepage » Mar 15, 2004 @ 4:07pm

Yeah it doesn't seem like it's doing a lot for me, but it's in there now so I may as well keep it.
www.scalenesoftware.com
Great games for your Palm and Pocket PC!
User avatar
mlepage
pm Insider
 
Posts: 1050
Joined: Aug 3, 2003 @ 4:47am
Location: Canada


Postby mlepage » Mar 15, 2004 @ 4:09pm

More than just class name has changed, it seems function names have also changed. The whole API has changed.
www.scalenesoftware.com
Great games for your Palm and Pocket PC!
User avatar
mlepage
pm Insider
 
Posts: 1050
Joined: Aug 3, 2003 @ 4:47am
Location: Canada


Postby mlepage » Mar 15, 2004 @ 4:23pm

Also the lib directories have changed.

Gersen you have to remember to note details like this. The best way is to write them down as you do them, so you have a list when you are done. (If I missed this info somewhere, I apologize.)
www.scalenesoftware.com
Great games for your Palm and Pocket PC!
User avatar
mlepage
pm Insider
 
Posts: 1050
Joined: Aug 3, 2003 @ 4:47am
Location: Canada


Postby mlepage » Mar 15, 2004 @ 4:30pm

OK here's more.

Error codes were not added, they were changed.

So if you were previously doing error checking (as you should be), then you will have to change it all before your application will run properly. This is a runtime error, not a compile time error.

So with all these changes, converting from 0.98.0 to 0.99.rc1 is not a 3 minute job, it's more like a 30 minute job. Now I just hope it's stable enough that I don't have to convert back...
www.scalenesoftware.com
Great games for your Palm and Pocket PC!
User avatar
mlepage
pm Insider
 
Posts: 1050
Joined: Aug 3, 2003 @ 4:47am
Location: Canada


Postby gersen » Mar 15, 2004 @ 5:06pm

kornalius wrote:Cool! Can't wait to see how many fps more I will get from this in my test demo.


Very interesting your programming language, let me know if the new version improve your fps :)

fzammetti wrote:I'm really interested to see what DevPartner finds... I've noticed it was finding a number of memory leaks and some other things, but it sounds like you may have take care of at least most of them. Would you like me to send you what it finds this time around?


Of course, send me all you want, I'm always around to squeeze some bugs ;)
As you have suggest I have added a new set of return code for some functions, it really helps a lot more than a boolean :)

mlepage wrote:No new CHekkusGapiApplication? Just edit the one we have?

Later I'll add on my website a new samples for GD 2.04 and 3.00 for Hekkus 0.99 and it will contain the update CHekkusGapiApplication. But all I have to do is to change the class name and the return code to the open function.

mlepage wrote:More than just class name has changed, it seems function names have also changed. The whole API has changed.

I have changed some function to reflect the new class names, so for example playMod was changed to playMusic, playSFX was changed to playSound and so on. If you use the replace function of your editor you can save some time... :)

mlepage wrote:Also the lib directories have changed.

Yes, I have written somewhere that now hekkus is shipped as a .dll library so the directory have changed (there is a dll directory that include all the dll) and the debug version are gone (without the source it isn't so userful to have a debug dll version). Oh, and from now you have to include the right dll on your distribution package or your app will end with a popup that request the hekkus library.

mlepage wrote:Error codes were not added, they were changed.

added and changed. With older version the return code was always a boolean, now it is an int that can return a lot more information. Always if the function succed it now return HSS_OK. I have update the documentation (but I admit that I have to improve it) so you should give it a look.

So with all these changes, converting from 0.98.0 to 0.99.rc1 is not a 3 minute job, it's more like a 30 minute job. Now I just hope it's stable enough that I don't have to convert back...

I'm sure you will find 0.99 very stable, I have worked a lot on this new version and I'm pretty happy of the result :).
User avatar
gersen
pm Member
 
Posts: 147
Joined: Oct 19, 2002 @ 8:40am
Location: Italy


Postby kornalius » Mar 15, 2004 @ 5:29pm

Oups, now that I see that there is a lot of changes in function names and class names, I will have to wait a bit since the game API of PPL is not the priority at this time. So no fps increase for me today! :D

regards,
kornalius
User avatar
kornalius
pm Member
 
Posts: 1704
Joined: Dec 9, 2003 @ 6:04pm
Location: Montreal, Québec, Canada


Postby mlepage » Mar 15, 2004 @ 8:03pm

It's not so bad once you know what to expect.
www.scalenesoftware.com
Great games for your Palm and Pocket PC!
User avatar
mlepage
pm Insider
 
Posts: 1050
Joined: Aug 3, 2003 @ 4:47am
Location: Canada


Postby mlepage » Mar 16, 2004 @ 2:51am

OK, something is different.

In my game, when minimized (using CGapiApplication::Minimize or due to alarm) or when gameplay is paused, I call Speaker::pauseMusic. To resume I call resumeMusic.

This worked fine before. Music was halted, and whatever sound effect was playing soon finished, and my game didn't play any more sound effects while minimized or paused.

Now, what happens is the music and sound effects just keep looping like its stuck. The sound does not stop, it is still coming through the speaker.

This happens on both the PC and the Pocket PC.
www.scalenesoftware.com
Great games for your Palm and Pocket PC!
User avatar
mlepage
pm Insider
 
Posts: 1050
Joined: Aug 3, 2003 @ 4:47am
Location: Canada


Postby mlepage » Mar 16, 2004 @ 2:54am

BTW, any particular reason the global functions are named suspend/resume but the sound and music functions are named pause/resume?
www.scalenesoftware.com
Great games for your Palm and Pocket PC!
User avatar
mlepage
pm Insider
 
Posts: 1050
Joined: Aug 3, 2003 @ 4:47am
Location: Canada


Postby gersen » Mar 16, 2004 @ 4:52am

Just a cut and past from the mail I have written to mlepage...

Fixed. It was a little bug. Basically I don't have debugged the only one new internal function that I have added to 0.99 (I'm feeling a bit stupid)... Ok, now rc2 should be perfect. I have changed some other function names, sorry. I have added a s when the function operate on all Sounds or Musics (plural this unknown) and I have changed the resumeMusics/Sounds to unpauseMusics/Sounds.

I promise to not touch the function name anymore for v. 0.99.x

As a little note, when your app is minimized you should call suspend and resume when it is return fullscreen. Why? Because it stops the sound output and suspend the sound thread. If you don't call suspend all the sound processig still work even if your app is minimized. pause/unpause functions is used if you want to pause all Sounds and/or Musics while your game is running.
User avatar
gersen
pm Member
 
Posts: 147
Joined: Oct 19, 2002 @ 8:40am
Location: Italy


Next

Return to Windows Mobile


Sort


Forum Description

A discussion forum for mobile device developers on the Windows Mobile platform. Any platform specific topics are welcome.

Moderators:

Dan East, sponge, Digby, David Horn, Kevin Gelso, RICoder

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

cron