A project log for LCD music display

Legible notes that don't cost a fortune

lion mclionheadlion mclionhead 06/13/2021 at 05:370 Comments

Making a minimal confuser actually do minimal confusing is a lot harder than it used to be.  For decades, the raspberry pi foundation has labored to run as much as possible as slowly as possible.  With much coercing, it can be made to just run fvwm on X11.  The key commands are

apt install fvwm

xinit /usr/bin/fvwm2&

/usr/share/fvwm/system.fvwm2rc has to be copied from somewhere else.  It needs an option in system.fvwm2rc to disable the reader's window border.

Style "Reader" NoTitle, HandleWidth 0

Sadly, the current versions of fvwm no longer support keeping a window on top.  That has to be done in the program.

Then, there are commands to try to slow down the mouse speed.

xinput --list-props "PixArt USB Optical Mouse"
xinput --set-prop "PixArt USB Optical Mouse" "libinput Accel Speed" -1

The lion kingdom believes the mouse speed still needs a kernel hack to be slow enough.

The server pi needs to export NFS to the client pi so they can access the music files.

The decision was made to finally make the Cinelerra toolkit a standalone library with the ability to strip out all its video editing features.  It works quite well as a minimal retro interface, only taking 18 minutes to compile on a 1B.  As simple as it is, it's still takes a beast to do all the listbox, textbox, & menu operations a toolkit has to do.

Since it's not a dual head confuser, the mouse only works on 1 monitor.  It's a bit contorted to have a mouse 3 octaves away from the screen.  It definitely needs a mouse stand on top of the panel.

Despite all the hype about a pointing device which can draw, annotations are going to slow page turns way down.  In its simplest form, every page would optionally have 2 annotation layers, a foreground & background.  Each layer would have 16 possible colors, including transparent.  The resolution wouldn't be able to use RGB subdivisions.  Annotations would go in a separate file with flat images & flags saying if an image was used.

It needs to support 1/2 a page turn so every page can be shown on the screen with the pointer.  The client confuser needs to poll the annotation file for updates.  The annotation file needs to be in RAM along with all the music images.  The client would have to reload the entire file when it changed.  To speed this up, the annotation file can start with a table of contents, showing what revision each page is on.  The client can reload just the latest revision of 1 page.

Then of course, the server needs a full paint program, 1/2 page turn buttons, draw, erase, color palette, layer, save file, brush size, brush type, but no undo is required.  The 2 layers need different color palettes.

There's still a dream of just running it without RGB subdivisions, on the dual head 4B, with its horrible aliasing.  Page turns with annotations would be a lot faster.  The mouse would work on both screens.  The networking protocol, NFS, half page turns would go away.