Kto gra na koncertach z tekstami i akordami przed sobą, zna ten problem. Segregator z wydrukami rośnie z każdym nowym utworem, kartki trzeba przekładać w trakcie grania, a jeśli wokalista poprosi o inną tonację, akordy przepisuje się ręcznie, najlepiej dzień przed koncertem. Tablet na pulpicie rozwiązuje większość tych kłopotów, pod warunkiem że działa na nim coś, co rozumie, jak wygląda granie na scenie.
Gotowych aplikacji do śpiewników jest sporo, ale wolałem mieć taką, w której wszystko ułożę po swojemu, więc zrobiłem własną. A potem jeszcze jedną, i jeszcze kilka, bo każde granie miało trochę inne wymagania.
Pierwsza wersja na Zaduszki
Pierwszy śpiewnik powstał pod koniec października 2025 roku, przed Zaduszkami Literackimi. Był jednym plikiem HTML, w którym siedziało wszystko: teksty, akordy, wygląd i logika. Od początku był też aplikacją PWA, czyli stroną, którą instaluje się na tablecie jak zwykłą aplikację i która działa bez internetu, bo wszystko, czego potrzebuje, trzyma u siebie.
Już po tygodniu jeden plik zrobił się za duży, żeby dało się w nim wygodnie cokolwiek poprawiać, więc rozbiłem go na osobne pliki ze stylami, logiką i danymi. Przez cały listopad powstało kilkadziesiąt kolejnych poprawek. Każdy utwór dostał zapisane tempo i autoprzewijanie, które przesuwa tekst w rytmie piosenki, do tego transpozycję jednym przyciskiem i własny rozmiar czcionki. Doszły też tabulatury, które da się odtworzyć dźwiękiem, a nawet import plików z Guitar Pro i zwykłych tabulatur zapisanych w tekście.
Kolejne śpiewniki
W grudniu z tego samego kodu powstał śpiewnik z piosenkami świątecznymi. W marcu zrobiłem coś zupełnie innego: nawigator setlisty na iPada, do grania z oryginalnych kartek zamiast przepisanych tekstów z akordami. Pokazuje pliki PDF i zdjęcia w kolejności koncertu, przewija się gestem, ma podkłady pod ręką i tryb pełnoekranowy, w którym nic nie odciąga uwagi od zapisu.
Scena, czyli wersja, która została
Od kwietnia do czerwca powstawała wersja, którą nazwałem po prostu „scena”. To śpiewnik na cały repertuar, dziś z 95 utworami, zbudowany tak, żeby w trakcie grania nie trzeba było niczego szukać. Autoprzewijanie ma kilka ustawień tempa, od bardzo wolnego do bardzo szybkiego, i zatrzymuje się dotknięciem ekranu. Ekran nie gaśnie w połowie utworu, a wieczorem można przełączyć się na ciemny motyw, który nie świeci po oczach z pulpitu.
Utwory układa się w playlisty i setlisty, oglądane jako lista albo w kolumnach. Na klawiaturze strzałki przełączają piosenki, a spacja włącza autoprzewijanie. W czerwcu scena dostała też transpozycję akordów. Nowe utwory dodaję w panelu administratora, który publikuje całą bazę jako jeden plik, a aplikacja na tablecie sama zauważa, że jest nowa wersja, i proponuje jej pobranie. Do przepisywania tekstów ze zrzutów ekranu służy rozpoznawanie tekstu, które działa na samym urządzeniu, bez wysyłania czegokolwiek do sieci.

Co się psuło
Największym kłopotem okazało się to, co miało być największą zaletą, czyli praca bez internetu. Aplikacja PWA trzyma swoje pliki w pamięci tabletu i przy następnym uruchomieniu bierze je właśnie stamtąd, więc po wgraniu poprawki tablet potrafił przez długi czas pokazywać starą wersję. Skończyło się na przycisku w panelu administratora, który wymusza pobranie świeżych plików.
Inne kłopoty były mniej spektakularne. Układ tekstu w kolumnach rozjeżdżał się w jednej przeglądarce, a przy porządkach w repertuarze wyszło, że ponad pięćdziesiąt utworów mam dwa razy. Żeby nie sprawdzać wszystkiego ręcznie na tablecie, napisałem test w Playwright, narzędziu sterującym przeglądarką bez udziału człowieka. Test otwiera śpiewnik w rozmiarze ekranu iPada, pionowo i poziomo, i robi zrzuty każdego widoku do obejrzenia za jednym razem.
Czego mnie to nauczyło
Każdy z tych śpiewników zaczynał się od konkretnego grania: Zaduszek, świąt albo koncertu z oryginalnych kartek. Dopiero kiedy kilka takich wersji stało obok siebie, było widać, co jest wspólne, a co było potrzebne tylko raz, i z tego wyrosła scena. Wniosek jest taki, że nie trzeba od razu budować aplikacji na każdą okazję. Lepiej zrobić coś małego pod jedno granie, zagrać z tym koncert i dopiero wtedy wiedzieć, czego naprawdę brakuje.

