I’ve decided to officially release the engines (scripting, physics, sound and 2.5D rendering) behind Kobo II as Free/Open Source, in order to make the game available to basically anyone with OpenGL and a C compiler.
Actually, older versions have already been released in conjunction with The Grumpy Pinball Ball, but at the time I hadn’t decided on a license for the sound engine, ChipSound.
Don’t expect this to be seriously usable production code! I am indeed using it for Kobo II and various tools, but I implement only the very features I need right now, so expect a generally odd feature set, little documentation and a few dangling wires.
First out is ChipSound, which is now under the zlib license.
Direct download: ChipSound-0.1.0.tar.bz2 (75K)
Included with this is a small SDL based test program that demonstrates how to load, play and control sounds, and how to implement oscilloscopes by wiring an application callback to the “master” voice.
The included work-in-progress demo songs belong to Kobo II, and are NOT covered by the zlib license. They’re only provided as examples of what can be done with ChipSound. More info on some of these songs can be found here, here, here and here.
David
Yay and check out these: http://alternativeto.net/software/sfxr/?license=opensource
Do you use source code repositories? I’d recommend git if you’re interested in updating the code base or accepting patches.
Any info on how to program this music?
Cheers and thanks!
Yep, seen that, and played around a bit with it.
The original idea with ChipSound, apart from the usual sample playing (a feature I haven’t actually used yet!), was to do that sort of stuff, and also extend that to allow more detailed realtime control of “normal” sounds. Basically, a small, universal sound engine, where realtime scripting replaces the massive hardwired feature set of a traditional sound engine. Still need to add multichannel mixing, more flexible signal routing, a way for scripts to select and control effect units, and some stuff like that, but the core design seems to have some potential.
BTW, ChipSound actually started out as a fun hack based on my ancient speaker hack (a PC speaker emulator + tiny sound effect player), which in turn was a port of the Borland Pascal sound code from the DOS game Project Spitfire. So one might claim ChipSound actually has true “chip” roots!
I’ve just been doing regular backup archives so far, as I’ve been the only one touching the code – but some version control system might be useful either way. One can always send patches by email, though!
Well, there is a text file “programming.txt” that should get you started, but I suspect it’s not entirely up to date. There is also a “chipsound.xml” syntax highlighting file for the KDE editor component used in Kate, KWrite etc.
Hi I’m test driving chipsound on darwin (macos10.7) i have sdl and everything else installed but am having trouble compiling the test program. I can see a main, which is why i don’t understand this issue. Ideas?
[ 75%] Built target chipsound
Linking C executable cstest.app/Contents/MacOS/cstest
Undefined symbols for architecture x86_64:
“_main”, referenced from:
start in crt1.10.6.o
(maybe you meant: _SDL_main)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [test/cstest.app/Contents/MacOS/cstest] Error 1
make[1]: *** [test/CMakeFiles/cstest.dir/all] Error 2
make: *** [all] Error 2
Hi there!
I’m kind of new to CMake, and don’t deal much with OSX, so it’s entirely possible I got something wrong in there…
Anyway, seems like the SDL main() “glue” is missing. My script isn’t finding SDLmain.lib/SDLmain.m…? That’s where the actual application entry point is supposed to be in the normal case, so you need to link with that.
I seem to have commented out the line
target_link_libraries(${SDL_LIBRARY} SDLmain)
for reasons I cannot remember; maybe that’s the problem?
Cool thanks for the speedy reply David. I’ll have a look at that linking line and let you know! BTW, is this the best way to contact you?
I usually check this place daily, but email is probably safer and quicker; the one in the sidebar, or david@olofson.net
okay, it is solved! I had to link against libSDLMain.a per: http://sdl.beuc.net/sdl.wiki/FAQ_MacOS_X_SDLMain.m
http://content.gpwiki.org/index.php/SDL:Tutorials:Setup
Thanks again for the help!
Thanks! I’ll see if I can get that working out of the box in the next release.