Transcription: Can still see the light


This is a transcription of the piano version of Can still see the light from Phantasy Star Online Songs of RAGOL Odyssey. Soundtrack EP 1 & 2. I’ve always wanted to transcribe this and, well, now I have. You can listen to the original song on YouTube here. The link below will take you to my sheet music page, where you can find the download links.

Please tell me what you think! Comments, suggestions on what to transcribe next, etc. are all welcome!

GlassCalc 1.25


GlassCalc version 1.25 fixes a crash when you check for updates while GlassCalc is already checking for updates. It also reads an “extensions.ini” file, which currently allows you to define extra constants, but may be expanded to let you extend GlassCalc in other ways in the future.

User-defined Constants

To add your own constants to GlassCalc, go to the More Settings menu and open the Extensions tab. You will see two sections: Global Extensions and User Extensions. Global extensions are system-wide and reside in GlassCalc’s program files directory. This means modifying them on Vista/Win 7 requires elevation. (I have not tested this on XP, so please tell me if it gives you trouble) User extensions apply only to your user profile and reside in GlassCalc’s application data directory. For normal cases, I suggest you use only user extensions. If both extensions files are present, user settings will override global ones.

To create the extensions settings file, click Create extensions.ini. The settings file will be created with the default settings and opened. (If you don’t have file associations for .ini files, you should get an Open With dialog. Pick a text editor.) Constant definitions go after the line with [Constants]. Everything on a line after a semicolon is ignored. Each line can contain one definition in the form “name = value”, where “name” contains only letters, numbers, and underscores and doesn’t start with a number. “value” can be any number (exponential notation is supported) or any numeric field, constant, or property defined in mscorlib.dll. (If you are not a .NET programmer, you can safely ignore that last bit.) If the value is not defined in System, you must provide the full namespace as well.

Here is an example file showing some of the ways constants can be defined:

;Stuff after a semicolon is a comment.
euler = 0.577215664901532860606512090082 ;Euler's constant
planck = 6.6260689633e-34 ;Planck's constant using exponential notation
pi = Math.PI ;pi using .NET's built in constant

GlassCalc should update its constants list when you close your text editor. If it does not, try clicking Edit extensions.ini from the settings menu and closing your text editor again. If all else fails, restart GlassCalc and it will pick up the updated settings. If you defined a new constant with the same name as an already present variable, you will need to restart GlassCalc for the changes to take effect.

If any of this isn’t clear or isn’t working, don’t hesitate to ask in the comments section below!

Downloads are on the main GlassCalc page.

GlassCalc 1.24


I uploaded version 1.24 about a week ago, but now that finals are out of the way, here’s a bit about the latest version of GlassCalc.

GlassCalc now automatically sizes the left pane to fit its contents. It also automatically hides the left pane if you make the window very small. If you liked the previous behavior, you can switch it back by unchecking Resize left pane automatically and Hide left pane when window is small in the settings window.

Unit conversions!

The biggest change in version 1.24 is support for unit conversions. If you use something like in to cm (or in:cm) after an expression, GlassCalc will insert the appropriate conversion factor. You can also place unit conversions in the middle of expressions, so sqrt(8 ft^2 to in^2) in to cm is valid. Note that GlassCalc doesn’t care what types of units you use as long as each conversion is valid. For instance, you could evaluate 1 weeks:fortnights in:cm.

Important bit about unit conversions!

GlassCalc supports unit conversions, but it doesn’t come with a unit converter out of the box! GlassCalc requires GNU Units to do its unit conversions. The upside of this is that GlassCalc can convert to and from just about any unit you can imagine. The downside is, you have to install another program. Thankfully, this is very easy to do if you follow my handy guide to installing Units! GlassCalc does not yet support all of the features of GNU Units, namely the special syntax required for non-linear conversions (like temperatures). Since temperature conversions are common (and simple), GlassCalc will handle conversions between Fahrenheit, Celsius, and Kelvin itself. You can use the units fahrenheit, celsius, and kelvin or the abbreviations tempF, tempC, and tempK.

What’s next?

I plan on attempting to port MTParser, the math parser used by GlassCalc, to .NET. If I’m successful, GlassCalc won’t need to mess with DLL registration, and I won’t need to package Visual C++ libraries with it. This means GlassCalc will become a much smaller download, and it won’t require installation, so it can be run as a portable app on any computer with .NET 4.0 installed. It will also make it much easier for me to write plugins for the parser, which may eventually lead to things like high precision math for slower, but much more accurate results. Hopefully, sin(pi) will actually be 0, not 1.22460635382238E-16!

Downloads are on the main GlassCalc page.

Transcription: Bruine Assassine


I just finished transcribing Bruine Assassine, the only piano solo from the So Ra No Wo To original soundtrack. You can download the sheet music from my sheet music page. You can also listen to the original track on YouTube here. Here’s the link to the sheet music again, this time all by itself and with a little line under it for extra emphasis.

Please tell me what you think! Comments, suggestions on what to transcribe next, etc. are all welcome!