• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Improved line spacing
#16
Great that improved line spacing now allows independent settings for "Line Spacing" and "Chord Line Spacing".
(btw: I reported somewhere else that "Line Spacing" in 3.9.17 eink did not work on my Boox. This is fixed, it works on the Boox as well as on other OSs)

But I would prefer  "Line Spacing" and "Chord Line Spacing" the other way round.

       

On the left both "Line Spacing" and "Chord Line Spacing" are set to 1.0 like I had it set in 3.9.17 (I had no other choice due to the reported bug)

Reducing the line spacings should allow enlarging fonts for chords and lyrics a bit for better readability with the whole song still fitting on one page.
In the screen shot on the right I exaggerated what I want to do to make it more obvious what I'm talking about.
For saving space I moved the chords closer to the lyrics line where they belong to. This works fine so far. What bothers me is, that lyrics lines that have no chords are now so close together, that they are quite unreadable. 

With two independent settings as we have it now, it would be better if lyrics lines without chords would have the same distance as the bottom of a lyrics line to the top of the chords of the next line (in case that has chords).
Changing it that way would require neither a database change nor a UI change, it can be achieved just by the way the code works. Even the wording in the UI would fit. If  "Chord Line Spacing" means the distance between a lyrics line and its according chords it would also perfectly logical, as I user I have to get used to the meaning anyway, which of the two values changes what.
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#17
The line spacing is handled just as a multiplier right now for the line height determined for any chord or lyrics line. Text rendering is a little weird on Android where it doesn't render from the coordinate downward - it renders from the coordinate upward. This means if I wanted text at the top left corner, I couldn't put it at 0,0. I would have to measure the font, then move down the insertion point by the height of that line so that it would show up properly. So for each line in a ChordPro file, I'm figuring out the line height first, then shifting downward that much, then I render the text for that line. So the line spacing is not handled in a way where it's just the space between each line - it just increases the height for each lyrics line. Similarly, the chord line height just increases the chord line height, so it's moving from the bottom of the text on the last lyrics line, moving down the chord line height, and then rendering the chords there. So it's increasing the space above the chords, not below them. The same is true for the lyrics - it's the space above them, not below them. It's not entirely intuitive, but a consequence of how the rendering works. This means you can't move chords closer to lyrics without also moving lyrics lines closer together if you change the lyrics line spacing. Similarly, you can't adjust the space between chords and the line that follows it with chord spacing - you can just change the spacing above it. I don't think there is any easy change I can make to this without creating massive changes to file layouts which would mess up things like annotations users have placed.

If I changed the implementation of the lyrics and chord line heights so that, instead of just increasing the height of (or more accurately the space above) lyrics and chords, that I measured out the lyrics first, then once that line is rendered, offset the next insertion point by the lyrics or chords line height, I think it would be more intuitive (as that is adding space after, not before the text). Like I said above, that could create significant differences in the layout, so I might have to add a setting to control which approach is used so that I don't break people's libraries with this change.

Mike
Reply
#18
Sad to hear that. I understand your technical arguments, but from a users point of view being able to specify two different line spacing values is by far less valuable as it could be. If a song has verses where no chords are specified it doesn't make sense for me to set chord line spacing to a different value as line spacing.
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#19
(09-15-2025, 11:17 AM)Zubersoft Wrote: If I changed the implementation of the lyrics and chord line heights so that, instead of just increasing the height of (or more accurately the space above) lyrics and chords, that I measured out the lyrics first, then once that line is rendered, offset the next insertion point by the lyrics or chords line height, I think it would be more intuitive (as that is adding space after, not before the text). Like I said above, that could create significant differences in the layout, so I might have to add a setting to control which approach is used so that I don't break people's libraries with this change.

Mike

After having made a global change to the lyric and chord line heights that looks and works perfectly for most songs, I am now encountering the same issue with the spacing on lyrics that don't have chords as itsme. I have no idea how much work would be required to configure this, but if there is indeed a way for the line heights to be implemented in the way you describe above, I think that would definitely solve the problem and feel more intuitive with what's trying to be achieved.

Cheers
David
Musician, Linux User & Old Rusty VDub Driver.
Wood, Wire & Words
Reply
#20
Dear Mike,
Thank you so much for implementing my idea, it is a huge improvement for me!
However, it only works perfectly in Android and Windows versions.
In iPad version, Chord Line Spacing does nothing at all.
Could you please fix this?

Spyros.
Reply
#21
That's strange - I'll look into it.

Thanks,
Mike

Update:

I have it fixed for the next update (3.9.35).
Reply
#22
Perfect, keep up the good work!
Reply




Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2026 MyBB Group.