Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Jukebox Devs: What did you use for CDG Support/Decoding?  (Read 1719 times)

0 Members and 1 Guest are viewing this topic.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:Today at 09:22:00 am
  • ROONEY!! ERRGH!!
    • Arcadia
Jukebox Devs: What did you use for CDG Support/Decoding?
« 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

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Jukebox Devs: What did you use for CDG Support/Decoding?
« Reply #1 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.
« Last Edit: June 06, 2008, 06:01:59 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:Today at 09:22:00 am
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Jukebox Devs: What did you use for CDG Support/Decoding?
« Reply #2 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!.

Space Fractal

  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1888
  • Last login:September 26, 2023, 11:32:13 am
  • Space Fractal
    • Space Fractal
Re: Jukebox Devs: What did you use for CDG Support/Decoding?
« Reply #3 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?
« Last Edit: June 11, 2008, 05:58:24 pm by Space Fractal »
Decade Old Work: MultiFE, ArcadeMusicBox
Today Works: Various Spectrum Next games from Rusty Pixels and html5 games.

nipsmg

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1753
  • Last login:Today at 09:22:00 am
  • ROONEY!! ERRGH!!
    • Arcadia
Re: Jukebox Devs: What did you use for CDG Support/Decoding?
« Reply #4 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.



fishbox

  • Trade Count: (0)
  • Newbie
  • *
  • Offline Offline
  • Posts: 1
  • Last login:February 18, 2009, 08:04:05 pm
Re: Jukebox Devs: What did you use for CDG Support/Decoding?
« Reply #5 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!