/LegGo

Notes on building a a cheap but sturdy PDF teleprompter and lyrics viewer for gigging musicians

LegGo

Appunti disordinati per la realizzazione di un leggio per testi in PDF, usando un vecchio monitor e un raspberry PI

descrizione e requisiti

  • Il leggio è costituito da un monitor ldc, orientato in verticale, a cui è collegato un Raspberry PI (abbreviato in RPI), il tutto inserito in una robusta valigetta che consente di usarlo semplicemente aprendola e accdendendo il tutto.
  • Idealmente dovrebbe funzionare "in visualizzazione" senza l'ausilio di tastiera e mouse. Per fare questo è previsto che il PDF col testo possa essere sfogliato con un pedale USB collegato a due GPIO.
  • Potrebbe essere utile prevedere alcuni pulsanti aggiuntivi direttamente collegato ai GPIO di RPI per alcune funzioni utili durante lo show.
  • L'uso di tastiera e mouse può essere previsto per la fase di configurazione.
  • Almeno una porta USB deve essere accessibile per poter caricare i file PDF.

funzionamento

  • Durante lo show usiamo un file PDF generato ad hoc sulla base della scaletta dello show, indicativamente con una canzone per pagina.
  • al boot deve aprirsi automaticamente il lettore PDF caricando l'ultimo documento aperto. (in questo modo possiamo accendere e usare LegGO subito, senza bisogno di fare altro).
  • Per andare avanti e indietro usiamo due pedali collegati ai GPIO che inviano i due "keypress" necessari per pagina avanti e pagina indietro.
  • Il file con i testi show può
    • essere preparato prima e poi caricato nel raspberry oppure
    • generato direttamente sul raspberry partendo dai testi delle canzoni salvati in singoli file PDF (un file per ogni canzone) e sempre disponibili nella cartella "originali" sul RPI.
  • Per generare il file dello show partendo dai singoli pdf usiamo 'pdfmixtool'.
  • Per visualizzare il PDF usiamo o qpdf (preinstallato in RPI) che però non supporta il partire già a schermo pieno o xpdf (che però bisogna vedere se supporta le due pagine affiancate, che potrebbero essere utili).
  • se abbiamo bisogno di creare/configurare la scaletta, colleghiamo la tastiera e il mouse, chiudiamo il lettore PDF e lanciamo PDFmixtools.
  • Assicuriamoci che il raspberry o lo schermo non vadano mai in risparmio energetico/screensaver ecc
  • per essere certi che i pedali e i pulsanti funzionino penso che dobbiamo forzare la finestra del visualizzatore PDF ad essere sempre in primo piano (e forse non basta...) o forse basta che sia a tutto schermo (?)

links

applicazioni principali e configurazione generale

update marzo 2022

Monitor

GPIO

i pulsanti...

  1. spegni tutto (magari con longpress sennò è un rischio...)
  2. bianco/nero
  3. fit to page /larghezza pagina
  4. lancia visualizzatore & open new file (ma poi come scelgo le altre scalette??)
  5. pagina avanti (? duplica il pedale... ? )
  6. pagina indietro (? duplica il pedale... ? )
  7. zoom +
  8. zoom -

log della preparazione

  • create le due cartelle 'testi-accordi' (che contertrà i file singoli delle canzoni) e 'scalette' (che conterrà i file con le canzoni in ordine per i vari show)
  • predisposto qpdfview (visualizzatore pdf) per aprirsi sempre con l'ultimo documento aperto. rimosse toolbar. ecc ecc
  • impostato autostart per qpdfview per aprirsi automaticamente al boot
  • installato retrogame per inviare keystroke dai GPIO (per abilitare pedali e pulsanti)
  • installato wmctrl per inviare il comando che forza il visualizzatore a stare in primo piano ( wmctrl -r qpdfview -b add,above )
  • scritto e installato lo script che lancia qpdfview, lo espande a pieno schermo e poi lo fissa in primo piano (soluzione non ottimale perchè può comunque perdere il focus) - potrei risolvere se ogni volta che ricevo un comando dai pedali riporto il focus su qpdfview con il solito magico wmctrl
  • installato pdfmixtool
  • modificato /boot/config.txt per usare il monito in modalità verticale/portrait (ma la risoluzione è "stirata", va sistemata)
  • modificato /boot/config.txt per abilitare GPIO3 con pressione di 5 secondi a fare lo shutdown. un nuovo press riavvia il PI
  • configurato RetroGame per pagina avanti e indietro con i due GPIO che useremo con i pedali e con un GPIO per alternare bianco/nero nel lettore PDF
  • impostato config_hdmi_boost in /boot/config.txt a 7 per cercare di evitare lo spegnimento casuale di qualche secondo del monitor che capitava su certi palchi. (per ora sembra funzionare)