Reference Note Keyboard

This free application has been posted at
It is a lightweight, self-contained, polyphonic musical keyboard.

Main distinguishing feature: laptop convenience.
Notes can be played either via the mouse or via the number and QWERTY rows.

Currently set up for Windows-64 bit systems.
Added MacOS. (4/4/19)

This is the first application I have posted for distribution. This project has been fully DIY, and this is the first time I’ve dealt with all the promo and sales copy writing. There is a lot to learn and improve upon here!

I put up a few notices on Facebook, have had about 60 looks and 6 downloads after one week.

Current task list:

  • Quite a few music students have Mac laptops. So it would really be good to have a self-contained Mac version available. I’m in the middle of attempting to give my AMD desktop a Hackintosh option, with the idea of loading Java SE 9 or better JDK and using the JLINK tool.
  • I really should make a short promo video.

Down the road:

  • a more advanced tool (something of a mini-sequencer) will be posted, applying what I learn here;
  • a “deluxe” version of this keyboard costing a dollar or two to be made available, depending on response and what additional features might be desirable and would justify a “II” (e.g., more synth choices, transposition, reverb option, second rank of notes on ASDFG/ZXCVB rows).

I’ve added a couple of features, which I’ll describe. But mostly, this is about the state of the distribution effort.
If you wish to download, the project page MAY require a password (while testing, should be removed soon). The password is: rnktest

New features (version 1.1):

  1. Pitch adjustments via the tuning slider are now global (affecting all playing notes) and operates in real time.
  2. The “Hold” function has been augmented. Now, in addition to a “sustain pedal” mode, where notes are extended indefinitely, there is a new “Toggle” mode in which the keys being held can be individually turned off.

Also, there was a bit of work done to figure out how to have the Mac OSX GUI be more closely similar to the Windows GUI. (For example, font sizes for the MacOS are smaller.)

About Distribution on
The indie-friendly site has two modes for downloading. If you go to the site with a browser, the download links work as normal links. Programs then have to be run directly from the OS. The second mode is to download and run programs from within the application.

I’ve decided NOT to recommend or support using the application. The main reason is that I am using installers. The application does not work well with installers. The “launch” button from within the application has problems in that it seems to be set to run the downloaded program (in my case, an installer) instead of the program that the installer installs. (In the case of Windows, actually, for me, the first time I tried “launch”, it ran the installer, but the second time using this button, it actually uninstalled the application instead of running it!)

So, why am I using a packaging tool for the Windows and Mac OSX install instead of their recommended format (a file structure with the executable in the top file folder)?

First, difficulties encountered:

Windows - The jlinked program is executed via a .bat file. The .bat can be easily rewritten so that it runs from the top file folder, but there are a couple issues.
(1) The top level .bat cannot be given an identifying icon.
(2) The top level .bat seems to inevitably open up a console window in addition to opening the application (even when using javaw.exe rather than java.exe).

Mac OSX - For whatever reason, the manually-configured .app, when downloaded by, ran with the following problem: the top-level form for the application was solid red. All the controls were fully functional, but effectively invisible.

Now, it might be possible to solve both situations. In fact, if any of the readers of this have suggestions or solutions, I would love to hear them. Please reply! Following are what I think are the paths forward for each OS.

Path forward with Windows: try using a bat-to-exe conversion tool, and include the application icon within the .exe. This probably would work and may even allow the application to be run without spawning extraneous console/cmd windows.

Path forward with Mac OSX: instead of using the simpler manually-configured .app, package as a full out Bundle.

However, I’m not sure the effort involved would be worth it. An issue for me is that the packaging system does NOT support file association. I don’t NEED file association for Reference-Note-Keyboard, but I WILL be wanting it for virtually all the other applications I plan to release. So, am a bit reluctant to do yet more work for a one-off.

Solution currently being used: make use of free packaging tools.

For Windows, I’m packaging the jlinked file system with Inno-Setup 5. [Just found out that the most current release is Inno-Setup 6!] This tool supports application icons, installation to the StartMenu and optional desktop icon, and file association (I’ve tested and verified this). This tool is also referenced in the Oracle documentation on packaging and distribution for Java.

For Mac OSX, I’m packaging the jlinked file system with Packages. This tool has allowed me to set up the installation to occur in a subdirectory of the Users “Home”. By doing so, the installation doesn’t require an Admin ID, as it would if the installation were set to install in the “Applications” directory. This tool also has provisions for running scripts prior or after the install, so my assumption is that via these, it will be possible to establish file association. (Haven’t verified that this works, yet.)

[EDIT, 4/5/19] The “Packages” tool is pretty cool, but it is not allowing me to install in a sub-directory of the user’s Home. I have a query out to the author to ask about some apparent inconsistencies in the Q&A 03 which is supposed to show how to do this. Instead, I’m now doing the following:

made a folder to hold a readme.txt and the manually-created .app, and zipping this and uploading it to

In the project page, I’m explicitly recommending that users do NOT use the application. This is not ideal, but what else?

I’m pondering investigating other distribution platforms.

46 downloads since posting on last December.
First $2 paid this week (it’s a free application with a donation option). And it’s not a recognizable friend or relative.

Should I send them a thank you email?

I’ve done little to promote it. I suspect more promotion wouldn’t make much difference and that time is better spent on other projects.

I’ve received no complaints or questions on any of the units downloaded to date. So maybe I can assume that it runs okay.

[quote]Should I send them a thank you email?
Not sending anything back will make the donator feel either indifferent or worse unappreciated. Sending a small thank you mail will make them feel very appreciated and lifts up their perception of you by a notch. I think you have nothing to lose by doing so.

Donating is not the same as paying for a product, it’s a sign of deep appreciation and has a more personal note to it, so i would treat it as such.