Gamer125 / fofix

Automatically exported from code.google.com/p/fofix
0 stars 0 forks source link

Lyric spacing #949

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
When playing FoFiX on vocals it's hard to sing.
Words are very close each other, that makes hard to read them.
Here's example http://i28.tinypic.com/dey6vs.jpg

Original issue reported on code.google.com by bloodpai...@gmail.com on 25 Aug 2009 at 9:58

GoogleCodeExporter commented 9 years ago
Any ideas how to handle this..? The issue in scrolling mode is that spacing it 
out 
more makes it rather a lot harder to read (as it is required to scroll faster - 
also 
it does increase speed on harder difficulties as it is; perhaps we just make 
all 
diffs use 'expert' speed...), and in single-line display the words just don't 
all 
fit... Making the font smaller is an option, but I'm not sure how much smaller 
it 
can go before it's uncomfortably small.

Original comment by aked...@gmail.com on 26 Aug 2009 at 3:32

GoogleCodeExporter commented 9 years ago
I couldn't come up with a simple or elegant way to handle this after I 
initially got 
scrolling MIDI lyrics to work; it was apparent that I was going to have to 
check, for 
each word, whether the size of the previous word is large enough to overlap the 
starting point for the current word.  

Once this logic is in place and working correctly, you have some options:

1) Offset the current word down one line (to where the second line of lyrics 
would be 
in 2-line mode), which is a quick and dirty solution that would also look a bit 
messy; however, it might be an acceptable option to add first and keep for 
those who 
grow accustomed to it.  

2) Shrink the previous word's font sizing until it no longer overlaps (this 
would 
also look a bit... trippy)

3 - Rock Band's implementation) Increase the overall, constant scrolling speed 
of the 
lyrics until the previous word no longer overlaps.  This speed increasing would 
continue for each lyrical overlap case found throughout the song until a 
minimum 
lyric scrolling speed is found where no words overlap.  This is, by far, the 
most 
sensible and professional way to handle this.  Also why I presented it last :)

...This logic can be implemented in real-time, but it would probably have to 
process 
an entire screen ahead at all times so that no visible jumps or changes take 
place 
with the lyrics.  The speed changes would have to be handled one screen ahead 
of time 
but would still be visibly noticeable.

The logic can also take place during initialization; simulating all the font 
sizes 
and positions throughout the entire song without actually rendering them.  
Then, as 
long as the resulting adjustments are stored in an array corresponding to the 
words, 
the real-time implementation becomes much simpler (retrieve the offset or size 
change 
from the array for each word before they are rendered -- or just use the 
resulting 
lyric scrolling speed from the initialization routine).

... hope this helps!  

Original comment by chris.paiano@gmail.com on 27 Aug 2009 at 1:41

GoogleCodeExporter commented 9 years ago
(obviously, you can also run option 3 with overall lyric font sizing until no 
words 
overlap anywhere in the song, but as akedrou stated - many songs would end up 
with 
unreadably small lyrics.)

Original comment by chris.paiano@gmail.com on 27 Aug 2009 at 1:44

GoogleCodeExporter commented 9 years ago
(and, for a simplistic method of spacing the words out, ensure that the words 
are cut 
up with a space at the end of each word's text string.  The aforementioned 
lyrical 
overlap logic would automagically result in perfectly spaced words every time.)

Original comment by chris.paiano@gmail.com on 27 Aug 2009 at 1:46

GoogleCodeExporter commented 9 years ago
...and when I have been saying "word" and "words" in the previous comments, I 
have 
meant "syllable" and "syllables."

Original comment by chris.paiano@gmail.com on 27 Aug 2009 at 1:51

GoogleCodeExporter commented 9 years ago
I read all of the available options but I'm a bit confused.

Why not just increase the speed to mock the RB/GH singing? The games have no 
issue
with overlapping.

I'm probably just blind and lazy, so forgive me if you've already stated why.

Original comment by aus_fla...@live.com.au on 13 Nov 2009 at 8:37

GoogleCodeExporter commented 9 years ago
Because increasing the speed makes it very hard to read on alot of songs as the 
speed 
goes by too fast.

Original comment by StagingTheUniverse@gmail.com on 14 Nov 2009 at 6:42

GoogleCodeExporter commented 9 years ago
Hello, got the new version of FOFix and looking good, good work

In regards to the lyrics, RB has another way of setting the words out , rather 
than
scrolling it loads them up ahead of time so that when it comes time to display 
the
words, they are ready, now this only works from what i've seen when you play w/ 
just
the microphone, there's the option of displaying at the top or in a box at the
bottom, if i can find a screen shot i will post it, but here's my 2 cents in 
hopes
that it might help having that knowledge :)

Original comment by mods...@gmail.com on 21 Dec 2009 at 6:47

GoogleCodeExporter commented 9 years ago
You're referring to "Static" lyrics as opposed to "Scrolling" lyrics.

I already implemented this; you can already select different lyric display 
modes.  This 
issue is only for the improvement of the "Scrolling" lyric mode.

Original comment by chris.paiano@gmail.com on 2 Jan 2010 at 5:42

GoogleCodeExporter commented 9 years ago
not really so much a static thing, when i get my cam hooked up and can play RB 
with 
the mic i will take a picture and post it as to the "other" way the lyrics are 
displayed

Original comment by mods...@gmail.com on 17 Jan 2010 at 4:31

GoogleCodeExporter commented 9 years ago
Ok here is a picture i took just now to better illustrate.
http://img96.imageshack.us/i/picture005mbs.jpg/

Original comment by mods...@gmail.com on 17 Jan 2010 at 5:24