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:

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.
Windows and Linux users can find Java SE 6 here. You want the Java Runtime Environment (JRE) 6.
Macs however, are a little more complicated. For some reason, Apple is developing SE 6 as opposed to Sun. To get Java 6 for OSX, you need to go here and click on Java SE 6.0 Release 1 Developer Preview 6. You'll have to sign up, and then you can download Apple's latest version. It has been tested, and seems to work fine.
To verify that the installation was a success, go to the top right of your screen, and click on the search button. Type "terminal" and open it. Once there, type "java -version" and press enter. You should get a result similar to this:
java version "1.6.0-dp"
Java(TM) SE Runtime Environment (build 1.6.0-dp-b88-34)
Java HotSpot(TM) Client VM (build 1.6.0-b88-17-release, mixed mode, sharing)
If it still says 1.5, then go to Finder > Applications > Utilities > Java > Java SE 6 > Preferences. Then in the Java launcher pane, drag Java 6 to the top of the list. Thanks to Joey Gouly for this fix!
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:
- 1 2.5mm to 3.5mm stereo plug adapter ~$2-3
- 1 male to male stereo cable ~$5
You should be able to get these from a local electronics shop, or online. Here's a picture of our setup.
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.
- The first of these options is Integrate Timer and Display. What this does is convert the display (0:00) to the button that starts and stops the timer.
- If the "integrate" option is selected, then the "Annoying status light" will convert the entire display into a status color which tells you the status of the button. If the status is green, then the button is held down and ready to start/stop. If the button is red, then the button is focused but no key is pressed. If the button is gray, then the button is not focused. This color behavior is by default the same as the start timer button (either integrated or not).
- The less annoying status light behaves differently than the start timer color. This light will be green if the button is focused, signalling that it is okay to start. It is red if the button is not focused.
- The "hide scrambles when timer not focused" option will change the color of the scrambles so that if the button is not focused, it is difficult to read the scrambles.
- Now it is possible to select the length of the scramble with the spinner next to the scramble type.
- The scramble number is next to the scramble length. This is used to control which scramble you are on. One possible use is the following: Let's say you are in the middle of Sunday Contest and you have imported the scrambles. You are on the 6th scramble, and the stackmat accepts a fake time. You finish your solve and discard your fake time. CCT now believes you just finished the 7th solve and displays the 8th scramble. To fix this problem, all you need to do is rewind one scramble to the 7th and you don't lose your 7th scramble.
- A new option for scrambles is the multi-slice option. This affects nxnxn cubes where n >= 4. If multi-slice is enabled (which is the default), then "r" means turn the outer 2 layers. If multi-slice is disabled, then "r" means turn only the inside slice.
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- Lots of configuration options! Just about every stupid feature we added can be disabled.
- Fullscreen support turns your monitor into a big stackmat display.
- Choose your own watermark.
- Choose the font of your scrambles.
- Choose to have times displayed in raw seconds or a clock (hour:minute:second) format
- Support for big cube scrambles and viewing. Megaminx scrambles too! Color schemes are fully configurable.
- Splits are another cool feature we added. When using your stackmat, if you tap one side of the timer, then the time of that split will get added to the list. There are also configuration options to use a specific key on the keyboard instead, if you aren't using a stackmat.
- Various bugs addressed
- GUI overhaul
- Configuration overhaul
- Scramble options added, including support for cubes up to 11x11x11
Bugs and Feature Requests
Please email us at cubetimer@gmail.com for any bugs you encounter or features you feel should be implemented.