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. :-)
Yeah, it was easy enough to knock something up that worked on my small
collection of tracks, but since then I've had a few people (you
included) send me CD+Gs that interpreted the spec differently. It's been
all quiet for some time now, so it must be perfect <ducks>.
Hmmm... Is there a standardized way to get raw tracks off a Redbook CD
in Linux? Doesn't XMMS do some of this?
Pass. When I wrote cdgtools, the only useful tool I could find for
reading subchannel data was cdrdao. We can presumably package up ATAPI
commands and pass them to the relevant Linux driver, but cdrdao might
take away the pain of handling a range of drives with different
supported commands etc.
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?
Well there's the new "no audio" option in pycdg. This uses the system
clock to play the CD+G in real time. It would need to know if you had
paused or rewound etc, but it could probably do the job. You can also
poll the pygame CD playback to find out the current playtime but it's
only one second accuracy.
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