Import textových (.txt) souborů

Zpěvník nově podporuje import .txt souborů. U txt souborů je import méně spolehlivý než import z klasických .xml (nebo do budoucna .json) souborů, ale může být vhodnější pro ruční editaci. Primárním účelem je import existující databáze ve formátu .txt souborů. Pro každodenní editaci a přidávání je lepší použít webový editor.

Import .txt souborů je zatím experimentální a zamčený. Pro odemčení je potřeba Zpěvník hacknout.

## Editory

Pro editaci txt souborů je vhodné používat jakýkoliv textový editor. Na Windows doporučuji například český PSPAD, který zároveň parádně zvládá češtinu a české kódování.

## Jak importovat

* Poslat si .txt soubor emailem (anebo .zip soubor obsahující víc .txt souborů - vic níže).
* Kliknout soubor přílohy emailu v android zařízení a vybrat "Importovat do Zpěvníku".

## Formát souboru

Protože v .txt souboru nejsou žádná metadata, snaží se název songu a autora získat z první řádky.

Pokud první řádka obsahuje pomlčku, použije vše před pomlčkou jako název autora a vše za pomlčkou jako název songu.

Zpěvník také částečně podporuje formát ChordPro , který používá například program SongsGen.

Podporovány jsou tyto chordpro direktivy:

* title/t (název)
* artist (autor)
* subtitle/st (použije se jako autor, pokud neni artist)
* metronome/bpm/tempo
* time/length/duration (čas v sekundách anebo ve formátu XX:YY)
* soc/start\_of\_chorus (začátek refrénu)
* eod/end\_of\_chorus (konec refrénu)

Pro samotný text se používají klasická pravidla zápisu.

## Kódování

Import se snaží detekovat česká kódování (celkem úspěšně zvládá poznat CP1250, ISO-8895-2 a IBM852), ale nejjistější je používat UTF-8.

V PSPADu se nastavuje přes Formát -> UTF-8

## ZIP a kódování

Pro import více souborů najednou se dá poslat ZIP archiv. Zpěvník používá název souborů pro generování identifikátorů a předpokládá, že názvy souborů v ZIP archivu budou kódovány pomocí UTF-8 anebo nebudou obsahovat diakritiku (to je jistější). O problému více zde:

https://bitbucket.org/karelhovorka/zpevnikandroid/issues/286/importovat-zip-soubory

## Identifikátor

Soubory v txt formátu nemají žádný identifikátor, který slouží k porovnávání - pokud je stejný identifikátor, jedná se o stejný song a při dalším nahrání se místo vytvoření dalšího songu existující aktualizuje (přepíše).

Identifikátor se primárně tvoří ze jména souboru (pokud je dostupný - například klikem na přílohu v androidu se Zpěvníku dostane soubor bez názvu). Pokud je název souboru nedostupný, vytvoří se na základě názvu songu. Pokud tedy změníte v txt souboru název songu, při importu vytvořený identifikátor se nebude shodovat s předchozím.

## Proč ne Word a .doc/docx/odt formáty

Formáty wordu a podobné jsou problematické a není plánována jejich podpora z několika důvodů:

* Každá verze word dokumentu je jiná a zobrazuje se v jiném editoru jinak. Openoffice, libreoffice, MS office a další - každý mají svá specifika. Snaha Zpěvníku je sjednotit zobrazení textů a akordů. Podpora těchto formátů by přidala hromadu problémů a nedostatků, které není lehké řešit.
* Přidání knihoven, které tyto formáty zpracovávají by velikost android aplikace zvětšilo minimálně několikanásobně. To je věc, která za to nestojí.

## Online editace

Jedna z možností jak snadno přidat songy je přes webový editor, který je synchronizovaný s android zařízeními přes google účet:

https://dev.zpevnik.eu/