First of all, sorry for my english...
Since weeks I'm planning a solution with the xbox to have a real ambilight.
A "real" ambilight means: If the image on the screen changes, the color off the leds will change too. There are a lot of solutions for this on the net. (MoMolight for Windows, Atmolight for the Linux VDR). So why not having such a system for the xbox.
A lot of problems to solve:
How to access the current screen information?
How to sent data to a microcontroller (I'm a experienced MC developer, if the signal is on a wire to the outside, I will find a solution to drive the leds :-)
A small solution with the pwmcontrol (only 1 Channel Ambilight)? I'm dreaming of 2 or 4 channels.
But there are a lot of questions. Due to the distributed documentation (?messy? Documentation) I'm really frustrated. This will be maybe the last try to get more help for my questions? I'm try to find information for more than 3 weeks. I've collected a lot of information (for german users see on:
http://www.laberrababer.de/dokuwiki/doku...light:blog)
I'm looking for an esay solution (without going to the dark side working with a stolen developmentkit)
My first idea was creating a special filter for the mplayer, which sends data to the I/O port of the smartxx. But this works not in all situations. So I must have access to the current visible image.
Second idea: Write a threaded python script which gets the image information e.g 3 times per second. Stripe out the color (please don't discuss about the algorythm) and send the some bytes via the I2C or Port or USB (a bad idea on the xbox) to a microcontroller which controls the led. Morphing from one color to the next, can be done on the controller.
But:
- Is theres a way to the the current visible image information from the renderer in python? (I found nothing)
- Lets think about a pyd. Can we do this without the xsdk? Accessing a xbmc function? The takeScreenshot does something similar.
- When not using the pwm, how to use the port. In led.c and util.c (e.g. outb() a small assembler routine) I've found enough information to access the ports of the smartxx. There is a datasheet from smartxx, which describes all the registers.
But how glue this together? I'm not shure, that a solution in python is possible. For the "getImage()" I've found no solution.
Simple solution, but driving this on the limited resources of the Xbox via Python seems a little bit Harakiry (Japaneese Suicide).
So maybe some of the old mans are interested to help me. I discussed the idea with a lot of people, but they are all interested, but no one have the skills to answer my question nor to give me some hints where to find documentations.
Consumtion:
- threading seems to work in xbox python?
- pyd / dll are possible to use in xbox python?
- pyd can access xbmc libs?
- Is there a way to get access to the current renderer from python
I hope I will find some people to figure out a solution. The hardware development (Interface, Drivers and the Leds) are a much more easier part. Porting some parts of the Atmolight are much more easy than developing part for the black box....
Peter