At TechEd this year, I gave what can only be described as an overly ambitious talk given I only had 45 minutes:

Coding4Fun: The Secrets to Programming YouTube, iTunes, Microsoft Zune, Windows Vista Peer-to-Peer APIs, and Even World of Warcraft

I say overly ambitious as YouTube, Vista P2P, and Warcraft could easily have been dedicated 75 minute sessions so covering all of them enough to be meaningful in 45 minutes was....a challenge. As promised, here's a quick recap of my slides and code. The full slide deck can be found here, and thanks everyone for showing up!

 

iTunes

  • Demo project shows using the iTunes COM library to play, pause, move backwards and forwards through tracks, and how to search your iTunes music collection
  • Download: Code in VB and C#

Slide3

Slide4

 

Peer-to-Peer using the Coding4Fun P2P Toolkit

  • The Coding4Fun P2P Toolkit includes samples that show off sharing images, files, audio, video and of course chat applications.
  • Download: Install the Toolkit as it includes code samples in VB, C#, Windows Forms, and WPF.
  •  

    Slide13

    Slide14

    Slide15

     

    World of Warcraft

    • The first WOW demo, WriteData, showed how .NET applications can share information with a Lua AddOn by updating an AddOns files or its saved variables. It effectively uses an AddOn's saved variables as a "communication bridge" that a .NET application can read or write to. The challenge here is that if you make a change to the saved variables, they will not be picked up by Warcraft until you reload the UI so it isn't an "instant" communication bridge.
    • The second WOW demo was where I showed AddOn Studio for World of Warcraft, which is a sweet (if I may say so myself) example of what you can do with the Visual Studio Shell to build a custom IDE for *anything*, including World of Warcraft. In the demo (you can see almost the same demo given at TechEd Europe), I show how to capture the PLAYER_TARGET_CHANGED and COMBAT_LOG_EVENT_UNFILTERED (the new 2.4 combat log) events. If the target changed, the code examines the level of the target and changes a Texture based on whether it's a lower, same, or higher level than me. For the combat log events, If there are multiple kill events within 15 seconds, it'll play some Halo audio clips.
    • Download: AddOn Studio sample projects

    Slide17

     

     

    Resources