INTERACT FORUM
Windows => Plug-in Development => Topic started by: mi5 on August 10, 2004, 09:51:30 pm
-
Is anyone writing code for MC in C#? I'd love to see
a simple example of external 'out of proc' control using
C# or even VB.NET.
Is the MCIO dll still required for doing this?
-
I have been working on a C#-based web server as an interface plug in. It's purpose is to expose the entire COM API via HTTP. It's almost finished (alpha probably completed tonight). It's at:
http://cvs.sourceforge.net/viewcvs.py/sageplugins/MC/HTTP/
I honestly don't know what MCIO dll is, so I can't really answer your question.
-
No MCIO is no longer required.
-
No MCIO is no longer required.
It appears that it might still be required for use with .NET.
Out-of-proc test programs run once, but bomb the next time
they are exec'd. At least this is the case for v10. Has
this changed with the v11 betas?
I'd also like to find out if custom ID3 fields can be retrieved
via the COM interface. They are present in exported XML,
but don't appear via the IMJFilesAutomation interface.
Matt? Anyone?
-
I've had issues where MC wasn't shutting down cleanly when launched through Automation. Next time you are ready to try the 2nd run to see if it bombs, check your task manager just prior and see whether MediaJukebox.exe is in there.
Since .Net has a different memory management scheme than COM, you may need to tinker with the release and shutdown stuff.
-
I've had issues where MC wasn't shutting down cleanly when launched through Automation. Next time you are ready to try the 2nd run to see if it bombs, check your task manager just prior and see whether MediaJukebox.exe is in there.
Since .Net has a different memory management scheme than COM, you may need to tinker with the release and shutdown stuff.
Oops...Not sure why that last message posted before I had
a chance to edit it.
Good idea about the task manager. MCIO doesn't need to
unload and reload MC, and I expected that MC's direct access method would also use the currently loaded MC instance.
Yeah, it's difficult to tell when .NET gives back references,
and I thought that could be part of it. But I also tried waiting
a while to give the mem manager time to clean up.
It would be nice to have an actual MediaCenter .NET assembly
rather than a wrapper around the COM object.
to
-
It sounds like you'd like to always bind to an existing instance of MC rather than create your own. If that is the case, then I think what you need is .Net's equivalent of VB's GetObject method: Marshal.BindToMoniker:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemRuntimeInteropServicesMarshalClassBindToMonikerTopic.asp
-
This project sounds really interesting, any developments?
-
Based on your other thread about remote control I suspect that you are talking about my project. If that is the case then yes, I've completed a first draft of the HTTP server. I'm still working out the final touches on client library that I will release for .Net and Java. The client libraries are meant to hide the ugliness of the HTTP interface from the actual client apps.
If, on the other hand, you're not talking about my project, then sorry for the noise.