Posted: Sat Oct 21, 2006 10:30 pm Post subject: Trick to make Google Talk read your mp3s tags correctly
Hey,
So I'm using the lastest version of Google Talk, and a "customised" version of winamp. Because I have changed how winamp displays the title/artist of the current song gtalk incorrect reads my current music track.
What gtalk seems to do is read the artist and track from winamp's caption, and then open the mp3 file and read its ID3 tag for the album name. However I feel it should read everything from the ID3 tag (because it would always incorrect read my artist/track). So to acheive this I have hex edited google talk a little to read nothing from my winamp's caption, and then read everything from the ID3 tag.
I thought others may find this little hack useful, so if you are using version 1.0.0.96 or 1.0.0.98 you can change the following bytes (with a hex editor) in the main googletalk.exe:
P.S I was also thinking of writing a little app that pretended to be winamp but was actually a proxy between it and any other music playing device. That way google talk would query it and actually receive the data from another unsupported player (ie foobar, etc). Any comments/suggestions?
What exactly are you looking for? So far I've only looked in depth at winamp, but here is the order of events:
FindWindow( "Winamp v1.x" ) // Finds the winamp window
SendMessage( IPC_ISPLAYING ) // Finds if winamp is currently playing
SendMessage ( IPC_WRITEPLAYLIST ) // Tells winamp to write out its entire playlist to winamp's directory in a file called winamp.m3u.
// GTalk now queries the registry to find where your winamp path is
RegOpenKey( HKEY_CURRENT_USER \ Software \ Winamp )
//Now using the path it read from the registry it opens this file
Open ( <winamp path> \ winamp.m3u )
// It then parses that file, find the current mp3 you are playing
GetWindowText () // This line now reads the caption in winamp's window to infer as much info as possible.
ReadID3Tags ( mp3file ) // Now it opens the mp3 file and reads any remaining information.
When it reads the ID3 tag, I think it reads the ID3v1 tag first, then reads all the ID3v2 fields.
Also the very first FindWindow is done with some other window names as well, for example microsoft media player, and yahoo's player. I think this is a very simple test to determine which player you are using.
It was a few weeks ago when I did this and my memory is a little rusty, and I only recently posted this because I was hoping google would notice and require me not to have to do this little hack
If you need any more specific information I'll be happy to help.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum