„Ott van öröm s örök pálma, Hol sok ezren az égben, :/: Isten trónja előtt állva Tündöklő fényességben, A dicső szent angyalokkal, Minden megboldogultakkal A Jézust magasztalják, Megtartójuknak vallják.” (Református énekeskönyv, 405. dícséret 4. vers)
A március 15-i hosszú hétvégén jónak tartottam megtanulni a(z Android) mobilalkalmazás-fejlesztést. E témában az első szárnycsapásom egy énekeskönyv (elérhető Google Playből és az Apple App Store-ból).
Miért?
- A főiskolán a Tiszaladányi jeremiád kapcsán annyiszor énekeltünk a 35. zsoltárt kiegyenlített ritmusban, hogy kotta nélkül mind a mai napig nem tudom a rendes ritmusában énekelni. Mivel ez a kotta az én papír-alapú énekeskönyvemben jobb oldalra esik, viszont az ugyanezen dallamra éneklendő 347. dícséret bal oldalra, ezért nagyon kellemetlen soronként oda-vissza lapozni.
- Előfordul, hogy összekeverem énekek dallamát – főleg, ha nem az ismert, első versszakával kezdjük énekelni az istentiszteleten.
- Ugyan régóta van a telefonomban énekeskönyv (igaz, csak EPUB formátumban, csak a szöveg), ezért a papír-alapú énekeskönyvemet kölcsönadtam, ha valakinek szüksége volt rá, de ez a pandémia alatt valahogy kellemetlenné vált. Viszont egyre inkább terjed a mobiltelefonból való éneklés, Bibliaolvasás – ami az én véleményem szerint egyáltalán nem ördögtől való.
- Az általam ismert énekeskönyv-alkalmazásokban a kottakép idejétmúlt, használatuk nehézkes. Ezzel nem akarom bántani a szerzőiket, csupán kíváncsi voltam, tudok-e jobbat csinálni. Meggyőződésem, hogy a jelenlegi állapot nem jobb a többinél, csak más: bizonyos szempontból újszerű megközelítés, sok más szempontból meg visszalépés a többihez képest.
Így esett a választásom az énekeskönyvre, mint mobilalkalmazásra. Néhány tulajdonság:
- Minden ének minden verse kottával jelenik meg. Azoké is, amelyek más ének dallamára éneklendők.
- Minden kottakép
csak egyszer szerepel a programban, hogy a letöltési méret kicsi maradhasson – az viszontSVG formában (vektorosan, torzítás és minőségromlás nélkül nagyíthatóan) tárolódik, így (elméletileg) minden kijelzőméreten az elérhető legjobb minőségben jelenik meg. Az összes ének összes versszakaszótagolvatárolódik, csak egy-egy versszak megjelenítésekor kerül behelyettesítésre a kottakép sorai alá. Mivel a kottaképek csak egyszer szerepelnek, viszont a szövegben a szótagok nem minden énekversben egyforma szélességűek, ezért minden ének minden versszakát külön-külön ellenőriztem, hogy lehetőség szerint ne torlódjanak egymásra a betűk. Emiatt néhol nem feltétlenül esik egymás alá a hang és a hozzá tartozó szótag középvonala, de igyekeztem az énekelhetőséget szem előtt tartani.- A legtöbb idő a szövegek elválasztásával ment el, mert nem találtam olyan automatizmust, ami a 48-as énekeskönyv szövegét megfelelően el tudta volna választani. Ezúton is köszönöm ebben a segítséget!
Szokás mondani, hogy egy program sosem készül el teljesen, csak az aktuális változata kiadásra kerül – most sincs ez másként, lévén első (Androidos) mobilalkalmazásomról van szó. Ez számomra teljesen új terület, kizárólag szabadidőmben tudok foglalkozni vele – és természetesen nem elég egy hétvége, hogy beletanuljak. A fejlesztés során felmerült azonban pár ötlet (az időközben megvalósultak áthúzva):
Egyedi alkalmazásikon.Natív Android helyett Flutter alkalmazás, hogy később akár iOS-re is ki lehessen adni.Közzététel GitHubon.Közzététel a Google Play áruházban, hogy könnyebben megtalálható, elérhető és telepíthető legyen.Lapozás legyintéssel (swipe).Keresés a szövegben (ehhez a szöveget elválasztás nélkül is el kell tárolni, és újra végignézni az egészet).- Beállítási lehetőségek: háttér-, kotta- és betűszín;
sötét mód támogatás; kikapcsolható kottakép (egy ének összes versszaka jelenjen meg külön oldalon kottával; vagy csak az első versszakhoz legyen kotta, majd alatta nagyítható szövegként a többi versszak; vagy egyáltalán ne legyen kotta, csak nagyítható szöveg). - Hanglejátszás MIDI-ként (akár kísérettel, a korálkönyv alapján – ami megintcsak nem kis munka lenne).
- Mivel a program általános, csak a kottaképeket és a szövegeket kell hozzáigazítani, ezért további énekekkel is lehetne bővíteni (
21-es énekeskönyv, vagy akár a honlapomról az összes ének anyaga). - Többszólamú énekek (kórusművek) kezelése (nagy odafigyelést és aprólékos előkészítést igényel, de a keretrendszer felokosítása után elvileg akár szólamonként külön is meg lehetne jeleníteni a kottát).
S hogy ez miért jó nekem? Mert az Istentől kapott tudással és tapasztalattal szolgálhatom Őt, a közel s távol körülöttem élők egyéni és gyülekezeti éneklésben való megsegítésére. Éppen ezért teszem közzé a munka eredményét: fizessen érte más is annyit, amennyit én kaptam érte: szolgáljuk együtt Isten dicsőségét! Ha pedig valami hibát találsz, akár kottában, akár szövegben, légyszíves jelezd, és igyekszem mihamarabb javítani.
Frissítés 2022. március 15-én:
- Versszakonként külön SVG (így sem lett eszement hatalmas az alkalmazás mérete).
- Egyedi alkalmazásikon.
- Natív Android helyett Flutter alkalmazás (iOS verzió később).
- Közvetlen ugrás megadható énekre.
Frissítés 2022. szeptember 25-én:
- Szöveg- és dallamhibák javítása.
Frissítés 2022. december 11-én:
- 21-es (kék) és 48-as (fekete) énekeskönyv teljes anyaga elérhető.
- Közzététel GitHubon és a Google Play áruházban.
Frissítés 2022. december 23-án:
- Lapozás legyintéssel (swipe).
- Keresés az énekversek szövegében.
Frissítés 2023. január 12-én:
A GitHubon való közzététel után rengeteg segítséget kaptam Fodor Benedektől; az alábbiak jó része már az ő munkája:
- Ének- és kottahibák javítása.
- Fekvő módban vezérlők a jobb oldalon.
- Énekszámok megjelenítése az énekléptető gombokon.
- Metaadatok könyvfüggő megjelenítése.
- Ének címe csak fekvő módban tűnik el.
- Kotta opcionális/részleges kikapcsolása.
- Állítható betűméret szöveges módban.
- Világos/sötét mód támogatás, külön az alkalmazásra és a kottára.
- Közzététel az Apple App Store-ban.