2014-06-18, 18:42
I'm going to build a simple LED Strobe which connects through an emulated serial port to the computer.
So you can simply turn on/off the first pin of the emulated serial port to turn the LEDs on/off.
Now I'm looking for a way make XBMC send information about the current seek position / song title to an external application that I would write, that controls the strobe's flashing frequency.
Is there any interface like that?
If not I could probably read the information from XBMC using ReadProcessMemory. Tough I would need to know in what way the time is stored in the memory. (seconds/milliseconds/string... integer/long/float/double...)
edit:
I tried to reverse engineer it, but I couldn't figure it out so far. the time is in the memory as string in the xx:xx:xx format, but it's only updated if the ui the the seekbar is visible. For the raw time I can just guess for now, but it looks like XBMC saves a time in an address when a new song starts and the songtime is stored as startTime+currentSongtime.
It would be nice if a developer could confirm that.
edit2:
I think I found the time, but it's really weird it seems to be a float that inversely proportional increases. It always starts at about -3 and instantly jumps to about 4, then to 5 and then it takes like 6 seconds to get to 6 and 20 secs to get to 7 etc. I don't really understand it, it's confusing...
So you can simply turn on/off the first pin of the emulated serial port to turn the LEDs on/off.
Now I'm looking for a way make XBMC send information about the current seek position / song title to an external application that I would write, that controls the strobe's flashing frequency.
Is there any interface like that?
If not I could probably read the information from XBMC using ReadProcessMemory. Tough I would need to know in what way the time is stored in the memory. (seconds/milliseconds/string... integer/long/float/double...)
edit:
I tried to reverse engineer it, but I couldn't figure it out so far. the time is in the memory as string in the xx:xx:xx format, but it's only updated if the ui the the seekbar is visible. For the raw time I can just guess for now, but it looks like XBMC saves a time in an address when a new song starts and the songtime is stored as startTime+currentSongtime.
It would be nice if a developer could confirm that.
edit2:
I think I found the time, but it's really weird it seems to be a float that inversely proportional increases. It always starts at about -3 and instantly jumps to about 4, then to 5 and then it takes like 6 seconds to get to 6 and 20 secs to get to 7 etc. I don't really understand it, it's confusing...