Media Player Classic

Questions and comments specific to a particular plugin should go here.
Post Reply
molitar
Experienced User
Posts: 168
Joined: Fri Sep 11, 2009 6:44 am

Re: Media Player Classic

Post by molitar » Sun Jun 16, 2013 12:53 am

abuttino wrote:Any luck on getting this to work with mpc-be?
Never tried MPC-BE as MPC-HC is used by CCCP pack. I will try it and see if it works with MPC-HC or not.

I'll include the code from a copy of the MediaPlayer Classic that I use for my code.

Code: Select all

<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1572">
    <Folder Name="Media Player Classic" id="25" Expanded="True">
        <Folder Name="Main controls">
            <Folder Name="Volume Controls">
                <Macro Name="Volume Up">
                    <Event Name="DXusbPCR.Num2" />
                    <Event Name="DXusbPCR.Up_arrow" />
                    <Action>
                        EventGhost.NewJumpIf(XmlIdLink(119), 2, True)
                    </Action>
                    <Action>
                        MediaPlayerClassic.VolumeUp()
                    </Action>
                    <Action Name="Python Script">
                        EventGhost.PythonScript(u'from eg.WinApi.Dynamic import SendMessage\nTBM_GETPOS = 1024\nFind_MPC_Volume_Ctrl=eg.WindowMatcher(u\'mpc-hc.exe\', None, u\'MediaPlayerClassicW\', None, u\'msctls_trackbar32\', 1, True, 0.0, 0)\n\nhwnd = Find_MPC_Volume_Ctrl()\n\nif len(hwnd) > 0:\n    if eg.globals.WindowsState == "Fullscreen":\n        mon = 1\n        top = 900\n    else:\n        mon = 2\n        top = 600\n    volume = SendMessage(hwnd[0], TBM_GETPOS, 0, 0)\n    osd = "Volume: %i%%"\n    if volume == 1 : volume = 0\n    eg.plugins.EventGhost.ShowOSD(osd % volume, u\'0;-64;0;0;0;700;0;0;0;238;3;2;1;66;Arial\', (255, 255, 255), (0, 0, 0), 5, (0, top), mon, 3.0, True)\nelse:\n    print "Window not found"')
                    </Action>
                    <Action>
                        EventGhost.AutoRepeat(0.5, 0.20000000000000001, 0.029999999999999999, 0.0)
                    </Action>
                </Macro>
                <Macro Name="Volume Down">
                    <Event Name="DXusbPCR.Num8" />
                    <Event Name="DXusbPCR.Down_arrow" />
                    <Action>
                        EventGhost.NewJumpIf(XmlIdLink(119), 2, True)
                    </Action>
                    <Action>
                        MediaPlayerClassic.VolumeDown()
                    </Action>
                    <Action Name="Python Script">
                        EventGhost.PythonScript(u'from eg.WinApi.Dynamic import SendMessage\nTBM_GETPOS = 1024\nFind_MPC_Volume_Ctrl=eg.WindowMatcher(u\'mpc-hc.exe\', None, u\'MediaPlayerClassicW\', None, u\'msctls_trackbar32\', 1, True, 0.0, 0)\n\nhwnd = Find_MPC_Volume_Ctrl()\n\nif len(hwnd) > 0:\n    if eg.globals.WindowsState == "Fullscreen":\n        mon = 1\n        top = 900\n    else:\n        mon = 2\n        top = 600\n    volume = SendMessage(hwnd[0], TBM_GETPOS, 0, 0)\n    osd = "Volume: %i%%"\n    if volume == 1 : volume = 0\n    eg.plugins.EventGhost.ShowOSD(osd % volume, u\'0;-64;0;0;0;700;0;0;0;238;3;2;1;66;Arial\', (255, 255, 255), (0, 0, 0), 5, (0, top), mon, 3.0, True)\nelse:\n    print "Window not found"')
                    </Action>
                    <Action>
                        EventGhost.AutoRepeat(0.5, 0.20000000000000001, 0.029999999999999999, 0.0)
                    </Action>
                </Macro>
                <Macro Name="Volume Mute">
                    <Action>
                        MediaPlayerClassic.VolumeMute()
                    </Action>
                </Macro>
            </Folder>
            <Macro Name="Quit Application" id="44">
                <Action>
                    MediaPlayerClassic.Exit()
                </Action>
            </Macro>
            <Macro Name="Play/Pause">
                <Event Name="DXusbPCR.Play/Pause" />
                <Action>
                    MediaPlayerClassic.PlayPause()
                </Action>
            </Macro>
            <Macro Name="Stop">
                <Event Name="DXusbPCR.Stop" />
                <Action>
                    MediaPlayerClassic.Stop()
                </Action>
            </Macro>
            <Macro Name="Jump Forward Medium">
                <Event Name="DXusbPCR.Page+" />
                <Action>
                    MediaPlayerClassic.JumpForwardMedium()
                </Action>
                <Action>
                    EventGhost.AutoRepeat(0.5, 0.20000000000000001, 0.029999999999999999, 0.0)
                </Action>
                <Action>
                    EventGhost.FlushEvents()
                </Action>
            </Macro>
            <Macro Name="Jump Backward Medium">
                <Event Name="DXusbPCR.Page-" />
                <Action>
                    MediaPlayerClassic.JumpBackwardMedium()
                </Action>
                <Action>
                    EventGhost.AutoRepeat(0.5, 0.20000000000000001, 0.029999999999999999, 0.0)
                </Action>
                <Action>
                    EventGhost.FlushEvents()
                </Action>
            </Macro>
            <Macro Name="Jump Forward Large">
                <Event Name="DXusbPCR.>>" />
                <Action>
                    MediaPlayerClassic.JumpForwardLarge()
                </Action>
                <Action>
                    EventGhost.AutoRepeat(0.5, 0.20000000000000001, 0.029999999999999999, 0.0)
                </Action>
                <Action>
                    EventGhost.FlushEvents()
                </Action>
            </Macro>
            <Macro Name="Jump Backward Large">
                <Event Name="DXusbPCR.<<" />
                <Action>
                    MediaPlayerClassic.JumpBackwardLarge()
                </Action>
                <Action>
                    EventGhost.AutoRepeat(0.5, 0.20000000000000001, 0.029999999999999999, 0.0)
                </Action>
                <Action>
                    EventGhost.FlushEvents()
                </Action>
            </Macro>
            <Macro Name="Next">
                <Event Name="DXusbPCR.>|" />
                <Action>
                    Window.FindWindow(None, None, u'MediaPlayerClassicW', None, None, None, False, 0.0, 0)
                </Action>
                <Action>
                    MediaPlayerClassic.UserMessage(u'922')
                </Action>
            </Macro>
            <Macro Name="Previous">
                <Event Name="DXusbPCR.|<" />
                <Action>
                    Window.FindWindow(None, None, u'MediaPlayerClassicW', None, None, None, False, 0.0, 0)
                </Action>
                <Action>
                    MediaPlayerClassic.UserMessage(u'921')
                </Action>
            </Macro>
            <Macro Name="Frame Step">
                <Event Name="DXusbPCR.Num6" />
                <Event Name="DXusbPCR.Right_arrow" />
                <Action>
                    Window.FindWindow(None, None, u'MediaPlayerClassicW', None, None, None, False, 0.0, 0)
                </Action>
                <Action>
                    MediaPlayerClassic.FrameStep()
                </Action>
                <Action>
                    EventGhost.AutoRepeat(0.29999999999999999, 0.10000000000000001, 0.0, 60.0)
                </Action>
            </Macro>
            <Macro Name="Frame Step Back">
                <Event Name="DXusbPCR.Num4" />
                <Event Name="DXusbPCR.Left_arrow" />
                <Action>
                    Window.FindWindow(None, None, u'MediaPlayerClassicW', None, None, None, False, 0.0, 0)
                </Action>
                <Action>
                    MediaPlayerClassic.FrameStepBack()
                </Action>
                <Action>
                    EventGhost.AutoRepeat(0.29999999999999999, 0.10000000000000001, 0.0, 60.0)
                </Action>
            </Macro>
            <Macro Name="Go To">
                <Action>
                    MediaPlayerClassic.GoTo()
                </Action>
            </Macro>
            <Macro Name="If button is held down 2.0 sec, go to: Quit Application">
                <Event Name="DXusbPCR.Close" />
                <Action>
                    EventGhost.JumpIfLongPress(2.0, XmlIdLink(44))
                </Action>
            </Macro>
        </Folder>
        <Folder Name="View modes">
            <Folder Name="Display Toggles">
                <Macro Name="Toggle Maximize">
                    <Event Name="DXusbPCR.Num7" />
                    <Event Name="DXusbPCR.Open" />
                    <Action>
                        EventGhost.NewJumpIf(XmlIdLink(119), 2, True)
                    </Action>
                    <Action>
                        Window.FindWindow(None, None, u'MediaPlayerClassicW', None, None, None, False, 0.0, 0)
                    </Action>
                    <Action>
                        EventGhost.PythonScript(u'from eg.WinApi.Dynamic import GetWindowLong, ShowWindow, SW_RESTORE, SW_MAXIMIZE, SW_MINIMIZE\nfrom win32gui import SetWindowPos\nfrom ctypes import windll\n\n# Check that we have a window to try to maximize/restore\n# Use Find Window action before this script!\nif eg.globals.WindowsState != "Fullscreen":\n    if len(result) > 0:\n        # Check if WS_MAXIMIZE bit is set\n        if(GetWindowLong(result[0], -16) & 0x01000000):\n            eg.plugins.EventGhost.ShowOSD(\'Maximized \' + eg.WinApi.GetWindowText(eg.result[0]), None, (255, 255, 255), (0, 0, 0), 0, (0, 0), 0, 3.0, None)\n            ShowWindow(result[0], SW_RESTORE)\n            eg.plugins.MediaPlayerClassic.ViewNormal()\n            #Script Unhide Taskbar\n            eg.plugins.Taskbar.SetAutohideOff()\n        else:\n            eg.plugins.EventGhost.ShowOSD(\'Maximized \' + eg.WinApi.GetWindowText(eg.result[0]), None, (255, 255, 255), (0, 0, 0), 0, (0, 0), 0, 3.0, None)\n            eg.plugins.Taskbar.SetAutohideOn()\n            eg.plugins.MediaPlayerClassic.ViewMinimal()\n            ShowWindow(result[0], SW_MAXIMIZE)\n            #Script Hide Taskbar\n')
                    </Action>
                </Macro>
                <Macro Name="Toggle Minimize">
                    <Event Name="DXusbPCR.Num1" />
                    <Event Name="DXusbPCR.Tab" />
                    <Action>
                        EventGhost.NewJumpIf(XmlIdLink(119), 2, True)
                    </Action>
                    <Action>
                        Window.FindWindow(None, None, u'MediaPlayerClassicW', None, None, None, False, 0.0, 0)
                    </Action>
                    <Action>
                        EventGhost.PythonScript(u'from eg.WinApi.Dynamic import GetWindowLong, ShowWindow, SW_RESTORE, SW_MAXIMIZE, SW_MINIMIZE\n   \n# Check that we have a window to try to minimize/restore\n# Use Find Window action before this script!\nif eg.globals.WindowsState != "Fullscreen":\n    if len(result) > 0:\n    # Check if WS_MINIMIZE bit is set\n        if(GetWindowLong(result[0], -16) & 0x20000000):\n            eg.plugins.EventGhost.ShowOSD(\'Minimized \' + eg.WinApi.GetWindowText(eg.result[0]), None, (255, 255, 255), (0, 0, 0), 0, (0, 0), 0, 3.0, None)\n            ShowWindow(result[0], SW_RESTORE)\n        else:\n            eg.plugins.EventGhost.ShowOSD(\'Maximized \' + eg.WinApi.GetWindowText(eg.result[0]), None, (255, 255, 255), (0, 0, 0), 0, (0, 0), 0, 3.0, None)\n            ShowWindow(result[0], SW_MINIMIZE)')
                    </Action>
                </Macro>
                <Macro Name="Python Script">
                    <Action>
                        EventGhost.PythonScript(u'from win32gui import SetWindowPos\nfrom ctypes import windll\n\n#Script Hide Taskbar\nTOGGLE_HIDEWINDOW = 0x80\nhandleTaskBar = windll.user32.FindWindowA("Shell_TrayWnd", "")\nSetWindowPos(handleTaskBar, 0, 0, 0, 0, 0, TOGGLE_HIDEWINDOW)\n\n#Script Unhide Taskbar\nTOGGLE_UNHIDEWINDOW = 0x40\nhandleTaskBar = windll.user32.FindWindowA("Shell_TrayWnd", "")\nSetWindowPos(handleTaskBar, 0, 0, 0, 0, 0, TOGGLE_UNHIDEWINDOW)')
                    </Action>
                </Macro>
            </Folder>
            <Folder Name="Show OSD">
                <Macro Name="Display OSD">
                    <Event Name="DXusbPCR.E-mail" />
                    <Action>
                        EventGhost.NewJumpIf(XmlIdLink(119), 2, True)
                    </Action>
                    <Action Name="Python Script">
                        EventGhost.PythonScript(u'import re\n\nmpc = eg.WindowMatcher(u\'mpc-hc.exe\', None, u\'MediaPlayerClassicW\', None, None, None, True, 0.0, 0)\nhWnd = mpc()\n\nif len(hWnd) > 0:\n    from eg.WinApi import GetWindowText\n    title = GetWindowText(hWnd[0])\n    if re.search(".mkv",title,re.I):\n        title = title.split(".mkv")[0]\n    elif re.search(".mp4",title,re.I):\n        title = title.split(".mp4")[0]\n    elif re.search(".avi",title,re.I):\n        title = title.split(".avi")[0]\n    elif re.search(".ogm",title,re.I):\n        title = title.split(".ogm") [0]\n    else:\n        title = title.split(".")[0]\n        \nelaps, rem, total = eg.plugins.MediaPlayerClassic.GetTimes()\n#print "elaps, rem, total =",elaps, rem, total\n\nx = 1\n\nwhile x < 4:\n\n    if elaps != "00:00:00":\n        if eg.globals.WindowsState == "Fullscreen": howManyBars = 120\n        if eg.globals.WindowsState != "Fullscreen": howManyBars = 130\n\n        secArray = elaps.split(\':\')\n        secArrayTotal = total.split(\':\')\n       \n        secondsTotal = int(secArrayTotal[0])*(3600)+int(secArrayTotal[1])*(60)+int(secArrayTotal[2])\n        secondsElapsed = int(secArray[0])*(3600)+int(secArray[1])*(60)+int(secArray[2])\n       \n        percent = (1.0*secondsElapsed)/(secondsTotal)*100\n        percent = int(round(percent))\n        bars = (percent * howManyBars)/100\n\n        #print "percent =",percent\n        #print "bars =",bars\n       \n        osd = title + "\\n \\n" + "[ " + "|" * bars + " " * (howManyBars - bars) + " ]" + "\\n" + " "*30 + elaps + " / " + total\n\n        if eg.globals.WindowsState == "Fullscreen":\n            eg.plugins.EventGhost.ShowOSD(osd, u\'0;-50;0;0;0;700;0;0;0;0;3;2;1;49;Arial\', (0, 255, 255), (0, 0, 0), 4, (0, 0), 1, 1.0, False)\n        else:\n            eg.plugins.EventGhost.ShowOSD(osd, u\'0;-40;0;0;0;700;0;0;0;0;3;2;1;49;Arial\', (0, 255, 255), (0, 0, 0), 4, (0, 0), 2, 1.0, False)\n    eg.Wait(0.8)\n    #print x\n    x += 1')
                    </Action>
                </Macro>
            </Folder>
            <Folder Name="Windows State">
                <Macro Name="Windows State" id="119">
                    <Action>
                        Window.FindWindow(None, None, u'MediaPlayerClassicW', None, None, None, False, 0.0, 0)
                    </Action>
                    <Action>
                        EventGhost.PythonScript(u'from win32gui import GetWindowPlacement\n\n#SW_SHOWNORMAL = 1\n#SW_SHOWMINIMIZED = 2\n#SW_SHOWMAXIMIZED = 3\n\nFindWin = eg.WindowMatcher(None, None, u\'MediaPlayerClassicW\' , None, None, None, True, 0.0, 0)\nhwnd = FindWin()\n\ndef GetWindowStatus(hwnd):\n    showList  = ("None", "Normal", "Minimized", "Maximized")\n    placement = GetWindowPlacement(hwnd)\n    #unrem the below line to display the placement values that you need for the if placement[4] line\n    print placement\n   \n    if placement[4] == (1680, 1050, 3600, 2130):\n        return "Fullscreen"\n    else:\n        return showList[placement[1]]\n    \neg.globals.WindowsState = GetWindowStatus(hwnd[0])\n\nprint "Windows State = " + eg.globals.WindowsState')
                    </Action>
                </Macro>
            </Folder>
            <Macro Name="Fullscreen without resolution change">
                <Event Name="DXusbPCR.Full Screen" />
                <Event Name="PcRemoteController.FullScreen" />
                <Action>
                    MediaPlayerClassic.Pause()
                </Action>
                <Action>
                    EventGhost.Wait(1.0)
                </Action>
                <Action>
                    Window.FindWindow(None, None, u'MediaPlayerClassicW', None, None, None, False, 0.0, 0)
                </Action>
                <Action>
                    Window.BringToFront()
                </Action>
                <Action>
                    MediaPlayerClassic.FullscreenWOR()
                </Action>
                <Action>
                    EventGhost.Wait(2.0)
                </Action>
                <Action>
                    MediaPlayerClassic.Play()
                </Action>
            </Macro>
            <Macro Name="View Minimal">
                <Action>
                    MediaPlayerClassic.ViewMinimal()
                </Action>
            </Macro>
            <Macro Name="View Compact">
                <Action>
                    MediaPlayerClassic.ViewCompact()
                </Action>
            </Macro>
            <Macro Name="View Normal">
                <Action>
                    MediaPlayerClassic.ViewNormal()
                </Action>
            </Macro>
            <Macro Name="Always On Top">
                <Action>
                    MediaPlayerClassic.AlwaysOnTop()
                </Action>
            </Macro>
        </Folder>
        <Folder Name="Extended controls">
            <Macro Name="Load Subtitle">
                <Action>
                    MediaPlayerClassic.LoadSubTitle()
                </Action>
            </Macro>
            <Macro Name="Properties">
                <Action>
                    MediaPlayerClassic.Properties()
                </Action>
            </Macro>
            <Macro Name="Filters Menu">
                <Action>
                    MediaPlayerClassic.FiltersMenu()
                </Action>
            </Macro>
            <Macro Name="Options">
                <Action>
                    MediaPlayerClassic.Options()
                </Action>
            </Macro>
            <Macro Name="On/Off Subtitle">
                <Action>
                    MediaPlayerClassic.OnOffSubtitle()
                </Action>
            </Macro>
            <Macro Name="Reload Subtitles">
                <Action>
                    MediaPlayerClassic.ReloadSubtitles()
                </Action>
            </Macro>
        </Folder>
        <Folder Name="Toggle player controls">
            <Macro Name="Toggle Default Subtitle On/Off">
                <Event Name="DXusbPCR.WWW" />
                <Action>
                    MediaPlayerClassic.UserMessage(u'2304')
                </Action>
                <Action>
                    EventGhost.ShowOSD(u'Toggle Default Subtitles', u'0;-32;0;0;0;700;0;0;0;0;3;2;1;34;Arial', (255, 0, 0), (0, 0, 0), 0, (10, 50), 1, 2.0, False)
                </Action>
            </Macro>
        </Folder>
        <Folder Name="On screen explorer">
            <Macro Name="Show explorer">
                <Event Name="DXusbPCR.MyPC" />
                <Action>
                    EventGhost.NewJumpIf(XmlIdLink(119), 2, True)
                </Action>
                <Action Enabled="False">
                    EventGhost.PythonCommand(u'print eg.globals.WindowsState')
                </Action>
                <Action>
                    EventGhost.PythonCommand(u'eg.result = eg.globals.WindowsState == "Fullscreen"')
                </Action>
                <Action>
                    EventGhost.NewJumpIf(XmlIdLink(193), 1, False)
                </Action>
                <Action>
                    EventGhost.NewJumpIf(XmlIdLink(185), 2, False)
                </Action>
            </Macro>
            <Macro Name="Cursor Up">
                <Event Name="DXusbPCR.MouseUp" />
                <Action>
                    OSE.MoveUp()
                </Action>
            </Macro>
            <Macro Name="Cursor Down">
                <Event Name="DXusbPCR.MouseDown" />
                <Action>
                    OSE.MoveDown()
                </Action>
            </Macro>
            <Macro Name="Page Up">
                <Event Name="DXusbPCR.Page+" />
                <Action>
                    OSE.PageUp()
                </Action>
            </Macro>
            <Macro Name="Page Down">
                <Event Name="DXusbPCR.Page-" />
                <Action>
                    OSE.PageDown()
                </Action>
            </Macro>
            <Macro Name="Execute">
                <Event Name="DXusbPCR.LButton" />
                <Action>
                    OSE.Execute()
                </Action>
            </Macro>
            <Macro Name="Cancel">
                <Event Name="DXusbPCR.Desktop" />
                <Event Name="DXusbPCR.Close" />
                <Action>
                    OSE.Cancel()
                </Action>
            </Macro>
            <Macro Name="On screen explorer: Show explorer: D:\, [*.*] - Display Tv" id="185">
                <Action>
                    OSE.ShowLastMenu((75, 75, 75), (255, 255, 255), u'0;-49;0;0;0;400;0;0;0;0;3;2;1;50;\uff2d\uff33 \uff30\u30b4\u30b7\u30c3\u30af', u'OSE', u'Open', 1, '', u'*.*', False, (180, 180, 180), (75, 75, 75), True)
                </Action>
            </Macro>
            <Macro Name="Execute Directory">
                <Event Name="DXusbPCR.RButton" />
                <Action>
                    OSE.Execute(36, u'', u'')
                </Action>
                <Action>
                    EventGhost.PythonCommand(u'eg.path = \'"\' + eg.result + \'"\' + \' /play\' ')
                </Action>
                <Action>
                    EventGhost.PythonCommand(u'print eg.path')
                </Action>
                <Action>
                    System.Execute(u'C:\\Program Files\\Combined Community Codec Pack\\MPC\\mpc-hc.exe', u'{eg.path}', 0, False, 2, u'')
                </Action>
            </Macro>
            <Macro Name="On screen explorer: Show explorer: D:\, [*.*] - Display Monitor" id="193">
                <Action>
                    OSE.ShowLastMenu((75, 75, 75), (255, 255, 255), u'0;-49;0;0;0;400;0;0;0;0;3;2;1;50;\uff2d\uff33 \uff30\u30b4\u30b7\u30c3\u30af', u'OSE', u'Open', 0, '', u'*.*', False, (180, 180, 180), (75, 75, 75), True)
                </Action>
            </Macro>
            <Macro Name="On screen explorer: Go back">
                <Event Name="DXusbPCR.Backspace" />
                <Action>
                    OSE.GoBack()
                </Action>
            </Macro>
            <Macro Name="On screen explorer: Get value: Get Menu item string">
                <Action>
                    OSE.GetValue(0)
                </Action>
                <Action>
                    EventGhost.PythonCommand(u'print eg.result')
                </Action>
                <Action Enabled="False">
                    Window.SendKeys(u'{F5}', False)
                </Action>
            </Macro>
        </Folder>
        <Macro Name="Clear Pending Events">
            <Event Name="DXusbPCR.SwitchWindows" />
            <Action>
                EventGhost.FlushEvents()
            </Action>
        </Macro>
    </Folder>
</EventGhost>

THX-UltraII
Experienced User
Posts: 52
Joined: Tue Feb 24, 2009 7:40 am

Re: Media Player Classic

Post by THX-UltraII » Tue Aug 13, 2013 8:12 am

anything a a plugin for MPC-BE yet?

nonob
Experienced User
Posts: 76
Joined: Tue Dec 06, 2011 6:52 am

Re: Media Player Classic

Post by nonob » Fri Aug 23, 2013 2:41 pm

nonob wrote:I have an event affected to the "next audio" action with Media player classic home cinema plugin.
While playling a mkv file with multiple audio and subtitles, when i push the red button on my remote, the event is displayed two times in EG log, so the action is sent two time too.
It isn't a remote pb because if i disable the entire 'next audio" macro, i don't have the event dubbed anymore..
Pako wrote: This I will have to try when I get home.

Hi,
Did you get home ? ;)
I don't use audio or subtitles choice each time i watch a movie it's why i didn't talk about the issue since a long time but the issue is always here: i watched a movie yesterday with multiple audio and subtitles and i had to use my mouse to manually change it.

Thanks for your help.

nonob
Experienced User
Posts: 76
Joined: Tue Dec 06, 2011 6:52 am

Re: Media Player Classic

Post by nonob » Fri Aug 30, 2013 12:46 pm

I tried something:
Changed "next audio" action for "simulate keypress "A": Same issue.
How can i help you to find the bug (if it is a bug..)

Thanks

User avatar
Pako
Plugin Developer
Posts: 2294
Joined: Sat Nov 11, 2006 1:31 pm
Location: Czech Republic
Contact:

Re: Media Player Classic

Post by Pako » Sat Aug 31, 2013 2:01 pm

nonob wrote:I have an event affected to the "next audio" action with Media player classic home cinema plugin.
While playling a mkv file with multiple audio and subtitles, when i push the red button on my remote, the event is displayed two times in EG log, so the action is sent two time too.
It isn't a remote pb because if i disable the entire 'next audio" macro, i don't have the event dubbed anymore..
I'm very sorry that I forgot about you.
However, I can not help you anyway.
I tried it and I have not seen anything like it.
Perhaps you should look for the problem on your side ...
For example, you can try to run the macro manually, without a remote (right click ...).

Pako

nonob
Experienced User
Posts: 76
Joined: Tue Dec 06, 2011 6:52 am

Re: Media Player Classic

Post by nonob » Sun Sep 01, 2013 1:01 pm

Hi,
I tried to run the macro manually and the issue isn't here by this way.
But yet, the remote doesn't send two time the ir code, it's very strange.
When i use the same button to change audio in xbmc, i don't have issue.It's only with mpc plugin.

Anyway, i think i solved the issue by adding an action "jump to "options" if event is dubbed in 0,5 seconds".
I choosed to jump to "options" but i think it doesn't matter, but it seems it' was sufficiant to disable the issue:

Image

Another thing: I tried the "show mpc menu" and "on screen go to" actions, but it doesn't work.What am i doing wrong ?

User avatar
Pako
Plugin Developer
Posts: 2294
Joined: Sat Nov 11, 2006 1:31 pm
Location: Czech Republic
Contact:

Re: Media Player Classic

Post by Pako » Sun Sep 01, 2013 1:35 pm

nonob wrote:I tried to run the macro manually and the issue isn't here by this way.
It seems clear that the problem is not caused by the plugin, but remote.
I see that you are using IgorPlugUSB and that you have two events in each macro. Have you tried to disable one of these events?
nonob wrote:Another thing: I tried the "show mpc menu" and "on screen go to" actions, but it doesn't work.What am i doing wrong ?
How can I know? I have no information from you.
This is the same as when I say, for me it works. What am I doing right?

Pako

nonob
Experienced User
Posts: 76
Joined: Tue Dec 06, 2011 6:52 am

Re: Media Player Classic

Post by nonob » Mon Sep 02, 2013 7:43 am

nonob wrote:
I tried to run the macro manually and the issue isn't here by this way.
It seems clear that the problem is not caused by the plugin, but remote.
I see that you are using IgorPlugUSB and that you have two events in each macro. Have you tried to disable one of these events?
No, i didn't try that, but my remote send 2 different event at each key press on the same button, so i have to put these 2 events to each action.All my eventghost is configured like that.
If i disable one of them, the action will be trigged only one time for 2 key press :(

Maybe the problem is caused by my ir receiver (igorusb) or my remote (logitech harmony) but when i rode the comment from molitar, i found it very similar:
"Can someone please check out this plugin in the latest eventghost? I am getting events being called when the remote is no way pointing at the IR receiver as if a button is being pressed on my Logitech Harmony Remote and it gets stuck in an infinite loop repeating itself. I woke up this morning when I had the remote facing away from the infrared receiver in back of the receiver so no stray signal could hit it and woke up with it giving me the message application could not be found and it stuck trying to do an endless jump command that it was basically locked up. Either EventGhost with the latest one is picking up bad Event Commands or most likely it's the plugin itself since it's the MPC plugin that is active. Maybe some idle command or something is triggering the EventGhost MPC plugin.

Think I traced this to a problem with the latest EventGhost r1568. I went back to r1544 and so far it's been behaving normally but have only used this fix about an hour now but so far so good."

If it works now, i think i will not lose my time to find the issue :)
(" i think i solved the issue by adding an action "jump to "options" if event is dubbed in 0,5 seconds".
I choosed to jump to "options" but i think it doesn't matter, but it seems it' was sufficiant to disable the issue")
nonob wrote:
Another thing: I tried the "show mpc menu" and "on screen go to" actions, but it doesn't work.What am i doing wrong ?
How can I know? I have no information from you.
This is the same as when I say, for me it works. What am I doing right?
;) I was suprised when i found this action in your plugin cause i never saw it before in mpchc.
I tried to trigger the action manually with "test" button but nothing was displayed on mpchc.
Yet, i have others OSD information displayed.
Is it a mpchc feature or an exclusive mpc plugin feature ? ("show mpc menu" and "on screen go to") , i searched in mpchc shortcuts but i didn't found it.

Thanks

User avatar
Pako
Plugin Developer
Posts: 2294
Joined: Sat Nov 11, 2006 1:31 pm
Location: Czech Republic
Contact:

Re: Media Player Classic

Post by Pako » Mon Sep 02, 2013 8:37 am

nonob wrote:I was suprised when i found this action in your plugin cause i never saw it before in mpchc.
These actions are available for more than a year.
Now I just tried it again.
Regarding the action On screen GoTo, so I did not find any problem.
On the contrary - the action Show Menu I found one problem. But that does not prevent normal function. Only the Test button does not work. However, you can download the corrected version: http://sourceforge.net/p/eventghost/cod ... format=raw
There is one thing I must point out:
Show Actions Menu only works when the window MPC-HC has a visible menu bar.
When the menu is hidden, it is not possible to create its "On screen" view.

Pako
Attachments
MPC-GoTo.png
MPC-GoTo.png (3.02 KiB) Viewed 8244 times
MPC-Menu.png
MPC-Menu.png (7.66 KiB) Viewed 8244 times

nonob
Experienced User
Posts: 76
Joined: Tue Dec 06, 2011 6:52 am

Re: Media Player Classic

Post by nonob » Tue Sep 03, 2013 9:48 am

Hi :)

It works now.Maybe i tried the "show action menu" while my menu bar was hidden (if i do that, i have an error message and i have to restrat EG for it works again) or maybe i only tried "test" button on "show menu" and maybe i tried "go to" when mpchc wasn't focused...
Anyway, i updated your plugin to last version and it works fine now and it is an amazing feature :)

Is it a plugin feature or a built in mpchc feature ?

"Show menu" works but when i call it, mpchc switch from full screen to windowed mode, then, when i leave "show menu osd", it reswitch to fullscreen.
Is it possible to always stay in full screen ?

About "go to", i didn't found how to validate the action :roll:

Thanks

User avatar
Pako
Plugin Developer
Posts: 2294
Joined: Sat Nov 11, 2006 1:31 pm
Location: Czech Republic
Contact:

Re: Media Player Classic

Post by Pako » Tue Sep 03, 2013 11:31 am

nonob wrote:Is it a plugin feature or a built in mpchc feature ?
Show menu is purely plugin feature. Conversely On screen Go To is a front-end of API function GoTo.
nonob wrote:"Show menu" works but when i call it, mpchc switch from full screen to windowed mode, then, when i leave "show menu osd", it reswitch to fullscreen.
Is it possible to always stay in full screen ?
This is not possible. This feature is entirely dependent on whether it is visible menu bar of MPC-HC windows. In full-screen mode it is not visible.
By the way - this is just a sign that it is a plugin feature. Otherwise, it probably would work better.
nonob wrote:About "go to", i didn't found how to validate the action ...
It is simple. Place the cursor on the "Go To ..." and use the up or down arrow.

Pako

nonob
Experienced User
Posts: 76
Joined: Tue Dec 06, 2011 6:52 am

Re: Media Player Classic

Post by nonob » Wed Sep 04, 2013 5:42 am

You are right: What wrong with me ? I was sure to have tried that but i've just tried again and it works just fine :oops: :oops:

Thanks for these great features :) Have a nice day.

User avatar
Pako
Plugin Developer
Posts: 2294
Joined: Sat Nov 11, 2006 1:31 pm
Location: Czech Republic
Contact:

Re: Media Player Classic

Post by Pako » Wed Sep 04, 2013 6:46 am

nonob wrote:Thanks for these great features :)
I'm glad you like it.
This way at least I know that it uses at least one person (besides me) and that my work was not in vain.
But it is true that after a year of existence one would expect more comments on it.

Pako

nonob
Experienced User
Posts: 76
Joined: Tue Dec 06, 2011 6:52 am

Re: Media Player Classic

Post by nonob » Wed Sep 04, 2013 7:52 am

Maybe others users use your plugin and doesn't know this feature, like me ?
You should maybe do more ads about it ? did you ?

weirdinin
Posts: 3
Joined: Tue Nov 19, 2013 9:37 pm

Re: Media Player Classic

Post by weirdinin » Sat Jan 18, 2014 1:23 pm

Can eventghost create an mpc event with this plugin? Like when mpc start to play, eventghost shows an event for that. Or if mpc pauses, an event appears. I'd like to make a macro that controls veralite home automation: mpc event would trigger a veralite action (with veralite plugin) that dims the lights. With xbmc this is possible thanks to xbmc event receiver. Is that kind of function available for mpc? Or is there workaround to do that?

Post Reply