August 2005 - Posts
I decided to do a slight upgrade on the plugin because of some feedback from Google's Plug-in auditing department and a few users. Google indicated two important things to me:
1. The events should be based on a single click, and not a double. This has been rolled into this release. I just had to work with the "OnDetailsView" method instead of the "OpenItem" method.
2. The second issue they had is with its memory footprint. When it is loaded it consumes about 8MB of memory, and after some quick researching I found that this is pretty much normal and I dont belive there is going to be any way around this. I even went so far as to compile and install their own sample which ships with the SDK, and it also has the footprint. It appears that the first load is about 8 to 9MB, and then each additional (.Net) plugin adds about another 1 to 2MB.
On top of those two items, I also added:
1. Some pretty little icons next to the buttons in the Sidebar (embedded resources for now)
2. Support for ID Tags in the details view for MP3 (IDV1 and MPEG tags),
3. I had some OGG tag reader sitting around so I put that in as well but with the lack of OGG files with actual completed tags it was hard to test.
4. I threw in some generic links for "Lyrics" and "Purchase" (Amazon). I had hoped to actually make these links to jump out to the browser but dont have time to push things that far yet (wait for V1.2 maybe?) so you can just copy and paste.
5. The Details View has a "Remove" button (bottom right), which effectively removes the current item right out of the play list.
6. Added a Mute button (Toggle).
The Open Source question is something that I have been asked many times. To clerify, I do plan on opening it up once Google and I can agree that the plug-in is ready for production and they actually accept it. I dont want to put out a partial build to you folks which Google will not allow.
Download here!
"A CodeCamp is a community-driven, all-day event for developers. Speakers are local or regional developers. Topics are based on community interest. Sessions are original and feature a heavy technical focus (no marketing fluff). And best of all, it is FREE!" (http://blog.funknstyle.com/archives/000749.html)
Is it going to happen at or near the Vancouver region (if at all)!? What can I do to help?
For those that love Windows Media Player and not Winamp I threw together a Google Plug-in just for you!
I also decided to simply release these plug-ins on my own and not wait for google to approve/disapprove of them. They are taking too long.
So get all of my plug-ins here while you can!
The WMP plugin was developed on Windows 2003, with WMP version 10. If your running some other platform or version of WMP I cant gurantee that it works. If you have downloaded it and do have a different OS/WMP version installed please let me know by posting feedback below.
If I can control Winamp from Google Desktop why not some of the lights and other devices in my house as well?
Most recent screen shot of my working X10 Plugin for Google Desktop. You can setup and name all of your House/Device combo's to whatever you like, then double click in the Sidebar and it will send the relevant command.
Once I get it to a respectable state I plan to submit it to Google officially.
Pretty cool site which combines both Google Maps and MS's Virtual Earth on a single page.
http://www.jonasson.org/maps/
Use the controls on the right map (Google) to control the zoom/panning of the maps.
Lets all just ignore Google's new Talk service; maybe it will just go away.
Just another account to manage just so I can talk to a few of those stuck on that single protocol.
Side note: The only reason why I continue to stay on ICQ these is because my sister has decided to not make the switch to MSN for whatever reason.-- Luckily I use Gaim, which supports all the top guys, plus Jabber (Googles choice of protocols).
Google I dont mind your desktop sidebar, I dont mind your email, but dont bother polluting the IM space with another Jabber server. Come into the game with something more exciting.
Yesterday I submitted my first Plugin for GD - .NET/C# of course. It has basic the controls: play/pause/stop/next/prev and displays the title of the track currently playing. I think the hardest part was to get the installer working right. Now that I look back it was quite simple I was just looking at all the wrong places.
All I did was take their SamplePlugin project and ripped out 90% of it, and stuff it some basic Winamp control features.
One thing I did not like and, for the life of me, could not see how to have the items in the list respond to a single click instead of a double click. Thus, in order to do anything with it you have to double click the items. If Google ever approves of it, and it is put online on their site, I will repost the URL...If your really excited and want it right now, send me some feedback and I can forward you my internal URL for it.
The Big Gotcha's:
1. Adding Google's references: GoogleDesktopAPILib, and GoogleDesktopDisplayLib. Make sure you have specified a "Wrapper Assembly Key File" to your plugin project PRIOR to adding those references. Oh yes, that does imply that you have to use "sn" to generate the key file before. You also do not need to have their C++ project included in your plugin solution. Just the references of course.
2. Create a Plugin Installer class:
using
System; using
System.Runtime.InteropServices; namespace
GoogleDesktopScreenCapture { [System.ComponentModel.RunInstaller(
true)] public class PluginInstaller : System.Configuration.Install.Installer { public PluginInstaller() { }
public override void Install(System.Collections.IDictionary stateSaver) { base.Install (stateSaver); RegistrationServices regsrv =
new System.Runtime.InteropServices.RegistrationServices(); if(!regsrv.RegisterAssembly(this.GetType().Assembly,System.Runtime.InteropServices.AssemblyRegistrationFlags.SetCodeBase)) { throw new System.Exception("Failed to register object"); }
}
public override void Uninstall(System.Collections.IDictionary savedState) { base.Uninstall (savedState); RegistrationServices regsrv =
new RegistrationServices(); if(!regsrv.UnregisterAssembly(this.GetType().Assembly)) { throw new System.Exception("Failed to unregister object"); }
}
}
}
You can copy that exact class above, no changes are needed as long as it is in the same assembly as your actual plugin. Now, in your installer open the "Custom Actions" and add the "Primary Output" to both the Install and Uninstall sections and be sure to set the "InstallerClass" to true in the properties on the newly added nodes.
3. You dont need to stuff anything in the GAC, unless maybe you have other assemblies which your stuff is using. My entire plugin consist of a single DLL which I allowed for the default install to happen.
If you have any problems getting your .NET GD Plug-ins working feel free to use the feedback and I can try to solve some of them with you...
I downloaded the GD_SDK and it has a sample project for C# with all the necessary import goop all done for us.
Google Desktop
Plugin SDK
Did you know that the free Ajax library from Michael Schwarz works with Linux as a client (in FireFox)?
Check out the screen shot.
That is Damn Small Linux (DSL) running withing Virtual PC, which has FireFox running and is consuming the Ajax samples which Michael has up on his site. Notice it is not doing anytihng special regarding the MSXML objects.
More info: [link] [link] [link] [link] [link]
DSL also has another default browser, Dillo. I tried that, but with no luck. I get a javascript error as expected.
Bottom line. If your exposing Ajax on your site make sure to check the compatibility of your target client browser.
Yes, you read the title correctly. The Advertisement FLOATED on by my window at work, which overlooks English Bay.

I've been told its one of the first in North America.
EDIT: Its actually not English Bay nor Coal Harbour but the Burrard Inlet.
More Posts
Next page »