Hi guys
I have recently acquired a Tact Millennium amplifier. It's very old so the possibility of finding an original remote is slim.
Someone had uploaded a CCF file based on the remote to www.remotecentral.com.
I have utilised eventghost many times with a USB receiver, it's a great piece of software! I am wondering it would be possible handle said CCF file "blast" the codes from USB transmitter to the amp. If it works, I can then use the learning functioning on my universal remote to store them.
I am also looking into utilising the IR blaster on my Samsung S5 phone, but I am more familar with event ghost than Android.
Any advice or comments would be greatly appreciated!
Thanks
Utilising CCF Pronto files, is this possible?
- kgschlosser
- Site Admin
- Posts: 5508
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Utilising CCF Pronto files, is this possible?
zip up and attach one of the CCF files so i can look at it.
- kgschlosser
- Site Admin
- Posts: 5508
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Utilising CCF Pronto files, is this possible?
never mind about the ccf file
download and install this program
http://files.remotecentral.com/view/582 ... oedit.html
it is a pronto editor.
once you have the editor installed go ahead a run it. then open the ccf file
File --> Open Configuration
Once you have the file opened up it may ask you if you want to convert it. You can say ok, this is only happening because the file may be for a pronto remote that is different then one you selected when you first opened up the program.
you need to expand "Devices" in the left pane. then expand the device that is listed under it.
The items in []'s are GUI's that get displayed on the remote. each screen is going to have a bunch of different buttons for the device. so go ahead and double click on on of them.
You will see the various buttons. right click on one of the buttons and then click on properties. the Button Properties dialog will open up. The Action tab should be what you are seeing. on the left side there will be a vertical row of buttons and on the right there is going to be a white box.. in that white box there will one or more items in it. double click on one of the items. the Add IR dialog is going to open up. just above the OK button and alittle to the left there is a button "View IR" click on that button. you will now be able to see the pronto code for that button. that is what you will need to paste into the Transmit IR action in EG.
You are going to have to do this for each and every button on each of the available GUI screens. I know it is kind of a pain to do. but this is the only "free" way to do it. There is a program called Extract CCF that will spit out all of the pronto codes but I believe you have to pay for it.
download and install this program
http://files.remotecentral.com/view/582 ... oedit.html
it is a pronto editor.
once you have the editor installed go ahead a run it. then open the ccf file
File --> Open Configuration
Once you have the file opened up it may ask you if you want to convert it. You can say ok, this is only happening because the file may be for a pronto remote that is different then one you selected when you first opened up the program.
you need to expand "Devices" in the left pane. then expand the device that is listed under it.
The items in []'s are GUI's that get displayed on the remote. each screen is going to have a bunch of different buttons for the device. so go ahead and double click on on of them.
You will see the various buttons. right click on one of the buttons and then click on properties. the Button Properties dialog will open up. The Action tab should be what you are seeing. on the left side there will be a vertical row of buttons and on the right there is going to be a white box.. in that white box there will one or more items in it. double click on one of the items. the Add IR dialog is going to open up. just above the OK button and alittle to the left there is a button "View IR" click on that button. you will now be able to see the pronto code for that button. that is what you will need to paste into the Transmit IR action in EG.
You are going to have to do this for each and every button on each of the available GUI screens. I know it is kind of a pain to do. but this is the only "free" way to do it. There is a program called Extract CCF that will spit out all of the pronto codes but I believe you have to pay for it.
- kgschlosser
- Site Admin
- Posts: 5508
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Utilising CCF Pronto files, is this possible?
OK so scratch the above directions as that is going to be a royal pain
I have a better way.
create a folder on your desktop called "ccf_converter"
unzip the attached file into that folder. there is only a single dll in the file.
place any ccf files you want converted into that folder as well. It will bulk extract the pronto codes and button names.
create a new macro in EG add a Python Script action. Paste the code below into that script. Click on "Apply" and then click on "Test" it will dump all of the button names and pronto codes into the EG log.
I have a better way.
create a folder on your desktop called "ccf_converter"
unzip the attached file into that folder. there is only a single dll in the file.
place any ccf files you want converted into that folder as well. It will bulk extract the pronto codes and button names.
create a new macro in EG add a Python Script action. Paste the code below into that script. Click on "Apply" and then click on "Test" it will dump all of the button names and pronto codes into the EG log.
Code: Select all
import ctypes
from ctypes.wintypes import INT
import os
import shutil
CCF_DUMP_CODES = 0x00000010
path = os.path.join(os.path.expanduser('~'), 'desktop', 'ccf_converter')
hCCFDll = ctypes.cdll.LoadLibrary(os.path.join(path, 'CCFDll.dll'))
CCFRunDumper = hCCFDll.CCFRunDumper
CCFRunDumper.restype = ctypes.POINTER(INT)
for ccf_file in os.listdir(path):
if not ccf_file.endswith('.ccf'):
continue
print ccf_file
szInputCCF = ctypes.create_string_buffer(os.path.join(path, ccf_file))
szOutputDirectory = ctypes.create_string_buffer(path)
DumpFlags = INT(CCF_DUMP_CODES)
CCFRunDumper(szInputCCF, szOutputDirectory, DumpFlags)
for code_file in os.listdir(os.path.join(path, 'codes')):
code_file = os.path.join(os.path.join(path, 'codes', code_file))
with open(code_file, 'r') as f:
data = f.read()
data = data.split('</tr>')[2:-2]
code = [line.strip() for line in data[0].split('\n') if line.strip()][-1]
code = code.split('","')[-1].split('")')[0]
name = [line.strip() for line in data[-1].split('\n') if line.strip()][-2]
name = name.split('">')[-1].split('</')[0]
print name, ':', code
print
print
shutil.rmtree(os.path.join(path, 'codes'))
- Attachments
-
- CCFDll.zip
- (393.88 KiB) Downloaded 70 times
Re: Utilising CCF Pronto files, is this possible?
I've managed to open the file using CCF extractor. However it was made in 2002 and is non standard somehow, so won't convert automatically. However CCF extractor could still view the codes, which I then copy and pasted into iRPlus online xml convertor...
https://irplus-remote.github.io/converter/rcentral.html
Said file loaded into iRplus android app OK, utilising my S5's iR blaster it works
The Robman over at JP-1 remote has kindly cleaned up the codes so that they work better and it looks like the problem is solved. I've piggy backed the buttons onto a couple of One 4 All learning remotes for safe keeping.
Thanks for the informative posts guys, very helpful!
https://irplus-remote.github.io/converter/rcentral.html
Said file loaded into iRplus android app OK, utilising my S5's iR blaster it works

Thanks for the informative posts guys, very helpful!
- kgschlosser
- Site Admin
- Posts: 5508
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Utilising CCF Pronto files, is this possible?
those one4all remotes are great aren't they?. I have a bunch of them. they are well constructed solid remotes and you can hack them.. after all if you can't hack it you don't own it 
