Open gyuris opened 9 years ago
Szerintem, egyik megoldás sem jó. :-(
Két problémát látok:
Csak hangosan gondolkodnék a lehetséges megoldásokól:
</chords>
lezáró tag nélkül is kinyerhető az az információ, hogy meddig tart az akkord. Viszont nem egyeszerű történet a szöveg megyújtása.
Egyik lehetséges megoldással sem vagyok elégedett. Igazábol csak gondolatébresztőnek szánnám őket....
Én asszem az első megoldásban gondolkodnék némi kiegészitéssel:
Bevezetnék egy új elemet <space len="3"/>
, amit a szöveg nyújtására használnék.
Jelen helyzetben, ha az akkordok egymásra csúszását megakadályozzuk, így nézne ki:
<lines><chord name="G#m7"/>Bo<chord name="C#m4"/>ci boci tarka</lines>
G#m7C#m7
Boci boci tarka
<space>
node bevezetésével, így nézne ki:
<lines><chord name="G#m7"/>Bo<space len="3"/><chord name="C#m4"/>ci boci tarka</lines>
G#m7 C#m7
Bo - ci boci tarka
A len
attributumban megadott érték egy relatív hossz érték kellene hogy legyen. Pl. az adott betütipusban az X karakter hossza. Ez a megoldás még mindig csak fixed betűtípusokkal működne tökéletesen. Nyilván a szövegeket és space-eket be lehetne "lőni" más betűtípusokhoz is, de ez a fajta függőség nem szerencsés.
Hát asszem probléma felvetésen én sem jutottam tovább...
Felbontva a #7-t:
A probléma leírása: Van néhány egybefüggő probléma abból fakadóan, hogy a szöveg és az akkord hossza nincs szemantikailag egymáshoz rendelve. Ez megjelenésben azt jelenti, hogy jelenleg az akkordról csak azt tudjuk megmondani, hogy a szöveg egy bizonyos pontján helyezkedjen el, mégpedig onnan jobbra folyva:
A problémát akkor érthetjük meg legkönnyebben, ha a ennek a javaslatnak a 3D-s dobozmodelljét szemügyre vesszük:
A példa refrénjének 2. és 4. sora közt a különbség:
Az (1) problémára megoldás
El lehet azon gondolkodni, hogy a
position="after"
vagy aposition="middle"
szükséges-e?Első javaslat a többire
Két akkord írásmódot kell engedélyezni, melyek mást jelentenek szemantikusan és máshogy is kell őket megjeleníteni:
chord:empty
) így le tudjuk kezelni a másik esettől.Ezzel a javaslattal csak egy baj van: visszafelé nem kompatibilis. A 0.8-as verzióra készített akkordokra külön kell karbantartani egy egyszerű jobbra folyó nézetmódot (ez simán kezelhető a
<song version="0.8">
alapján).Második javaslat a többire
Ez a következő csomagot jelentené:
Ez egyrészt:
Értékelés
Én az első preferálom, mert ez a legszebb szemantikai megvalósítás. Kérdés mennyire örülnek azok, akiknek már van egy halom akkordjuk OpenLyrics-ben.