I mentioned that, for my worship team rehearsal last Wednesday, I was going to put lyrics and a condensed reminder of the chords up on the main screen. How did it work? It was a qualified success. Simple, well known songs went quite smoothly but it would have helped to have more information on newer ones. I also balked at When I Survey the Wondrous Cross – well known but a lot of chord changes. Operator delay was also an issue – I had to remember to press the button to display the next slide while playing and singing the last line of the previous one.
I don’t think my plan of extending the system towards Nashville notation is going to fly. Instead, I think I’m leaning towards an HTML and CSS based solution. As a former webmaster, that is partly a case of ‘give a man a hammer and he treats everything as a nail’ but it is a technology I know well enough to bend to my requirements.
OnSong does have the option of HTML output but, to my eyes, it looks quite print orientated. It also has a problem when several chords run together – it uses CSS to float them above the text but, if the text doesn’t have spacing between the words, the chords lay on top of each other. I also looked at several other solutions for transforming ChordPro charts (marked up text files) into HTML and they either demonstrated the same issue or used tables to lay everything out (requiring much more text processing and ‘tables for layout’ offends my aforementioned webdev sensibilities).
However, I think I’ve got the core of a solution. If I get OnSong to send me the charts for a set as a single ChordPro file, I can do some minimal text processing with Python and then accomplish the rest with HTML / CSS. Why a single file? I’ve generally got a fairly good idea of the order of songs I want so I can operate it by scrolling up and down in the bits where I’ve got a free hand (and CSS would let me float a small menu for mouse-controlled jumping). It also means I can keep OnSong as my source for chord sheets (including all the tricks like transposing to different keys) but produce a set of songs that can be easily shared with different systems (anything with a web browser) without much additional labour.
Well, without much additional labour once it is done. I have a bit more work before I have a push-button demo but I’m getting there.