Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support
Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support
Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support
Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support Windows 7, Vista & Linux Media Center Support


Go Back   Australian Media Center Community > XP Media Center 2005 > XP Media Center 2005 - Plugins & Addons > Other MCE Addons

Community Information

Reply
 
Thread Tools
Old 22nd April 2006, 08:19 PM   #1 (permalink)
Newbie
No Avatar
Status SwiftNomad is Offline:
ActivityPosts: 2
Reputation & Thanks Support Rating:
SwiftNomad
Points Earned: 10

SwiftNomad has been Thanked 0 times in 0 posts
Buildin' first plugin.

Hey!

I am goin' over the SDK for Media Center. Not a great c# developer but- I hope I make it.

Well, if you wanna beat me to it than it's ok. I'm just doin' it for me. =)

Listen to this perfect plug-in.

Remind me

You know where it say's- "record tv, series," well, how about you can get a pop-up to remind you that this show's about to start in "x" minutes.

What cha think??

SwiftNomad
  Reply With Quote
Old 22nd April 2006, 09:20 PM   #2 (permalink)
 
monster's Avatar
Status monster is Offline:
Location Sydney
ActivityPosts: 1,963
Reputation & Thanks Support Rating:
monster monster monster monster monster monster monster
Points Earned: 759

monster has been Thanked 19 times in 12 posts
Re: Buildin' first plugin.

http://www.xpmediacentre.com.au/comm...reminders.html

if u want to make it for a learning experience then certainly just to get a feel
__________________
Case: Sliverstone LC10B Motherboard: Abit AA8XE Processor: Intel P4 3G Video: Leadtek 6600GT TDH Extreme Memory: Kingmax 1G DDR2 533 Hard Drives: 2 x Maxtor SATA 200g NCQ Tuners: Dual AverTV DVB-T MCE Optical Drive: LG 4163BB DVD-R/W Software: Windows Vista MCE, Cyberlink HD Decoder, BladeRunner Pro v4, TheCollector, WebGuide 4, MovieMe Display: Sanyo Z2, 92" 16:9 Screen
  Reply With Quote
Old 26th April 2006, 07:24 PM   #3 (permalink)
Newbie
No Avatar
Status SwiftNomad is Offline:
ActivityPosts: 2
Reputation & Thanks Support Rating:
SwiftNomad
Points Earned: 10

SwiftNomad has been Thanked 0 times in 0 posts
Re: Buildin' first plugin.

Yes- but I still think it's a good choice. Ok, we're usin' three turners now but it still will be nice to have a reminder. What if you didn't hava alot of space or- just didn't want to record it. MCE should set a reminder. So- I guess that's where we come in. I like the idea when you goto the information you should be able to see what else is playing on that channel.
Yes Media Center really sweet.. but it's just missin' that extra touch.

Any more input on this?
  Reply With Quote
Old 28th April 2006, 04:41 PM   #4 (permalink)
MCE Journeyman
No Avatar
Status Ignorance is Offline:
ActivityPosts: 178
Reputation & Thanks Support Rating:
Ignorance
Points Earned: 63

Ignorance has been Thanked 0 times in 0 posts
Re: Buildin' first plugin.

I think it's a cute idea, particularly since I've only got the one decoder!

Don't expect it to be dead easy though. It's hard enough to get a happy HTML addin working, let alone something internal. You've got to sign your control and register it with the GAC - I'd seriously suggest starting from a copy of one of the sample programs, just to get the ugly stuff out of the way.
  Reply With Quote
Old 28th April 2006, 04:52 PM   #5 (permalink)

 
arkay's Avatar
Status arkay is Online:
Location Melbourne
ActivityPosts: 7,240
Reputation & Thanks Support Rating:
arkay arkay arkay arkay arkay arkay arkay arkay arkay arkay arkay
Points Earned: 1613

arkay has been Thanked 273 times in 213 posts
arkay's
Media Center
Re: Buildin' first plugin.

What would be really nice is a group effort working on a plugin for the purposes of simply learning how it all works..

Seem that everyone is very tight lipped about anything to do with MS development. Those that do know don't seem to want to share that knowledge.

So how about it? An open sourced dev project for an MCE plugin that we can all use to see how MS's nightmare dev studio and plugin model is held together?

Cheers,

Arkay.

P.S. Yes I have written a couple of programs to aid with MCE lacking but neither are plugins... and neither of them is a .net, visual studio or even C program.. So don't ask me for help.. But I'd be interested in following a tutorial style development with a purpose and discussion amongst a group of interested peoples
__________________

The box said 'Requires Windows XP or better' - so I installed Linux . . .
  Reply With Quote
Old 30th April 2006, 01:54 AM   #6 (permalink)
MCE Journeyman
No Avatar
Status Ignorance is Offline:
ActivityPosts: 178
Reputation & Thanks Support Rating:
Ignorance
Points Earned: 63

Ignorance has been Thanked 0 times in 0 posts
Re: Buildin' first plugin.

That's not really needed, is it? Microsoft already have a few excellent tutorials out there for writing background plugins and the samples come with a couple of foreground ones...all I'd like to see is a step-by-step tutorial that includes some of the areas the MS ones gloss over - mainly registering the controls etc.

But if you want a basic plugin to work from, there are a couple in the SDK. Or is there something about them you are having trouble with?
  Reply With Quote
Old 30th April 2006, 01:51 PM   #7 (permalink)

 
arkay's Avatar
Status arkay is Online:
Location Melbourne
ActivityPosts: 7,240
Reputation & Thanks Support Rating:
arkay arkay arkay arkay arkay arkay arkay arkay arkay arkay arkay
Points Earned: 1613

arkay has been Thanked 273 times in 213 posts
arkay's
Media Center
Re: Buildin' first plugin.

What I mean is that it would be good to see one built from the ground up. Including the language, syntax, structure of the language etc. Not just a "here is some code you can start with" type tutorial (which, if you've never done any oo programming, isn't of much use).

I guess what I'm saying is that I never see and code posted. No code segments with a discussion about what is going on etc etc. Seems you either know how to program C# or you don't..

Maybe it's just me, coming from a Unix background I find everything MS related in terms of development to be like reading Russian. But that has always been the case, ever since the 386. Everything Intel/MS just seems backwards to me. Which is why I'd like to see some nuts and bolts discussions.

From what I've looked at with Visual Studio 2005 you can't even follow simple program logic from start to end.. It just feels all wrong.

Maybe I'm just too old school but I'd like to write something in a text editor from start to finish. I need to know how and why everything is there and I can't learn to that extent with an IDE writing 90% of the code for me.

Cheers,

Arkay.
__________________

The box said 'Requires Windows XP or better' - so I installed Linux . . .
  Reply With Quote
Old 1st May 2006, 12:38 AM   #8 (permalink)
MCE Journeyman
No Avatar
Status Ignorance is Offline:
ActivityPosts: 178
Reputation & Thanks Support Rating:
Ignorance
Points Earned: 63

Ignorance has been Thanked 0 times in 0 posts
Re: Buildin' first plugin.

Sounds like you are OLD SCHOOL, procedural programming (console applications, rather than X11 stuff?). To be honest, C# shouldn't be horribly difficult to anyone who has used Java for UI - the trick is getting your head around the fact that everything in a Windows UI application is based on an EVENT driven mechanism. Windows (or the parent application, in MCE's case) will call your code when it is ready - you don't deal with when. It's dictated by either Windows, or your mouse.

If you look at Windows CONSOLE applications, they work like your good old A-B style procedural programs. You can write 'em in Visual Studio 2005 and they work fine. They have console output and work in a linear fashion. But once you are in an event powered world, everything changes.

If you don't even really know OO (what HAVE you been programming in? Most non-oo languages apart from classic C are dead now-adays!) you may be in a spot of bother. Most developers now are brought up on C++ and Java, the idea of a procedural language scares them.

But with your OO programming, Intellisense is your friend. If you are new to C#, spend some time learning the basics - do NOT jump in writing yourself an MCE addon. Just write a few hello-world style apps first to get your head around things.

C# isn't my greatest friend in the world. It's slow and clunky in many ways, but unlike some of MS's other attempts, it's fairly secure and it's surprisingly consistent - once you learn how to do something with a button or a list box, you should be able to use that method again and again will all other controls (which didn't happen with list boxes in the old MFC - different commands for different controls! Arrgh!)

I don't think you are going to get many people to build you a 'how to' on BOTH programming in C# AND writing an MCE addon. MCE is an advanced topic on the other - there are some nice tutorial sites out there for you to get a handle on the language, then you can progress to the more advanced stuff.

You are basically asking for ground-up instructions for building a castle. First, learn how to use your tools to build a kennel, then we can look at making something more impressive.
  Reply With Quote
Old 1st May 2006, 10:39 AM   #9 (permalink)
 
monster's Avatar
Status monster is Offline:
Location Sydney
ActivityPosts: 1,963
Reputation & Thanks Support Rating:
monster monster monster monster monster monster monster
Points Earned: 759

monster has been Thanked 19 times in 12 posts
Re: Buildin' first plugin.

PHP Code:
Console.WriteLine("amen...");

MessageBox.Show("amen..."); 
__________________
Case: Sliverstone LC10B Motherboard: Abit AA8XE Processor: Intel P4 3G Video: Leadtek 6600GT TDH Extreme Memory: Kingmax 1G DDR2 533 Hard Drives: 2 x Maxtor SATA 200g NCQ Tuners: Dual AverTV DVB-T MCE Optical Drive: LG 4163BB DVD-R/W Software: Windows Vista MCE, Cyberlink HD Decoder, BladeRunner Pro v4, TheCollector, WebGuide 4, MovieMe Display: Sanyo Z2, 92" 16:9 Screen
  Reply With Quote
Old 1st May 2006, 11:55 AM   #10 (permalink)

 
arkay's Avatar
Status arkay is Online:
Location Melbourne
ActivityPosts: 7,240
Reputation & Thanks Support Rating:
arkay arkay arkay arkay arkay arkay arkay arkay arkay arkay arkay
Points Earned: 1613

arkay has been Thanked 273 times in 213 posts
arkay's
Media Center
Re: Buildin' first plugin.

Haha... Serisouly. Hello world is a no brainer even in C#. The language itself is simple enough to read and yes, I understand event programming and oo, threading etc, they are not new concepts. Just that the implementation is.

The problem I find with MS development is that there appears to be a world of available code and not a very good way of finding what you need.

Even still I prefer to be able to follow program logic from start to finish and the code in Visual Studio just seems like spaghetti.

There has to be thousands of namespaces, pre-defined classes etc and for the life of me I sit down to write c# code and within 30 minutes I give up trying to even find what I need in order to get the job done. It's a nightmare.

Add to that the complexity of how MCE and the SDK ties in with it and one wonders if MS really want anyone developing anything.

The worst part is that they seem to have re-defined every data structure known to man. There still are int's (though there's a 100 different types etc), but it's not uncommon to pick up a piece of code and see 15 datatypes in there that you don't know what they are, or what they are made up of, and there appears to be know way of finding out.

It's the OLD SKOOL in me coming out. I don't like relying on what some other coder has provided (at least without an understanding of what it is and what it does). With MS many things are provided via API's but no real documentation exists on what, where and how it came into existence.

You just have to trust that they got it right and the vast majority of the time I don't.

Then if you try and get into DirectX well... I thought c# was a nightmare. The amount of crap you have to write to get a simple interface up on screen via Directx is rediculous. Then if you want to get to low level stuff, well.. Good luck, you need to be a good hacker to find the information you need.

I was going to write a directx plugin that would allow you to remove TV station logo's on live TV broadcasts. All I needed was access to the framebuffer memory. I eventually found what I needed in some discarded article written by hackers on how they "stumbled" across a method of accessing frame buffer memory on the graphics card via an undocumented feature. It really shouldn't be that hard. The API's are restrictive and I'm certain intentionally obfiscated. If MS don't want you doing it then you just aren't going to do it. That's not freedom of development to me.

Anyway.. Back to the original point which was that no-one seems willing to work on a combined project. We have the perfect forum here to do such a thing and it might prove interesting to many of our reader base worldwide and be a bit of fun as well?

At any rate it's only a suggestion. There is obviously a lot of complexity to writing MCE plugins evidenced by the small number of them that are actually any good.

Cheers,

Arkay.
__________________

The box said 'Requires Windows XP or better' - so I installed Linux . . .
  Reply With Quote
Old 1st May 2006, 12:56 PM   #11 (permalink)
MCE Guru
 
benneh's Avatar
Status benneh is Offline:
Location Canberra
ActivityPosts: 1,206
Reputation & Thanks Support Rating:
benneh benneh benneh
Points Earned: 258

benneh has been Thanked 18 times in 5 posts
Re: Buildin' first plugin.

I would classify myself as a hobbyist programmer, i don't code for a living but i do dabble on my own projects and have contributed core code to several open source projects like virtuemart, joomla, I have done a degree in IT which was at least 50% coding too, so though novice compared to many, I can still bang out the odd bit of code when I need to.

I share Arkay's sentiments, it is hard to find good documentation that expains how things work, much of the really useful stuff you find buried in some MVP dude's blog, an obscure forum reply etc, the formal documetation for APIs etc is usually brief to non existant and like I said I am no pro, but I should be able to figure out how to do simple things like add items to the media player database without trawling for hours for an answer all over the web (and once i found out how in 3 ines of code, it sh1!s me even more, as this isn't even documented clearly in the media player SDK).


Add to the fact that the MCE SDK is one of the worst of the worst and it is no wonder the third party plugins for MCE are pretty limited... i personally would like to see some kind of polished template which could be used to write MCE2005 plugins. For example something which handles stuff which are common to almost any plugin like a framework for accepting remote control buttons, handling dynamic resolutions, handles launching within MCE and restoring MCE post execution, etc etc. There is nothing like this, and I would be happy to contribute to developing something along these lines.

The vista plugin architecture looks good from what I have seen so far, visually at least it appears to offer some pretty powerful graphics abilities with far less effort that directX programming, and so my inspiration to write a plugin for 2005 is diminished even more as i'd rather wait for that platform to develop something in.
__________________

  Reply With Quote
Old 1st May 2006, 04:05 PM   #12 (permalink)
MCE Journeyman
No Avatar
Status Ignorance is Offline:
ActivityPosts: 178
Reputation & Thanks Support Rating:
Ignorance
Points Earned: 63

Ignorance has been Thanked 0 times in 0 posts
Re: Buildin' first plugin.

With VS, just remember - F1 is your friend Take a stab at the name of the object (although with the System namespace it's tricky!).

You haven't written any Java, have you. C# is very much Java inspired, and it uses a rats-nest of namespaces too.

It's all about cross-platform and secure development, but BOY is it ugly! And in Java, you have both int and Int - int is a fundamental type, while Int is a class. FUN! And if you want to convert an int to a String, you have to do it via an Int. Are you as confused as the rest of the class now?

DirectX - yeah, ugly. Although people have done exceptional things with writing dll-injections for directX that overlay information over an image (there's an excellent little app for teamspeak that overlays the name of the speaker ontop of the image) you really wanted to look at DirectShow FILTERS, not trying to access the framebuffer (Windows does NOT let you touch the framebuffer directly, only loosely through DirectX - it's job is to protect memory like that).

I'd be curious about a combined project, but I'm just too busy with my own (figuring out what's causing install problems in NowShowing is annoying!).
  Reply With Quote
Old 1st May 2006, 04:11 PM   #13 (permalink)

 
arkay's Avatar
Status arkay is Online:
Location Melbourne
ActivityPosts: 7,240
Reputation & Thanks Support Rating:
arkay arkay arkay arkay arkay arkay arkay arkay arkay arkay arkay
Points Earned: 1613

arkay has been Thanked 273 times in 213 posts
arkay's
Media Center