PREPARE PARTITURE FOR PRINT - CAPELLA 10
VERSION 5.0 SAFE

TATO VERZE NAHRAZUJE VSECHNY PREDCHOZI VERZE.

BEZPECNA ARCHITEKTURA

- zadne threading,
- zadne ctypes,
- zadne ovladani dialogu Windows,
- zadne automaticke Ctrl+R,
- zadne opakovane spousteni pluginu,
- zadne prubezne zmeny otevrene partitury.

Skript nejprve ulozi otevrenou partituru do docasneho CAPX.
Cely novy vysledek vytvori mimo otevrenou partituru.
Pred nactenim vysledku overi, ze se nezmenil ani nezmizel zadny notovy objekt.
Teprve potom zaregistruje jedno Undo a jednim score.read() nacte hotovy vysledek.

UNDO

V nabidce Undo ma byt:
Prepare partiture for print

Jedno Ctrl+Z ma vratit stav pred spustenim skriptu.

DIALOG

Maximum measures per system: 1 az 16

Cislo je pouze maximum. Skript muze pouzit mene taktu podle hustoty zapisu.

ADAPTIVNI ZALOMENI

Skript odhaduje minimalni vodorovnou sirku kazdeho taktu podle:

- poctu notovych sloupcu,
- nejkratsi notove hodnoty,
- poctu hlav v akordu,
- posuvek,
- tecek,
- textu pisne,
- textovych a grafickych objektu.

Potom dynamickym programovanim vybere zalomeni tak, aby:

- zadny system neprekrocil zvolene maximum,
- nebyla potreba nebezpecna komprese,
- radky nebyly zbytecne prazdne,
- objekty s noteRange nebyly rozdeleny uprostred.

KONTROLA OBSAHU

Pred nactenim do Capelly se porovna presna XML posloupnost vsech notovych objektu
v kazde osnove a hlase. Pokud se cokoli prida, odstrani, zmeni nebo prehodi, skript
skonci chybou a otevrena partitura zustane beze zmeny.

SVISLE ODSTUPY

Pro kazdou osnovu se konzervativne pocita presah nejvyssich a nejnizsich not,
nozicek, textu pisne a grafickych objektu. Potrebna rezerva se zapise jako
extraDistance top a bottom. Komprese vodorovnych rozestupu se vypne.

OMEZENI

Tato bezpecna verze zamerne odmitne partituru, pokud:

- se mezi systemy meni pocet osnov nebo hlasu,
- jsou uvnitr systems graficke stranky,
- system obsahuje samostatne systemove objekty mimo staves,
- nota nebo pomlka prechazi taktovou hranici bez spravneho rozdeleni,
- jeden jediny takt je prilis husty pro dostupnou sirku stranky,
- nelze zachovat objekt s noteRange bez poruseni zvoleneho maxima.

V techto pripadech se otevrena partitura nezmeni.
