Enterprise Media Services

The more I understand about Windows Media Services 9, the more I like it. I especially like the fact that can create your own data source plug-in as part of a custom broadcasting solution. However, one quick gotcha – you can only use custom plug-ins with WS03 Enterprise Edition. Didn’t realize until I had built and configured my virtual media server and compiled the sample data source plug-in. Annoying, but not the end of the world.

Movie Times Web Service?

There are a wide variety of web pages to get movie times information. How about web services? My wife and I went to see a movie on Saturday (Eternal Sunshine of the Spotless Mind – loved it). On the way there, we got worried we weren’t going to make it in time. I figured I’d check if there was any other movies starting a little later in case we didn’t get there in time. Of course, I have my new Smartphone, so I wanted to use it. This turned out to be much more difficult than it should have been.

MSN Mobile entertainment section was useless – lottery and horoscope only. There don’t seem to be many sites tuned for smartphone access. TV Guide has a smartphone site - in case I want to check what’s on TV while I’m out?

I want a program that downloads local theatre movie times into my phone. Not too much to ask. In fact, I’d write it myself and give it away if there was a simple source for the data. However, for all the movie time sites, I can’t find a web service or even a source for the raw data.

Is there a movie times web service that I just don’t know about? If there isn’t where do the movie sites get their movie times data and how can I get a copy?

Broadcasting Music

The first thing I need for my DJ idea is to be able to broadcast content. This means a variety of things, but first and foremost is music. The  RIAA provides special webcasting licenses as long as the webcaster meets specific criteria. (I’m guessing I’ll have to talk to our legal dept. before I actually broadcast any music). The criteria is pretty acceptable – I could easily build a bot that streams music 24/7 from my own ripped CD collection in accordance with the RIAA’s criteria.

Of course, all that ripped music is on my personal home machine and I have no interest in copying it all up to my media server. What I really want to do is broadcast from my home machine to the server, which in turn broadcasts to potential listeners. From what I understand, I need to use the Windows Media Encoder (or an app built with the WMEncoder SDK) to push media to the server for rebroadcast. No problem – building a bot to do that should be no big deal. Except that it is a big deal.

WMEncoder can only work with two sources of media (not including screen captures, HTML and script which are not applicable to this post) files and devices. Since I’m mixing together the contents of multiple files, I can’t use a single file as a source. Which means a device. The problem lies in the fact that audio apps are designed to write to audio rendering devices (like the sound card) not to audio capture devices. What I need is a audio “loopback” device that takes the audio sent to the virtual audio rendering device and sends it directly to the virtual audio capture device. Thus, the output of the bot is fed as input into the encoder. So far, I’ve found Virtual Audio Cable from NTONYX that looks like it will do the trick (I actually dug out the windows driver book and entertained very brief thoughts of building my own, but in the end, I’d rather just spend the $50 for VAC).

I’m not sure if I’m going to use DirectSound or DirectShow to build my broadcast bot. I’m leaning towards DirectShow since it seems more suited to this sort of problem (even though it is the only piece of DirectX w/o a managed wrapper). I just wish there was a Windows Media Broadcast rendering filter that didn’t require the use of VAC or the encoder.

Anyone out there have any experience with DirectShow?

It’s all a Platform

I used to say that everything we build should be a platform except for games. What’s interesting is that games are becoming platforms in their own right. Dungeon Siege has the freely downloadable Siege Editor which allows you to “rework nearly every aspect of the gaming world, making Dungeon Siege not only a game, but also a platform for those who wish to create their own spells, dungeons, and even entire worlds.” There are several projects that do just that. And Dungeon Siege II is coming later this year, which looks amazing (all trailer graphics were rendered with the game engine). If RTS is more your speed, Relic – developers of Impossible Creatures – has their developer network which provides both a companion tool for enhancing Impossible Creatures as well as the Impossible Creatures SDK “which includes source code from the IC engine that can be used to create Total Conversion Mods for IC” (Relic Developer Network requires registration). Of course, there’s also the Allegiance source code which was released a few months ago.

I guess the new viewpoint is that everything we build should be a platform, including games.

Code is Real

After several weeks of using NewsGator’s online services to read blogs, I’m finally got app reinstalled (machine switching and paving – you know the drill). While the web-based reader is nice in a pinch, it’s not as convient as the Outlook-based reader, so I got way behind on blog reading (which is partly why I’ve been behind on blog writing). So there may be a few things that made the rounds in the past few weeks that I’m only getting to now. Like this.

True.