JeFCo

JeFCo - The Jesterware freedb Collector

How To

JeFCo
Situation where you need JeFCo How It Works CD Player Application Setup Additional Features

Situation where you need JeFCo

You are less than 24 hours a day connected to the internet

If you are not connected to the internet in the moment you insert a new cd most players will simply say 'sorry' and no information from any cd database is fetched. JeFCo collects and stores these requests. When you are connected to the internet later you only have to press 'Request All' and all stored requests are send to the configured cd databases. The next time these cd's are inserted JeFCo knows them and your cd player shows the correct information without being connected to the internet.

The computer with your cd player is not connected to the internet at all

If your computer is not connected to the internet JeFCo collects the requests from your cd player. You are able to transfer this collected requests to another computer with an internet connection, fulfill the requests and transfer the answers back to your computer.

You use more than one cd player application

If you use JeFCo to access the internet cd databases the cd information is available to all cd player programs. If you insert a cd the second time and start a different player application the database information is available regardless of the cd player program you have used the first time.

You use more than one player program because you use more than one operating system

JeFCo is runnable on nearly every PC operating system and on most midrange and mainframe computers. All information is stored OS independently. It is easy to use JeFCo to e.g. request and collect a cd information using Windows and use this information later with Linux using the same databases.

Your friend has a big collection of cd information but you have not

The information stored by JeFCo is easily transferable from one computer to another, even if the computers do not use the same operating system. It is possible to add the cd information collected with one computer to the collection of another computer.

Your favorite cd player application insists in using a database server that you don't like

JeFCo is able to intercept the cd information requests from nearly every cd player application. The databases that are used to fulfill these requests are configured in JeFCo. The original database that the player requested is ignored. This enables you to use non-commercial server or server with a bigger data repository or even a list of server to reach a much bigger repository without changes in the player application.

You have the freedb data locally but your player application insists in connecting a database server

JeFCo is able to act like a cd database server using the data repository that can be downloaded e.g. from freedb.

Your have downloaded the freedb data but no room on your harddisk to store it uncompressed

You can use JeFCo to read cd information out of this file without unpacking it. Please note: Unpacking this about 1GB 'on the fly' is time expensive! You should not use these kind of server together with the 'permanent available' flag!

Information about your cd is not available in the databases or the database information is wrong

You can edit the cd information by hand. After the request has been collected the track count and lengths are available. If you enter the cd and track title information the next time your player asks for this cd this data is available. You can even edit the collected cd information.

Your computer has no direct connection to the internet but to another one that has

You can set up JeFCo to act as a 'proxy' for freedb requests out of your local (protected) network. These requests are collected, forwarded to your chosen database server and answered immediately. All cd requests are stored in the local database and are answered the next time directly.

How it Works

JeFCo listens on port 8880 for CDDBP requests and on port 8080 for HTTP and for proxy requests from your cd player (These default ports may be changed). The next time your cd player tries to connect a database server, this request is 'stolen' by JeFCo. If the cd is already in JeFCo's database, the request is answered immediately without connecting to the internet. If the cd is not in JeFCo's database, the request is stored and a 'DISC NOT FOUND' message is send to the cd player (You may set up a server as 'permanent available' to change this behavior slightly). You see this request in the 'Database' window at 'Collected Outstanding Requests'. The next time you are connected to the internet, press the 'request all' button or choose 'Requests -> Request all' on the menu bar. JeFCo will now connect freedb or your configured servers and submits all outstanding requests. If there is a positive answer, the cd entry is removed from the 'outstanding' section and added to the 'stored' section. The next time a cd player asks for this cd, the request is answered out of the local database, regardless whether you are connected to the internet or not.

To transfer the requests (outstanding and collected) to another computer use 'Database -> Save To' from the menu and copy this file. To import this file use 'Database -> Load' from the menu.

CD Player Application Setup

To use JeFCo, you have to set up your cd player application to send the cd information requests to JeFCo instead of its default database server. In general there are two options how this can be done:
  1. If you are able to change the database server in the setup of your player application, set it to the host JeFCo runs on. This is usually your local computer which has the default address 'localhost' or '127.0.0.1'. Please check also the used port number. It has to fit the number JeFCo is listening to. The default ports JeFCo uses are 8080 for the HTTP protocol and 8880 for the CDDP protocol. If you are not able to identify the protocol your player application uses choose HTTP. There is a good collection of how the most popular player applications are setup available at freedb.org.
  2. Lot of player applications use a fixed server configuration which can not be changed to use JeFCo. But nearly all of these are able to connect to the internet through a proxy. JeFCo is able to act as such a proxy server on the HTTP protocol port. You only have to set 'localhost' or '127.0.0.1' as proxy address and 8080 as proxy port in your player configuration (if using the default JeFCo configuration on your local computer). JeFCo is catching all requests and fakes the player by answering them itself instead of propagating them to the requested server.

Additional Features

  • Try changing the Look&Feel with the configuration menu.
  • Clicking on an entry in the 'outstanding' or 'collected' area of the Database Window brings up additional information in the Disc Window.
  • Right click on the database entries to rename, edit or delete them.
  • Press 'Help' or 'F1' anywhere in den configuration dialog to go directly to the help page with further information on the selected parameter.

  • Have Fun with JeFCo!
    Rob