Annotation attempt 1

A project log for LCD music display

Legible notes that don't cost a fortune

lion mclionheadlion mclionhead 06/17/2021 at 03:410 Comments

A pretty frustrating experience, to be sure.  It's nowhere near as easy with a mouse on a music desk as it was with a pencil or a mouse on a normal desk.  Line, oval, zoom tools might help, but drawing text without a keyboard is hopeless.  Another idea besides writing a paint program from scratch is to boot up the gimp every time the user wants to annotate, but it requires a keyboard & it's even slower.  It's pretty frustrating to not be able to go to a store & try out a trackball.

The annotation system is a minimal drawing program based on PC Paint.  Vintage software has once again proven useful as the basis for a modern application.  Drawing programs have been the nemesis of lions ever since they tried to program one in childhood but never could finish it.

The mane showstopper is event compression on the pi is non existent.  It seemed like a good idea to have PC Paint's XORed brush augmented with a crosshair, but it just sits & redraws single pixel mouse movements without event compression.

The color palette ended up being the 16 original Commodore 64 colors rather than a modern color picker.  The rest is a simplified version of what lions remember of PC Paint.  Drawing is bitmap based.  There's draw & erase with different brush sizes.  There's no lasso, selection, fill, or polygon tool.  There is a foreground & background layer while the original scanned music is untouched.  There are a certain number of undo levels.

Erasing large areas is pretty rough without a selection tool.  There is a large eraser brush to try to compensate.  The user has to hit the save button to make new annotations appear on both monitors.  It automatically saves when the user exits or loads a new file.

Despite every effort, it composites the 2 annotation layers in every single page turn.  It would be pretty involved to make it selectively composite the annotation layers only if they're used.  The page turns have dropped back to 13 per second, with annotations & the background pixmaps required for any useful menu system.