[RELEASE] XbmcExternalPlayerController Application for Windows
#1
Thumbs Up 
XbmcExternalPlayerController
For Windows only!

Explication on how it works:
This application is a preconfigured package of multiple open source video players.
When xbmc launch the external player the application will locate your keymap.xml and
parse every key you got from the <global> and <FullscreenVideo> node in the keymap and will
hook them to the player. This version only have the keyboard function working. But im planing
on adding the joystick and remotes key too.

In this version only those keys are working for this version
-play
-pause
-stop
-volumedown
-volumeup
-mute
-stepforward
-stepback
-smallstepback
-smallstepforward
-bigstepforward
-bigstepback
Only Media Player Classic - Homecinema is integrated in the package
Im planning on adding
Media Player Classic - Homecinema http://forum.doom9.org/showthread.php?t=123537
mplayer http://www.mplayerhq.hu/design7/news.html
vlc http://www.videolan.org
and maybe smplayer if i get a lot of request for adding it into the package.

Instructions:
You need to set modify your advancedsettings.xml. If you dont know what is this file goto http://wiki.xbmc.org/?title=Advancedsettings.xml
you have an example of how the file should looks like in the Instructions directory.
Everything else is handled by the application. Its locating the keymap.xml on his own.

Download Link:

XbmcExternalPlayerController Rev.1

External links to everything i used to build this:
http://forum.doom9.org/showthread.php?t=123537
http://www.mplayerhq.hu/design7/news.html
http://www.videolan.org
ManagedWinapi http://mwinapi.sourceforge.net/
Reply
#2
Hi,

i used to try your program but when he starts to load the externalplayer .net framework gets an error and aborts.

Here is the (germany) errorlog:

Code:
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei XbmcExternalPlayerController.KeyMap.loadWindow()
   bei XbmcExternalPlayerController.frmStarter.loadKeyMap(String keymappath)
   bei XbmcExternalPlayerController.frmStarter.frmStarter_Load(Object sender, EventArgs e)
   bei System.EventHandler.Invoke(Object sender, EventArgs e)
   bei System.Windows.Forms.Form.OnLoad(EventArgs e)
   bei System.Windows.Forms.Form.OnCreateControl()
   bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   bei System.Windows.Forms.Control.CreateControl()
   bei System.Windows.Forms.Control.WmShowWindow(Message& m)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei System.Windows.Forms.ContainerControl.WndProc(Message& m)
   bei System.Windows.Forms.Form.WmShowWindow(Message& m)
   bei System.Windows.Forms.Form.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Geladene Assemblys **************
mscorlib
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3082 (QFE.050727-3000).
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------
XbmcExternalPlayerController
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: file:///C:/Programme/XBMC/XbmcExternalPlayerController/XbmcExternalPlayerController.exe.
----------------------------------------
Microsoft.VisualBasic
    Assembly-Version: 8.0.0.0.
    Win32-Version: 8.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
----------------------------------------
System
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
System.Windows.Forms
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System.Drawing
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
System.Runtime.Remoting
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
----------------------------------------
System.Xml
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3082 (QFE.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll.
----------------------------------------
mscorlib.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3082 (QFE.050727-3000).
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
----------------------------------------
System.Windows.Forms.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt.
Reply
#3
tiben20 can you upload the version for tmt3 and virtual clone drive?
Reply
#4
Moved to windows - as it is windows only
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#5
@BoLzI:Are you trying to use it when xbmc is running.This application is only made for the use of xbmc external player.

@csmcdem:For tmt3 That would be a big peace of code since i have no clue how i could match the keymaping for tmt3. And i was planning to only make this for free external players.

and to let everybody know im currently building the mplayer branch of this application
Image you actually cant see the video pictures becasue its a print screen but you see the design of the osd. Which for now is working great only need to fix some fix with seeking when you click on the progress bar. And some behavior with mplayer stdout. It appears that you dont have the same decimal . for every country some use , and some others use a dot.!
Reply
#6
May I suggest you consider GOMPlayer is by far the best player I've seen in terms of video quality and format support.
If you think I'm useful please use the +/- button to raise my reputation
Reply
#7
I run XBMC and when i want to watch a movie my external Player (MPC_HC) should get started and then the error log is shown.
Reply
#8
mfsav2 Wrote:May I suggest you consider GOMPlayer is by far the best player I've seen in terms of video quality and format support.

... not likely a true statement

Considering every player that uses 3rd party codecs, unless they screw up something and they degrade the video, will look exactly the same since they should not be touching the video output at all.
I'm not an expert but I play one at work.
Reply
#9
tiben20 Wrote:@csmcdem:For tmt3 That would be a big peace of code since i have no clue how i could match the keymaping for tmt3. And i was planning to only make this for free external players.

i was talking about the one you gave to jondr13 at this post:
http://forum.xbmc.org/showthread.php?p=3...post348546

it's no longer on mediafire
thanks
Reply
#10
@Livin: I started with mpc-hc because you have the dxva renderer with this one which if you have the video card to handle it a really good media player
@csmcdem:oh i see ill make some work on it when i have the time. I didnt know some people were interested in updates of this application
Reply
#11
tiben20,
you probably meant that @ to mfsav2 - I use mpc-hc myself daily.

QUESTION: are you planning to make this a patch for XBMC and submit to SVN?

I hope you do... this would be a great addition as native code that could have 'plug-ins' to handle 3rd party players.

I think you are on a great track here!
I'm not an expert but I play one at work.
Reply
#12
@Livin Its just a .net application which use the xbmc external player.
I was thinking about making some modification to the externalplayer of xbmc to make possible the use of WM_COPYDATA. This would make possible to parse information from the .net external player extension too xbmc. This would be a nice piece of code to make this possible. Ill give it a try and see if i got the skills to make this possible!
Reply
#13
csmcdem your talking about this one ?
http://www.mediafire.com/?tdliimg2mjm
Reply
#14
I tried your app but cannot get it to work...

Code:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at XbmcExternalPlayerController.KeyMap.loadWindow()
   at XbmcExternalPlayerController.frmStarter.loadKeyMap(String keymappath)
   at XbmcExternalPlayerController.frmStarter.frmStarter_Load(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3082 (QFE.050727-3000)
    CodeBase: file:///c:/WINDOWS.0/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
XbmcExternalPlayerController
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/XBMC-EPC/XbmcExternalPlayerController.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS.0/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS.0/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS.0/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS.0/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/WINDOWS.0/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3082 (QFE.050727-3000)
    CodeBase: file:///C:/WINDOWS.0/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
I'm not an expert but I play one at work.
Reply
#15
tiben20 Wrote:csmcdem your talking about this one ?
http://www.mediafire.com/?tdliimg2mjm

yep, the link in that post doesn't work, but this does. thanks for a working one
Reply

Logout Mark Read Team Forum Stats Members Help
[RELEASE] XbmcExternalPlayerController Application for Windows0