Archive for March, 2010

0.3.4 Release: In Memorial of David Wong

Tuesday, March 23rd, 2010

A new bug fix release, well, actually not entirely bug fixes but contain improvements in ABC and Guido notation images. Due to previously inaccurate guessworks, Guido images look blurred while ABC images often have their widths exceeding user setting. The resizing and zooming are now more accurately calculated, so those problems should disappear.

Now for something special: this release is dedicated to David T. L. Wong, a seasoned free software developer in Hong Kong, also a respected and highly regarded member in local forums. Some of his major contribution to free software community include work in DMB-TH digital tv driver for linux kernel and an USENET client for Android. It was apparent that he was still posting to forums a few days ago, without apparent mentioning of any kind of problem. But all of a sudden, he’s gone. So far details are sparse, but many people are eager to help out — donation to his family members, helping in funeral and so on. There’s even a dedicated Facebook page!

Although I’m not familiar with him (no acquaintance, unlike some of my friends who do see him from time to time), wish him rest in peace and is well in heaven.

Workflow for MIDI support

Saturday, March 13th, 2010
Image of ScoreRender 0.4 workflow

ScoreRender 0.4 workflow

Due to quite a few requests, MIDI support is starting to be implemented. Right now support for ABC notation, which makes use of abc2midi, seems to work fine, while support for Mup and PMW notation should be hard to do (they use the same program for rendering image and MIDI).

The most problematic one is Lilypond. It is not using any extra program or command line option for MIDI support, but adding a \midi{} block in input data instead before rendering. That means a special workflow for Lilypond MIDI support has to be designed, significantly different from support of any other notation.

Big changes coming

Tuesday, March 2nd, 2010

I’m working feverishly these days on the plugin, trying to push it out before it becomes forgotten in history. Perhaps when 0.4.0 is out, blog visitors won’t notice much (actually there would be almost no visual change if admin leave settings to default), but internally a major part of architecture is redone, some even rewritten twice.

Visual change

Now every fragment can be colored individually, unlike previous version where one can only choose black or white globally for all music fragments in the blog. Note that all fragments on this site are colored in navy blue.

Installation

WP 2.6 is required as minimum version, instead of 2.2. This allowed me to dump some old cruft which means less support headache. That’s not such a big deal, since every version before newest release unvariably contains security hole so that one would see recommendation to upgrade to newest everywhere. WordPress is notorious for its security track record (and plugins contribute a lot too); there’s a reason WordPress getting Pwnie Award.

Admin interface

  1. Cache URL setting is dropped completely.
  2. Temp directory and cache directory can be empty, which means using sys_get_temp_dir() and default WordPress upload folder respectively.
  3. Mup registration key content is used in place of registration file.
  4. The ‘Invert Image’ setting is dropped entirely, following the change in note coloring. Era of black and white is gone.
  5. Background translucency is unconditionally used as well. It’s better to let IE6 die ASAP (numerous parties are calling for or even killing IE6 outright), but with Twinhelix IE6 PNG fix those unfortunated few will not feel so disgraced upon visiting your blog.
  6. Incorporate jQuery Color Picker to pick note color. Finally I dropped jQuery Color Picker in favor of jscolor. Not only is jscolor much smaller in size (only 1/7 of jQuery one), the most important point is that jQuery Color Picker is very unresponsive — it requires DRAGGING in order to trigger a color change!

Content

  1. Using internal shortcode support from WP, ScoreRender now supports adding attribute to enclosing tags. Individual fragment color is one; more will come later.
  2. [score lang="..."] is preferred to using notation name directly as shortcode, which might be phased out later.

There are even more behind-the-scene changes as well. One can follow the changelog for a full list of changes.