Build Your Own Arcade Controls Forum

Main => Software Forum => Topic started by: nipsmg on June 06, 2008, 05:18:18 pm

Title: Jukebox Devs: What did you use for CDG Support/Decoding?
Post by: nipsmg on June 06, 2008, 05:18:18 pm
Did you guys write your own engine based off of something like CD+G Revealed? Did you purchase a component or find a code snippet to use?

I'm just curious, cause if I don't have to write the decoding, I don't want to  ;D
Title: Re: Jukebox Devs: What did you use for CDG Support/Decoding?
Post by: Space Fractal on June 06, 2008, 05:56:39 pm
Why not post in the Jukebox software section?

I did that in both BlitzMax and Blitz Basic. If you search in the Jukebox section, you can find the commandline version with source included:

Blitz Basic version: http://www.blitzbasic.com/codearcs/codearcs.php?code=1482
Blitz Max version (with zip support): http://forum.arcadecontrols.com/index.php?topic=62573.0

Please Note, there is not neccently to convert array to image on every command, which can slowdown a bit under palette fading (palette changing). I did fix that later for MultiJuke, which source is not released (I talk about the cdg part).

Otherwice, look in the Uncle'T Jukebox support forum, you see its actuelly exists free codecs to Windows Media Player, so they play like a normal video.... None of them as I see support zipped files, because you can compress graphics files very well.
Title: Re: Jukebox Devs: What did you use for CDG Support/Decoding?
Post by: nipsmg on June 11, 2008, 10:05:54 am
Yeah I've seen that code before actually! :)

I wrote a C# version using GDI that was painfully slow because of an inability to directly manipulate pixel data.  Even using Unsafe Code, it was still nearly impossible.

I think I found a way to write it in XNA.  It's not very hard to implement, especially with your code and the code from jbum as a guide.

Thanks for the links!.
Title: Re: Jukebox Devs: What did you use for CDG Support/Decoding?
Post by: Space Fractal on June 11, 2008, 05:56:24 pm
I feeled I need to update the app to sync with the same code using in MultiJuke (and still with source code included).

It fix a slowdown bug. There is no reason to write to image for some commands, which just slow very down when a lots of color commands is used (fading). I do actuelly only see this feature used once in the songs I have....

But fell free to use my source to adapt it to XNA. What kind of language is this? I see it used on Xbox community as well? do you then plans to create a xbox version, if Im are right?
Title: Re: Jukebox Devs: What did you use for CDG Support/Decoding?
Post by: nipsmg on June 12, 2008, 10:34:31 am
No, I don't plan on an xbox version currently becuase I don't have an xbox360 to test on, but if I get one I will definitely port it over, why not.  But I don't know that it makes that much sense, it really is designed for a touchscreen interface..

I guess the karaoke player might be cool to port over though. 

XNA is basically Managed DirectX (i.e. DirectX in .NET), but it's actually better than that.  It's what they use to write Xbox AND some PC games, and it's a REALLY EASY framework to write in.  I don't know anything about directx or sdl, so I started with this.  I'm really thinking about abstracting the GUI framework further at some point so I can port it over to SDL.NET so I can make the jukebox completely cross platform with Mono, but that will be a bit down the road.


Title: Re: Jukebox Devs: What did you use for CDG Support/Decoding?
Post by: fishbox on January 25, 2009, 06:14:43 pm
Space Fractal,

First off, great little cdg player! Like nipsmg, I'd like to adapt your blitzmax script to work in a .NET app (Visual Studio 2008 C# to be exact).

I'm just learning how to do the pixel drawing required by your script (lots of learning going on) and wonder if it would be easy for you to convert this to a Blitz3d script that eventually could be use with Blitz3d SDK for .NET. I'd like to embed the cdg playback in a Form panel or picturebox and have another window of the same cdg file playing on a second monitor.

Any guidance or conversion code would be greatly appreciated!

nipsmg, have you been able to create a cdg player in C# .NET? Could you share some code or tips for me?

Thank You!