I woke up at 5 a.m., but I was so cold that I had to crawl back into bed, and even though I kept waking up, I didn’t get up until 2:30 p.m. In the morning, before I gave up and stayed in my bunk, I was reading on DSD, but I didn’t find what I was looking for. By the way, the room I was in is the coldest one, because the heating doesn’t work in it – there simply isn’t any.
Then it was totally hot in bed again; only while writing this blog post did it occur to me that I might have a fever, but that wasn’t confirmed – I just measured a normal 36.55 °C. After waking up I found out that (surprisingly! 😀 ) there is no client for Google Music on WP. Since I had installed Visual C# for Windows Phone Express yesterday before going to bed, I told myself I would give one a try; if nothing else, it would be just for me once I can’t live without that phone.
From earlier attempts I knew that you can’t create a .NET assembly from Python – I had already confirmed that while making that program for moving my blog to Blogger. So I started rewriting it in C#, but I ended up exactly where I expected: I could still manage the rewrite somehow, but authenticating with Google, no way. I tried it with the .NET classes as well as with the classes from Google-Data, but it just didn’t work. But I don’t regret it, at least I got to know Python a bit better again.
So in the evening I searched again to see whether there was some way to create that dll from Python after all. I found 2 ways – either in SharpDevelop or via ipy.exe (the .NET compiler of IronPython, today PTVS). First I tried the option that looked easier at first glance, but it ended up just like before (I suddenly remembered) – some error I didn’t understand, and Google couldn’t tell me a single thing about it. The second way was via ipy.exe.
Without hesitation I started SunamoVisualStudio, modified it so it would also take .py files (the .pyproj projects weren’t necessary, it handled those by itself, it generally takes any type of project listed in the .sln file) and started the compilation. I still had to deal with the fact that I had moved the folder test, which contained mostly just multimedia files, but it hadn’t occurred to me that even though they are in the “test” folder, other files would reference them. I moved them back and, oh yeah, the compilation was successful:
Then I tried to import it into that Google Music client for WP, but uh-oh, it didn’t work, because WP works only with SilverLight assemblies and not with classic .NET ones. And there is no Interop route or anything like that. So this is as far as I got:

I tried to decompile that assembly, but as soon as the decompilation took longer than 5 s, it was clear to me how it would turn out. In the end it took almost 2 minutes and kept my processor at 100% the whole time:

I put it into Visual C#, but right away there were 67 errors:

It occurred to me that I could try to remove those bad characters (so far I only see $ there), so I did – but the number of errors climbed to a staggering 1500, so I told myself this wasn’t worth it.. The only thing that comes to mind is doing it through a web service, but that can again be quite slow, especially when a large number of people will be accessing it. But either way it goes over the net, so you don’t expect a response within milliseconds. And I feel like at least giving it a try, I don’t give up that easily when I’ve already come this far! 🙂
EDIT April 6, 2012:
So it doesn’t work through a web service either, because those methods contain a dollar sign and so VS doesn’t see them:

I also tried a program that was supposed to convert a .NET Assembly into a Silverlight Assembly, but it got stuck in a loop and kept reporting only “failure“:

Of course I also found more advanced, lower-level techniques for converting that assembly, but in my opinion it wouldn’t lead anywhere, since I couldn’t even load it as a classic .NET assembly.
