On Mon, Apr 10, 2006 at 09:34:00PM +0100, Kelvin Lawson wrote:
[ I said: ]
> >Here's a curious idea: I wonder how hard it would be to recast Kelvin's
> >rendering code as an Mplayer codec?  Did we already talk about this?
> I've fancied doing this for some time but haven't got round to it yet. 
> Making an mplayer/ffmpeg codec would give you CD+G for free with a whole 
> bunch of video players, as well as those commercial DVD players and 
> other devices that use ffmpeg.

Good point; I hadn't thought about shoving it down the extra layer.

Removing all the SDL glue would probably make my integration work
easier, too...

> I'd need to rewrite it in C but it should translate fairly easily, 
> especially given what we now know about CD+G.

Which, presumably, is more than you did before the first cut.  :-)

> >In fact the only missing piece apart from digital mixing is a lack of
> >straight-from-CD CD+G player, which is something I'm interested in
> >doing anyway, and I think Python can do it. Any hints or thoughts,
> >Kelvin?
> I've given it some consideration in the past but not in great detail. 
> Pygame can play audio tracks on a CD but (unsurprisingly) there is no 
> facility to read the subchannel data.

Hmmm... Is there a standardized way to get raw tracks off a Redbook CD
in Linux?  Doesn't XMMS do some of this?

> Initial thoughts on the simplest thing to implement would be to combine 
> a cdrdao/cdgrip pass with pygame's CD playback. It's just a hack but it 
> buys you something. After selecting a track, you spawn off a process to 
> rip just the CD+G data without any MP3 encoding. You can then play this 
> back as usual with pycdg.py while the CD track plays. Should be 
> relatively quick to implement but you pay the price of the time spent 
> doing the rip before playback.

Could you sync it, though?

> Doing it *properly*.. that's a different thing. I don't know, for 
> instance, what the usual method would be for extracting the subchannel 
> data on Linux. Whether you'd need to use a library like cdrdao, or 
> whether it's just as easy to get what you need straight from the OS. I'm 
> thinking something like Python bindings for cdrdao to read the 
> subchannel data - and if you're doing this in real time then presumably 
> you'd want to read the audio data at the same time, rather than have two 
> proceses seeking around the disk. I'd need a deeper look into the likes 
> of cdrdao to comment any further than that.

That sounds like a higher-difficulty task than the first one.  :-)

> >The link is Coral Cache-ified by the way because I'm expecting heavy
> >traffic in a few days; a not-so-friendly company is threatening to sue
> >me because I posted my experience with them on my site, and
> >negotiations broke down recently. I went public with the details, and
> >Tom Martino (the "Troubleshooter") is going to have me on his radio
> >program Monday to hash this stuff out. Heh. This should get
> >interesting fast :)
> Itching to hear how this pans out.


-- jra
Jay R. Ashworth                                                [EMAIL PROTECTED]
Designer                          Baylink                             RFC 2100
Ashworth & Associates        The Things I Think                        '87 e24
St Petersburg FL USA      http://baylink.pitas.com             +1 727 647 1274

     A: Because it messes up the order in which people normally read text.
     Q: Why is top-posting such a bad thing? 
     A: Top-posting.
     Q: What is the most annoying thing on Usenet and in e-mail?

This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
Pykaraoke-discuss mailing list

Reply via email to