CD Megachanger List Generator for Pronto Remote Control

Written by Nudel.
Do whatever you like with this program, but don't blame me if something horrible happens.
Full C++ source code to Nudelist is available from my web site, or will be once I get around to updating it. :-)



This program adds a megachanger CD list to your Pronto configuration. It was designed for a Sony 300 disc changer but will probably work with most others. If you need anything modified, drop me an e-mail or check out the C++ source code yourself.

Unfortunately, since Pronto's CCF format has not been published (shame on you, Philips! :-)), I have not been able to make this program very user friendly... You'll need to be comfortable using command-line arguments and you will also need to have and understand Olivier Couvreur's CCFCompiler and Decompiler, which you should be able to download from Remote Central. (Currently this URL will take you to the files, but Daniel has every right to reorganise his site!)

Given that you're going to have to mess around with multiple programs and will need to be reasonably good at using your computer, I haven't spent the time giving this tool a fancy GUI or anything like that. I am releasing the C++ source code so someone else can add a GUI if they think it would be worthwhile.

Feel free to e-mail me if you have trouble finding what you need or working out how the hell all of this works.

Credits and Thanks

Thanks to Daniel Tonks for Remote Central, an excellent resource for Pronto/Remote Control news. Also, like almost every other Pronto user on the planet, I've used and ripped off Daniel's button graphics in my CCF file and as part of the graphics for Nudelist. (Yes, I realise that I screwed up the direction of the light source! Unfortunately, I realised too late and am too lazy to fix it. If it really bothers you, edit or re-do the bitmaps and, if you want, send them to me for inclusion in an update.)

Even more thanks must go to Olivier Couvreur since Nudelist and many other great Pronto utilities would not have been possible without his work to produce the (free!) CCFCompiler/Decompiler.

Thanks guys! I hope this little Pronto/RC community remains a group of sharing people, like the good old days before all the small program authors got greedy. (Ah, my old Amiga roots are showing through: There was a platform where most people would share their bedroom creations for free unless they really were worth asking money for and paying for. I'm not saying anyone who releases a non-commercial program and asks for money is evil, but damn, I've seen programs which do little more than change a couple of registry variables (1 minute of coding) being sold for money. Anyway, enough of this hippy communist stuff, back to this poor excuse for documentation...)

How to use the CD List

If you have the ProntoEmulator which comes with ProntoEdit, you can load my full CCF file up and play around with it.

CD List navigation

If you had a List button in your CD device pressing it will now take you to the new CD List device. If you didn't, you can still move to the CD List manually via Pronto's devices menu in the usual way.

The first panel of the CD List device is a list of letters. Only those letters which you have artists under will be active, but the other buttons are always there, without labels, so you don't have to get used to a new button layout when you add a new artist with a previously unused letter.

Press a letter and it will take you to a list of artists starting with that letter. If you press the main letter header at the top of the panel you'll go back to the alphabet panel. Otherwise, select an artist using the buttons on either side of the screen. You can more forward through the letters using the normal scroll buttons as well as the Chan+ / Chan- hard buttons and also via the small bar at the bottom of the panel.

If a letter has more than 10 entries under it, each full page will have a final faded entry which moves you on. The main header at the top of follow-up pages takes you back to their previous page rather than the parent alphabet page.

After selecting an artist you'll be given a list of their discs. These lists look and behave identically to the letter lists except that when you select a disc Pronto will tell the CD player to play it and will then jump to the CD device's main panel. Pressing the artist header will take you back to the parent letters page. Similar rules to those above apply when an artist has more than 10 discs to their name.

The left hard button will always jump you straight to the main CD device panel. The right hard button will jump you to the alphabet CD List panel.

How to generate your CD List

Requirements for your existing Pronto CCF file:

(This might be configurable one day. Let me know if it would be useful.)

You must have a device called CD with a panel called main. Somewhere in the CD device there must be active buttons labelled 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, Disc and, Enter.

When you select a CD from the list, Pronto will press the Disc button, key in the disc number and then press the Enter button. This corresponds to exactly how my Sony CD changer works but you can create Disc and Enter buttons with macros or delays behind them if your changer works differently.

When the disc number is keyed in the minimum number of digits are sent. For example, disc 1 is send as just "Disc, 1, Enter", not "Disc, 0, 0, 1, Enter" or anything like that. Although it's only been tested up to 300 discs, Nudelist should work fine if you have a changer with 1000 discs or pretty much any crazy number. Please contact me if you have problems with your changer.

Optional extras for your existing Pronto CCF file:

If you create a button in the CD device called List it will be made to jump to the alphabet page of the created CD List device.

(Actually, Nudelist will search for all List buttons in the CD device. If it finds any inactive List buttons it will change them and ignore all others. If the only List buttons it finds already have actions they will be replaced.)

The input listing file:

You must create a text file listing the discs in your CD changer. I recommend you look at the example list of my CDs while reading this.

Lines starting with the "/" (forward-slash) character are ignored and can be used as comments. Other lines should consist of four columns, separated by the "~" (tilde) character:

  1. The first column should be the number of the disc. If this is left blank Nudelist will assume the disc number is one greater than the previous line's disc number.

  2. The second column is the name of the artist(s) who created the disc. If this is left blank Nudelist will assume the artist is the same as for the previous line.

  3. The next column is an optional shorter version of the artist name. Artist names are used in two places, one of which is about half the width of the other. If you find that the shorter space results in a truncated name that annoys you, you can specify your own abbreviation instead.

    Leave this column blank if you have already specified a shorter name for the artist or if you don't want to specify one.

  4. The fourth column is the actual name of the disc. You have to give this for every line. :-)

If you forget to put a return at the end of the last line it will be ignored.

Artists and discs do not have to appear in the file in any particular order as Nudelist will sort them for you.

Decompile your existing CCF file to a CSF file:

You must decompile your existing CCF file using the CCFDecompiler tool. This should spit out a CSF file and a BMP directory containing the images it uses.

Copy the CSF file and its BMP directory to the directory containing the Nudelist.exe file and the Nudelist BMP directory. (Or just make sure you always decompile to that directory in the first place.)

Remember that the CCFDecompiler can be run via command-line arguments as well as its GUI, so you can set up a shortcut to make this a bit more automated. Be sure to check that decompilation was successful, though! Also note that if you try to write a simple batch file to link all these steps together you might find that the decompiler returns control to the script before it has finished. Contact me if you want advice on ways around this.

You should find example shortcuts as part of the Nudelist archive, although you will almost certainly have to edit them for your needs.

Run Nudelist:

Run Nudelist.exe against your CD list and CSF file, telling it where to spit out the new CSF file.

If you run Nudelist without any arguments if will give you the syntax:

nudelist <cd list> <base input csf> <output csf>

Say you had your cd list file, "nudel_cd_list.txt", and your new CSF file, "nudel_base.csf", both in the same directory as Nudelist.exe. If you then ran

Nudelist.exe nudel_cd_list.txt nudel_base.csf nudel_cd.csf

Nudelist would read in nudel_cd_list.txt, generate a CD List device and merge it in to nudel_base.csf to create the new output file nudel_cd.csf, unless something went wrong along the way, in which case you will be given an error message.

Compile the Nudelist output CSF file to get the final CCF file:

Assuming all went well, you should now be able to compile the CSF file output by Nudelist using the CCFCompiler tool.

If you get errors about missing BMP files it's likely that you have in the wrong place the Nudelist BMP files or the BMP files from the decompilation stage.

Also note that certain symbolic characters in artist and album names can unfortunately confuse the CCFCompiler, at least with the version current at the time of writing.

If you really can't understand why your CSF file won't compile, send me a log or a screenshot of what happens and I'll do my best to help. (Please compress screenshots, I don't want a 3meg BMP file breaking my inbox.)

Send the new CCF file to your Pronto:

If you haven't done so already, now would be a good time to backup the existing configuration inside your Pronto, just in case something goes wrong and you have to restore it.

Load the compiled CCF file in to ProntoEdit and send it to your Pronto in the usual way. You're done! Enjoy!


If you do end up using Nudelist or the source code or whatever and you don't have any problems to complain about, please drop me a quick note just to say that you found it useful. I'd be interested to know how many people do, given that this is targetted at quite a niche audience. If a relatively large number of people write in I might look at making things easier to use with a GUI and more integration with the CCF<->CSF tools.

Of course, if you have any useful information about the CCF file format or if you've done an alternative graphics set (or want me to code an alternative layout for your totally different graphics set), let me know!

Thanks for checkin' it out. Hope you like it.