Re: [Pykaraoke-discuss] DJ/KJ in Denver Checking In

2005-11-28 Thread Kelvin Lawson

How "expensive" is it just to start from byte 0 of the CDG
instructions and run every command in order internally up to the
current seek time, then blit the result?

I had been assuming that scaling/drawing the output itself is what
took time, and that on the internal drawing surface it was nearly
instantaneous and painless. Am I just nuts? :)


Actually I've never tried doing the CD+G decoding without syncing with 
the song and blitting. If it turns out to be near zero cost without 
those, then your idea of starting at byte 0 would be the best option.


The scaling/drawing is probably the most expensive operation. Some of 
the other number crunching can be time-consuming if modifying every one 
of the pixels, but I've worked harder on those parts to find the magic 
line of Python that does it quickly. For example my first bash at the 
Load Colour Table code was prohibitively slow as I ran through each 
pixel in a loop, looking it up in a table and replacing it with the new 
value. The magic dust in this case was to use the take() function of 
Numeric which was many orders of magnitude faster.



Either way, I would think that going back to the last memory preset
would do the trick; doesn't that clear out *everything,* not just the
visible area?


Having just looked back at CDG Revealed, I think you're right - it says 
Memory Preset should set "the entire screen". What pycdg currently does 
for Memory Preset is only alter the border if the border has never been 
set before. If "entire screen" includes the not-viewable area then that 
wants to be modified to always set the border.


Good catch by the way, you've really dug deep into this stuff :-)

Kelvin.


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
___
Pykaraoke-discuss mailing list
Pykaraoke-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss


Re: [Pykaraoke-discuss] DJ/KJ in Denver Checking In

2005-11-28 Thread William Ferrell
On 11/28/05, Kelvin Lawson <[EMAIL PROTECTED]> wrote:
> > I think that I've never *ever* seen a commercial CDG that scrolls.
> >
> > Ever.
> >
> > KBS will create them, and I should have that in a week or two.  But I
> > wouldn't worry *too* much about it.
>
> I've got one from "Doctor Music", that I used for testing the scrolling
> code. Can't recall if I've seen it on any others though.
>
> Kelvin.

How "expensive" is it just to start from byte 0 of the CDG
instructions and run every command in order internally up to the
current seek time, then blit the result?

I had been assuming that scaling/drawing the output itself is what
took time, and that on the internal drawing surface it was nearly
instantaneous and painless. Am I just nuts? :)

Either way, I would think that going back to the last memory preset
would do the trick; doesn't that clear out *everything,* not just the
visible area?

--
Looking for something to read? Visit http://willfe.com/ ... it's easy,
safe, and fun for the whole family!


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37&alloc_id865&op=click
___
Pykaraoke-discuss mailing list
Pykaraoke-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss


Re: [Pykaraoke-discuss] DJ/KJ in Denver Checking In

2005-11-28 Thread Kelvin Lawson

I think that I've never *ever* seen a commercial CDG that scrolls.

Ever.

KBS will create them, and I should have that in a week or two.  But I
wouldn't worry *too* much about it.


I've got one from "Doctor Music", that I used for testing the scrolling 
code. Can't recall if I've seen it on any others though.


Kelvin.


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
___
Pykaraoke-discuss mailing list
Pykaraoke-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss


Re: [Pykaraoke-discuss] DJ/KJ in Denver Checking In

2005-11-28 Thread Jay R. Ashworth
On Mon, Nov 28, 2005 at 07:37:44PM +, Kelvin Lawson wrote:
> > I'm actually keen to implement an internal MP3/OGG/WAV player anyway; we 
> > need that to be able to do pitch shifting and time munging, and then we 
> > get seeking (coding the CDG seeking part will be fun ;).
> 
> Yeah, I'm not decided on the best technique for seeking. I think we need 
> to go back to the last Memory Preset command (like a clear screen), and 
> internally decode all of the graphics commands up to the new seek time. 
> We can speed this up by not blitting to the screen until the last command.

That sounds good.  I was wondering how that would get handled.

> Then there's the Border Preset as well - this area isn't shown unless 
> there's a scroll command which scrolls it in. If we don't go back to the 
> last Border Preset, then there could be erroneous data in the border 
> that gets scrolled in.
> 
> What do you think?

I think that I've never *ever* seen a commercial CDG that scrolls.

Ever.

KBS will create them, and I should have that in a week or two.  But I
wouldn't worry *too* much about it.

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

"Space is called 'space' because there's so much *space* there."
- John Walker, of Fourmilab, on Trek's End


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
___
Pykaraoke-discuss mailing list
Pykaraoke-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss


Re: [Pykaraoke-discuss] DJ/KJ in Denver Checking In

2005-11-28 Thread Kelvin Lawson
I'm actually keen to implement an internal MP3/OGG/WAV player anyway; we 
need that to be able to do pitch shifting and time munging, and then we 
get seeking (coding the CDG seeking part will be fun ;).


Yeah, I'm not decided on the best technique for seeking. I think we need 
to go back to the last Memory Preset command (like a clear screen), and 
internally decode all of the graphics commands up to the new seek time. 
We can speed this up by not blitting to the screen until the last command.


Then there's the Border Preset as well - this area isn't shown unless 
there's a scroll command which scrolls it in. If we don't go back to the 
last Border Preset, then there could be erroneous data in the border 
that gets scrolled in.


What do you think?

Kelvin.


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
___
Pykaraoke-discuss mailing list
Pykaraoke-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss


Re: [Pykaraoke-discuss] DJ/KJ in Denver Checking In

2005-11-28 Thread Kelvin Lawson

Don't forget FLAC and MPEG (being able to rip CD-V's would be cool,
too, and, for that matter, the dedicated could rip LaserDiscs with a
capture card.


I think MPEG playback is done elsewhere (I could be wrong and I
haven't checked) but I believe it's already supported. FLAC is just a
matter of adding the correct library.


Yep, MPEG is already supported by the pympg module.


Is the proper approach here to locate the already-extant project which
is closest to what we need, and submit patches?


Probably. That's Kelvin's call though :)


Well I'm happy to open it up to the floor. My suggestion is that we use 
pymedia and submit patches to add libsoundtouch support to that. pymedia 
offers a whole bunch of audio and video decoders, and as far as I can 
tell it will be an easy route to CD+G -> MPEG conversion as well. I've 
mailed the author to gauge his feelings about incorporating 
libsoundtouch support within pymedia but no response yet.


Kelvin.


---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
___
Pykaraoke-discuss mailing list
Pykaraoke-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss