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. <aol> Cheers, -- 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! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss