Pulse-Eight CEC +

Questions and comments specific to a particular plugin should go here.
User avatar
kgschlosser
Site Admin
Posts: 5405
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Pulse-Eight CEC +

Post by kgschlosser » Sat Dec 07, 2019 10:48 am

which is all fine and dandy about the x86 versions.. the thing is I have never installed either of the 2013 redists. so where exactly those redists came from is the question. and if the cec dll is actually using them.
If you like the work I have been doing then feel free to Image

User avatar
kgschlosser
Site Admin
Posts: 5405
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Pulse-Eight CEC +

Post by kgschlosser » Sat Dec 07, 2019 11:09 am

it appears as tho they got installed by Visual Studio. for SQL server CLR types.

On a 64-bit system, among a few other Windows system dlls, the PulseEightPlus plugin cec.dll loads C:\Windows\SysWOW64\MSVCP120.dll
this is not a correct statement. the files are being loaded from C:\Windows\System32 and they are the 64 bit DLL's

this is the complete list of modules used by cec.dll

Code: Select all

c:\windows\system32\API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-WINRT-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL
c:\windows\system32\DCOMP.DLL
c:\windows\system32\IESHIMS.DLL
c:\windows\system32\ADVAPI32.DLL
c:\windows\system32\API-MS-WIN-CORE-CONSOLE-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-DATETIME-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-DEBUG-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-DELAYLOAD-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-FIBERS-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-FILE-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-HANDLE-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-HEAP-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-INTERLOCKED-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-IO-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-LIBRARYLOADER-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-LOCALIZATION-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-LOCALREGISTRY-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-MEMORY-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-MISC-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-NAMEDPIPE-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-PROCESSENVIRONMENT-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-PROCESSTHREADS-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-PROFILE-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-RTLSUPPORT-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-STRING-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-SYNCH-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-THREADPOOL-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-CORE-UTIL-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-SECURITY-BASE-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-SERVICE-CORE-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-SERVICE-MANAGEMENT-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-SERVICE-MANAGEMENT-L2-1-0.DLL
c:\windows\system32\API-MS-WIN-SERVICE-WINSVC-L1-1-0.DLL
c:\windows\system32\CFGMGR32.DLL
c:\windows\system32\DEVOBJ.DLL
c:\windows\system32\DEVRTL.DLL
c:\windows\system32\GDI32.DLL
c:\windows\system32\KERNEL32.DLL
c:\windows\system32\KERNELBASE.DLL
c:\windows\system32\LPK.DLL
c:\windows\system32\MSVCP120.DLL
c:\windows\system32\MSVCR120.DLL
c:\windows\system32\MSVCRT.DLL
c:\windows\system32\NTDLL.DLL
c:\windows\system32\OLE32.DLL
c:\windows\system32\OLEAUT32.DLL
c:\windows\system32\RPCRT4.DLL
c:\windows\system32\SETUPAPI.DLL
c:\windows\system32\USER32.DLL
c:\windows\system32\USP10.DLL
c:\windows\system32\ACLUI.DLL
c:\windows\system32\ACTIVEDS.DLL
c:\windows\system32\ADSLDPC.DLL
c:\windows\system32\ADVPACK.DLL
c:\windows\system32\API-MS-WIN-DOWNLEVEL-ADVAPI32-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-DOWNLEVEL-ADVAPI32-L2-1-0.DLL
c:\windows\system32\API-MS-WIN-DOWNLEVEL-NORMALIZ-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-DOWNLEVEL-OLE32-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-DOWNLEVEL-SHELL32-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-DOWNLEVEL-SHLWAPI-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-DOWNLEVEL-SHLWAPI-L2-1-0.DLL
c:\windows\system32\API-MS-WIN-DOWNLEVEL-USER32-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-DOWNLEVEL-VERSION-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-SECURITY-LSALOOKUP-L1-1-0.DLL
c:\windows\system32\API-MS-WIN-SECURITY-SDDL-L1-1-0.DLL
c:\windows\system32\APPHELP.DLL
c:\windows\system32\ATL.DLL
c:\windows\system32\AUTHZ.DLL
c:\windows\system32\AVRT.DLL
c:\windows\system32\BCRYPT.DLL
c:\windows\system32\BROWCLI.DLL
c:\windows\system32\CABINET.DLL
c:\windows\system32\CERTCLI.DLL
c:\windows\system32\CERTENROLL.DLL
c:\windows\system32\CLBCATQ.DLL
c:\windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_fa3b1e3d17594757\COMCTL32.DLL
c:\windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18837_none_a4d981ff711297b6\COMCTL32.DLL
c:\windows\system32\COMDLG32.DLL
c:\windows\system32\CREDUI.DLL
c:\windows\system32\CRYPT32.DLL
c:\windows\system32\CRYPTBASE.DLL
c:\windows\system32\CRYPTSP.DLL
c:\windows\system32\CRYPTUI.DLL
c:\windows\system32\CSCAPI.DLL
c:\windows\system32\D2D1.DLL
c:\windows\system32\D3D11.DLL
c:\windows\system32\DAVHLPR.DLL
c:\windows\system32\DBGHELP.DLL
c:\windows\system32\DEVMGR.DLL
c:\windows\system32\DFSCLI.DLL
c:\windows\system32\DHCPCSVC.DLL
c:\windows\system32\DHCPCSVC6.DLL
c:\windows\system32\DNSAPI.DLL
c:\windows\system32\DRVSTORE.DLL
c:\windows\system32\DSROLE.DLL
c:\windows\system32\DUI70.DLL
c:\windows\system32\DUSER.DLL
c:\windows\system32\DWMAPI.DLL
c:\windows\system32\DWRITE.DLL
c:\windows\system32\DXGI.DLL
c:\windows\system32\EAPPCFG.DLL
c:\windows\system32\EAPPPRXY.DLL
c:\windows\system32\EFSADU.DLL
c:\windows\system32\EFSUTIL.DLL
c:\windows\system32\ELSCORE.DLL
c:\windows\system32\ESENT.DLL
c:\windows\system32\FMS.DLL
c:\windows\winsxs\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.23894_none_145eb2808b8d6928\GDIPLUS.DLL
c:\windows\system32\GPAPI.DLL
c:\windows\system32\GPSVC.DLL
c:\windows\system32\HLINK.DLL
c:\windows\system32\IEADVPACK.DLL
c:\windows\system32\IEFRAME.DLL
c:\windows\system32\IERTUTIL.DLL
c:\windows\system32\IEUI.DLL
c:\windows\system32\IMAGEHLP.DLL
c:\windows\system32\IMGUTIL.DLL
c:\windows\system32\IMM32.DLL
c:\windows\system32\INETCOMM.DLL
c:\windows\system32\IPHLPAPI.DLL
c:\windows\system32\LINKINFO.DLL
c:\windows\system32\LOGONCLI.DLL
c:\windows\system32\MFC42U.DLL
c:\windows\system32\MFPLAT.DLL
c:\windows\system32\MLANG.DLL
c:\windows\system32\MMDEVAPI.DLL
c:\windows\system32\MPR.DLL
c:\windows\system32\MPRAPI.DLL
c:\windows\system32\MPRMSG.DLL
c:\windows\system32\MSASN1.DLL
c:\windows\system32\MSCTF.DLL
c:\windows\system32\MSFEEDS.DLL
c:\windows\system32\MSHTML.DLL
c:\windows\system32\MSI.DLL
c:\windows\system32\MSILTCFG.DLL
c:\windows\system32\MSIMG32.DLL
c:\windows\system32\MSLS31.DLL
c:\windows\system32\MSOERT2.DLL
c:\windows\system32\MSRATING.DLL
c:\windows\system32\MSSIGN32.DLL
c:\windows\system32\NCRYPT.DLL
c:\windows\system32\NDFAPI.DLL
c:\windows\system32\NETAPI32.DLL
c:\windows\system32\NETBIOS.DLL
c:\windows\system32\NETJOIN.DLL
c:\windows\system32\NETPLWIZ.DLL
c:\windows\system32\NETUTILS.DLL
c:\windows\system32\NEWDEV.DLL
c:\windows\system32\NLAAPI.DLL
c:\windows\system32\NORMALIZ.DLL
c:\windows\system32\NSI.DLL
c:\windows\system32\NTDSAPI.DLL
c:\windows\system32\NTSHRUI.DLL
c:\windows\system32\OCCACHE.DLL
c:\windows\system32\ODBC32.DLL
c:\windows\system32\OLEACC.DLL
c:\windows\system32\OLEDLG.DLL
c:\windows\system32\ONEX.DLL
c:\windows\system32\PCWUM.DLL
c:\windows\system32\POWRPROF.DLL
c:\windows\system32\PRINTUI.DLL
c:\windows\system32\PRNTVPT.DLL
c:\windows\system32\PROFAPI.DLL
c:\windows\system32\PROPSYS.DLL
c:\windows\system32\PSAPI.DLL
c:\windows\system32\PUIAPI.DLL
c:\windows\system32\RASAPI32.DLL
c:\windows\system32\RASDLG.DLL
c:\windows\system32\RASMAN.DLL
c:\windows\system32\REGAPI.DLL
c:\windows\system32\RSTRTMGR.DLL
c:\windows\system32\RTUTILS.DLL
c:\windows\system32\SAMCLI.DLL
c:\windows\system32\SAMLIB.DLL
c:\windows\system32\SCECLI.DLL
c:\windows\system32\SECUR32.DLL
c:\windows\system32\SHDOCVW.DLL
c:\windows\system32\SHELL32.DLL
c:\windows\system32\SHLWAPI.DLL
c:\windows\system32\SLC.DLL
c:\windows\system32\SPFILEQ.DLL
c:\windows\system32\SPINF.DLL
c:\windows\system32\SPPC.DLL
c:\windows\system32\SRVCLI.DLL
c:\windows\system32\SSPICLI.DLL
c:\windows\system32\SYSNTFY.DLL
c:\windows\system32\TAPI32.DLL
c:\windows\system32\UIAUTOMATIONCORE.DLL
c:\windows\system32\URLMON.DLL
c:\windows\system32\USERENV.DLL
c:\windows\system32\UXTHEME.DLL
c:\windows\system32\VAULTCLI.DLL
c:\windows\system32\VERSION.DLL
c:\windows\system32\VPNIKEAPI.DLL
c:\windows\system32\W32TOPL.DLL
c:\windows\system32\WDI.DLL
c:\windows\system32\WEBIO.DLL
c:\windows\system32\WEBSERVICES.DLL
c:\windows\system32\WEVTAPI.DLL
c:\windows\system32\WINBRAND.DLL
c:\windows\system32\WINDOWSCODECS.DLL
c:\windows\system32\WINHTTP.DLL
c:\windows\system32\WININET.DLL
c:\windows\system32\WINMM.DLL
c:\windows\system32\WINNSI.DLL
c:\windows\system32\WINSCARD.DLL
c:\windows\system32\WINSPOOL.DRV
c:\windows\system32\WINSTA.DLL
c:\windows\system32\WINTRUST.DLL
c:\windows\system32\WKSCLI.DLL
c:\windows\system32\WLANAPI.DLL
c:\windows\system32\WLANUTIL.DLL
c:\windows\system32\WLDAP32.DLL
c:\windows\system32\WS2_32.DLL
c:\windows\system32\WTSAPI32.DLL
c:\windows\system32\XMLLITE.DLL
the above are all 64 bit dll files.

the SYSWOW64 folder is for 32 bit files and the System32 folder is for 64 bit files.

here is some reading on that.
https://www.samlogic.net/articles/32-64 ... swow64.htm

I know that make no damned sense why they call it SYSWOW64 when it contains 32 bit files. But it is Microsoft we are talking about here. and that should explain the stupidity in the naming.

event the files with names like "WTSAPI32.DLL" are actually 64 bit files.


the pyd file adds the Python27.dll to that list.

the end result is there is 100% a reliance on the 2013 redist so I will change the first page to include both the 64 bit and the 32 bit as I am not sure which one is going to get used because EG is running 32 bit python. it should be using the 32 bit redist.
If you like the work I have been doing then feel free to Image

RichardH
Posts: 32
Joined: Tue Dec 16, 2014 12:59 pm

Re: Pulse-Eight CEC +

Post by RichardH » Sat Dec 07, 2019 1:55 pm

We're almost there.

You did not say how you arrived at the list of files you posted. They are indeed all x64, and they indeed reside in System32. However, that does not mean they are the ones loaded by the PulseEightPlus plugin.

To find out what is actually being loaded you need to look at the output of a tool such as Dependency Walker or Dependencies, which is what I did. If that is what you did too and we get different results then we cannot be looking at the same dll. I just downloaded the plugin again from the first page and I get the same results again.

The cec.dll in the plugin is x86 ("i386"). The dlls it loads have to be x86 too (and many are from SysWOW64), which the tools confirm.

Nothing in your list of files nor mine contains any 2015 files, so at least that has been established.

So the only Visual C++ distributable required is 2013 and only the x86 version.

Again, only the developer can shed light on why the redistributables in the package do not match the dll.

User avatar
kgschlosser
Site Admin
Posts: 5405
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Pulse-Eight CEC +

Post by kgschlosser » Sat Dec 07, 2019 2:10 pm

that is what I used was dependency walker. and those are the files it listed as being used by the DLL either directly or indirectly
If you like the work I have been doing then feel free to Image

User avatar
kgschlosser
Site Admin
Posts: 5405
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Pulse-Eight CEC +

Post by kgschlosser » Sat Dec 07, 2019 2:11 pm

the DLL when opened up in dependency walker loads as x64 for me..


scratch that I thought i was opening as x64 because of all of the other dll's. it is loading as x86 but is referencing the64 bit dlls. but that is probably because of DLL Walker not properly redirecting.
If you like the work I have been doing then feel free to Image

RichardH
Posts: 32
Joined: Tue Dec 16, 2014 12:59 pm

Re: Pulse-Eight CEC +

Post by RichardH » Sat Dec 07, 2019 3:16 pm

We shouldn't even be talking x64. EG is x86 after all. I think we have got there as far as the problem analysis is concerned. Still don't know if cec.dll was built as intended, though.

User avatar
kgschlosser
Site Admin
Posts: 5405
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Pulse-Eight CEC +

Post by kgschlosser » Sat Dec 07, 2019 3:25 pm

I am going to ask the question.
If you like the work I have been doing then feel free to Image

User avatar
kgschlosser
Site Admin
Posts: 5405
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Pulse-Eight CEC +

Post by kgschlosser » Sat Dec 07, 2019 6:37 pm

Hey can anyone confirm if the remote key press events are working properly?
If you like the work I have been doing then feel free to Image

RichardH
Posts: 32
Joined: Tue Dec 16, 2014 12:59 pm

Re: Pulse-Eight CEC +

Post by RichardH » Mon Dec 09, 2019 7:56 am

Can't get remote key presses to work in 0.4.9b. Now using 0.4.7b on default settings, which is OK.

dt1000
Posts: 27
Joined: Thu Apr 01, 2010 5:46 am

Re: Pulse-Eight CEC +

Post by dt1000 » Sun Dec 22, 2019 9:19 am

Hi there!
I am thinking of getting one of these for my NUC, to control my projector.
What sort of functionality does the Eventghost plug-in offer?
Ideally I would like to be able to send remote commands (like switch HDMI input, or adjust brightness mode).
Is this achievable?
(The projector in question is an Epson Powerlite 5010).
Any tips are welcome!
Cheers,
Dan

User avatar
kgschlosser
Site Admin
Posts: 5405
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Pulse-Eight CEC +

Post by kgschlosser » Sun Dec 22, 2019 10:35 am

you will not be able to directly control the brightness. it does not have discrete commands for those kinds of things.

I do not believe that the Epson projectors support remote button press either... I have an Epson 5030UB I will test it out and let you know what does and does not work. if my memory serves I believe it was very limited.. you could change the HDMI and power the projector on and off. I think that is it. Epson did not see a need to use the whole protocol for some reason.
If you like the work I have been doing then feel free to Image

dt1000
Posts: 27
Joined: Thu Apr 01, 2010 5:46 am

Re: Pulse-Eight CEC +

Post by dt1000 » Sun Dec 22, 2019 3:15 pm

Thanks for the info, kgschlosser.
The Epson has a control to set the lamp brightness to certain scenes. It's a single push on the remote.
Can you specify commands using the Pulse Eight plug-in?
Previously I was using a Com port and serial cable, but on my new PC this doesn't seem to work (as Eventghost can't open the port all the time for some reason).
Turning it on/off and setting the input might be an acceptable compromise for now.
:)

User avatar
kgschlosser
Site Admin
Posts: 5405
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Pulse-Eight CEC +

Post by kgschlosser » Sun Dec 22, 2019 6:31 pm

I do not remember if the remote control emulation works with the epson projectors..

curious thing about the serial port tho.. I would like to find out what that issue is all about.
I have a feeling I know what it is.

the serial on the projector is RS232 are you using an USB to serial adapter on your PC?? or are you using the serial port right on the main board?

there is a difference.. and the manufacturers of the USB to serial adapters are not forth coming to tell you that the USB to serial is not USB to RS232 it is in fact USB to TTL, it is the same protocol but the voltages are different. this could be a reason why it is a flaky connection.. because the threshold for RS232 is 12v +-6v and the USB TTL can be up to 5v. It's a close enough where it may work occasionally. they do make adapters to convert TTL to RS232 if that is the case. and this would solve your issue if you are using a USB to serial adapter. You might want to check into that..

I will check on the CEC support for the Epson projectors today.
If you like the work I have been doing then feel free to Image

dt1000
Posts: 27
Joined: Thu Apr 01, 2010 5:46 am

Re: Pulse-Eight CEC +

Post by dt1000 » Mon Dec 23, 2019 7:10 am

Thanks once again! :D
I am indeed using a USB serial port. It worked flawlessly for 5 years on my old machine (a Zotac ZBOX) but on the new one (Intel NUC) it sometimes works... and it sometimes crashes the computer when I access it. Unfortunately it looks like there is no serial header on my NUC board, so my best option could well be the Pulse Eight. Let me know what you find out - and thanks once again for the investigative assistance!

dt1000
Posts: 27
Joined: Thu Apr 01, 2010 5:46 am

Re: Pulse-Eight CEC +

Post by dt1000 » Sat Dec 28, 2019 9:32 am

So I went ahead and purchases a Pulse-eight for my NUC, based on the impressive support on this forum! :D
Unfortunately I have had zero joy getting it to do anything.

Everything seems to be working fine in terms of the hardware/software installation, however, I am unable to control anything via the projector's remote, or send controls to the projector.

When I start CEC Tray I get the message that my projector is not sending CEC returns (or words to that effect) caused by one of three things
  1. device is not CEC compatible
  2. CEC is deactivated on device
  3. HDMI cable is faulty.
As far as I am aware...
  1. The Powerlite 5010 is CEC compatible - when I select HDMI link from the menu, it shows the NUC as connected.
  2. HDMI Link is definitley activated in the settings.
  3. I tested with a second cable and got the same results. And when I use the default HDMI commands from the motherboard bios it controls the projector no problem (power on/off).
When I start Kodi it detects the Pulse Eight, but it doesn't look like the plug-in stays active.

The default Eventghost plug-in supplied with the drivers won't start (something about a missing library).
The CEC+ plug-in starts... but I can't get it to do anything.

The Projector shows the NUC as a linked device when using the onboard CEC from the bios.
With the onboard CEC disabled, the projector cannot detect any connceted devices.

Any ideas as to what I could have done wrong? Did I botch the install somehow? Am I missing some software or drivers? Do I need a particular cable?
Any suggestions are welcome! :)

Thanks,
Dan

Post Reply