CCT Readme

Note: An up to date version of this file can be found here.

Table of Contents

FAQs

Q: Why does it say: "The jar file "CALCubeTimer.jar" couldn't be launched. Check the Console for possible error messages" or "The main class could not be found"?
A: See this.

Q: Does this program run on Mac OS X?
A: Yes, but not without a little work, see this.

Q: When using the keyboard, the program behaves as if I am starting and stopping the timer over and over again, giving me a bunch of 0.01 second times.
A: This is a known issue with X in Linux. This problem should be solved in version 0.2. One temporary workaround is to disable key repeat using the command "xset -r".

Q: How do I start the server?
A: If you are using Internet Explorer, the file may have downloaded as CCTServer.zip. First change the extension to CCTServer.jar. Then, from the command line, cd into the folder you downloaded the jar to, and type "java -jar CCTServer.jar [password]".

Q: How do I get my Stackmat to work?
Under File > Configuration > Stackmat Settings, make sure the correct mixer is chosen. If necessary, read this and this.

Q: When I plug my Stackmat in, CCT displays 15:165:165!
A: This means that your soundcard is inverting the signal, or part of the signal is not being read correctly. Go to File > Configuration > Stackmat Settings and experiment with checking the three boxes. Most people have either all of them checked or none of them checked, however, it is possible that you may need some other combination of the three.

Q: What is the stackmat value?
A: This value is the key to how we convert the Stackmat signal into the corresponding numerical time. We interpret the signal as a sound wave, and it comes in looking something like this:
Stackmat signal
We need to discretize these peaks and troughs into 1's and 0's. This should be pretty easy to conceptualize, but the programming is tricky because these peaks and troughs are not at all uniform. The "stackmat value" is a value we use to chop off the peaks and troughs and convert the signal to ones and zeroes.
So it would make sense that if the value is too high, no peaks or valleys will be detected, and the program will see nothing but zeroes.
However, If the value is too low, noise will be introduced when it shouldn't be. This is due in part to the fact that the tops of the peaks are not flat.
We've found that a value around 50 will work on most computers, but some tweaking may be necessary to achieve the best performance with your specific setup. Don't be afraid to change this value! We have seen stackmat values from 29 up to 70. Some people have reported values as low as 1 to 7.
A way to find your value is to find a value for which the timer changes times when it is being run. If the times do not update as frequently as it should, then your value is too high. If the times sometimes show very large times over 10 minutes, then your value is probably too low.
A way to make sure that your value will work is if you run the timer with one hand on one of the pads.

Q: what's a calcube timer?
A: urghh....

Java 1.6

You need the latest version of Java (SE 6) to run CCT. Here's what you need to do to get the right version for your OS.

Stackmat Support

Hopefully, you are pretty excited about pluging your stackmat into your computer (we were!) Here's what you need to get it working:

You should be able to get these from a local electronics shop, or online. Here's a picture of our setup.

stackmat cable connection

Rolling Averages

CCT provides you with complete control over times. If you accidentally enter an incorrect time, you can discard it, or simply change it to whatever you meant for it. All these features can be accessed by right clicking on the time in question. Furthermore, you can scroll through all the scrambles you've imported or done.

CCT does some automatic highlighting of your times according to two categories. Times in the current average recieve one color, while times in the best rolling average get another. These colors are fully configurable, as is the color for any overlapping between the two.

Under File > Configuration > Options, you can even specify the length of your rolling average.

Finally, the details for Session Averages and Rolling/Current Averages can be configured under File > Configuration, where there is a simple syntax for gettting just what you want out of CCT.

User Interface

There are many new user interface options in CCT v0.2. Most of these are related to the keyboard timer. These options can be accessed in the View menu.

Sunday Contest

Not only is there support for importing scrambles from file, there is an option to import times from url. This is perfect for a situation such as the Sunday Contest.

In addition, CCT allows you to setup your email (SMTP) server, to allow emailing of times. With this feature, you can do the entire Sunday Contest without even leaving CCT!

This may not work if your ISP blocks port 25.

There might be some bugs for emailing, so copy your times down before attempting to use the email feature.

UMTS

UMTS stands for Ultimate Multiple Timer Support. There is a server which you can start up and multiple people can connect to remotely. You can see everybody's times, and people can choose to have the same scrambles. In addition, if you have multiple soundcards (usb or otherwise) then you can start up multiple instances of CCT and run them all with different stackmats on the same computer!

When connected to a server, type in "/help" for an explanation of the commands available.

By typing "/#", where # is a number between 2 and 5 (inclusive), a client can request scrambles from a server. This feature is new in CCTServer v0.2.

Under File > Configuration > Options (cont.), there is an option to enable flashing of the chat window when a message is recieved. This causes your window's title to flicker between caps and lowercase until you check the window.

The server can be downloaded as an additional executable jar file.

Configuration

For version 0.2 of CCT, we overhauled the configuration system to make use of Java's properties files. As a result, configuration files from CCT v0.1 will not function with CCT v0.2. One of the advantages of the new system is that settings are now stored in plaintext, meaning that you can edit the "cct.properties" file with your favorite text editor. The format of the file is very simple, each setting is on its own line, with a setting name followed by its value. See the defaults.properties file for a description of each setting. There is no need to edit the defaults.properties file, just edit cct.properties, as those settings take precedence over that defaults. If at any point you mess up your cct.properties file, you can just delete it, and the defaults will be restored.

Release History:

2007 Apr 15 - Version 0.1 2007 Jun 25 - Version 0.2

Bugs and Feature Requests

Please email us at cubetimer@gmail.com for any bugs you encounter or features you feel should be implemented.


Last updated 2007 Sep 18.