Intro
NiftyPlayer, also known as nplay, is a little media player I wrote from sample source code app from Be (mplay)

I really wanted to be able to watch DivX ;-) movies under BeOs, and since MediaPlayer didn't support RGB32 overlay on my machine it was dropping 60% of the frames, and also VideoPro wes going at half-peed, I had no luck.

So I tried mplay, a sample source-code app from Be, and found it was a bit better, so I decidec to improve it.

It should supports all the types of movies (and sounds also like MP3s) the media kit can handle.

I'd like to release nplay under the Gnu GPL licence, but since I don't know for now if I can use it I'll stick to mplay's licence for now.

I should not be responsible for any damage to your hardware / and software, ... (as usual)

magic overlay code contains some definitions/equations from some places I found on the Net:
http://www.nevrax.org/docs/doxygen/nel/jccolor_c-source.html
http://www.eng2.uconn.edu/~zhangl/convert.htm
I didn't check the licences, since 1) I only few definition lines 2) it is available on the Internet I don't see the point in it.

DivX ;-) is a trademark of (who is he by the way ?)
BeOS is a trademark of Be Inc. ( http://www.be.com/ )
All other trademarks are of their respective owner...
Windows is a trial-mark of Micro$oft Corp ( http://www.microsith.com/ ).

(Who said writing disclaimers wasn't funny ?)

Thanks

I'd like to thank :

* M and many others on beshare.bentonrea.com for alpha-testing
* BGA on beshare for:
- his queryoverlay.cpp, though it was 10 minutes too late (I did the same by hand recompiling the prog for every colorspace :^) ),
- pointing me to an horrible bug in the Renderer selecting code (wasn't Dispose()ing the old renderer before trying another one),
- fixing the RGB32 to RGB16 code (I forgot about endianness)
* Be Inc for the BeOS and the little mplay program which proved useful :)
* The authors of StampTV ( http://bebits.com/app/907 ) (for the little code to disable the screensaver)
* OpenTracker ( http://www.opentracker.org/ ) for the always-on-top code (though I could have find it elsewhere)

User manual

Should be pretty straight-forward.

The easiest way to open a file is to drop it on the nplay icon.
Note that it doesn't support drag'n'drop in the player window for now.
You can open more than one movie at once if you drag a group of files on the icon. You can also give it the paths on the command line.

To pause the movie, either click on the play/pause button, or press the space bar.

Note that no codecs are included here, so if you want to watch DivX for ex you need to download the codecs ( from BeBits: http://bebits.com/app/1402 ).

# Hardware overlay

NPlay now supports a new overlay mode called "magic overlay". Since many of you don't have RGB32 overlay on their video card and the DivX ;-) codec only supports this colorspace, I tried to code a new renderer that uses the YCbCr422 overlay that is supported by many more cards (it seems) and converts the RGB32 output from the DivX ;-) codex to it. Though it takes twice the CPU power of the standard overlay (to do the convertion), since it's done before the card scales it in hardware the CPU usage doesn't vary from 100% to full-screen mode (on the oposite drawbitmap uses a bit less CPU in 100% but crawls in full-screen). If your card doesn't supports RGB32 overlay but does for YCbCr422 then openning a DivX ;-) movie will automatically fall down to magic overlay.

The hardware overlay support has some issues :
* If your video card is like mine you will need to move the window to find the good position (I really should take care of the overlay restrictions, but I didn't have a look at it)
* If you want to know which type of overlay your card supports, run nplay from the command line with a movie, you will see which ones it asks the codec for support.
* Anyway, the DivX codec seems to only support the B_RGB32 colorspace (MediaPlayer only tries B_YCbCr422 for overlay, so it won't use it with DivX) (see magic overlay above)
* The standard mpeg codec supports B_YCbCr422 (only ?)
* The replacement mpeg codec from Carlos Hasan ( http://bebits.com/app/2338 ) does support B_RGB32 overlay (B_YCbCr422 also, but when I tried to use it I got wrong and faded colors).

# The keyboard control

The current shortcuts are as follows:

SPACE pauses/restarts the media
UP arrow ups the volume a bit
DOWN arrow lowers it

and some more keys (CL-Amp users will be used to them) :

X plays the movies (starts, not necessarily from the beginning)
C pauses
V stops and rewinds

# The Media Bar

The Button serves as a play/pause button (hitting space bar also works)
The sliders allows you to see the current time in the media.
The little speaker is the volume control.
If it is only grey shaded and clicking has no effect, it tells the media has no sound
If it is crossed then it means that the sound has been muted (by setting the volume to 0; there is no separate mute setting for now).
It it is colorful, then the media has sound ans then volume is greater than 0.
Clicking on it will bring the