Closed GoogleCodeExporter closed 8 years ago
I think since freestyle is a note status it should be applied to lyrics and not
lyric lines. Having a menu option such as "Toggle Freestyle" that applies to
all selected lyrics would be ideal. This has the advantage that the user can
apply the freestyle status without having to have already defined the lyric
lines. Also, if a whole song is freestyle they can apply the status all at once
instead of once for each line.
Original comment by xander4j...@yahoo.com
on 9 Aug 2010 at 10:35
That makes sense. Now the only tricky part is dealing with the freestyle
characters, I think they should probably be kept outside of the lyric text, and
the lyric just tracks whether it is freestyle or not. So if they enter a lyric
whose text contains '#' or '^', the lyric should be flagged as freestyle, and
EOF should remove all instances of those freestyle characters from the string.
Perhaps the lyric text input dialog could have a checkbox so the user has
another way of indicating if it's freestyle, as an alternative to providing an
indicator in the lyric text or flagging the lyric as freestyle afterward.
During export, the freestyle indicator could be appended to each lyric that was
freestyle. Since the freestyle characters will be removed automatically, the
freestyle lyrics would need to be rendered in a way that made their status
obvious, such as a different color, font style, underline, etc. I don't think
we can rely on background color because the overdrive rendering already uses
that, and it could get complicated for lyrics that are both freestyle and
overdrive (which I believe is valid).
Original comment by raynebc
on 9 Aug 2010 at 10:41
Not sure why the "Toggle Freestyle" function couldn't just go through and put
or remove '#' from the end of the lyric text. Applying it directly to the lyric
text is the most obvious way to do it. I don't see the advantage of using a
flag.
Original comment by xander4j...@yahoo.com
on 9 Aug 2010 at 11:10
I suppose it could go either way, but if the freestyle characters are
maintained in the lyric text, every edit of the text would have to check for
the character to make sure it was at the absolute end of the string, and not
someplace incorrect such as before a hyphen.
Original comment by raynebc
on 9 Aug 2010 at 11:19
Did you prefer to have both a note status bit flag and the pound character
maintained simultaneously, or just the pound character? I'm not sure if
there's a point to maintain both since it would be redundant, but I figured I'd
ask.
Original comment by raynebc
on 10 Aug 2010 at 8:26
I am for using the pound character only unless there is some advantage to using
a flag as it's easier to implement.
With the flag you are hiding details of the implementation from the user which
could be good or bad. I tend to see it as a bad thing to encourage ignorance
but in this case it could be either way. If someone is editing their lyric
after applying freestyle would they wonder why there is a '#' there? I see most
people applying freestyle after they've already entered the lyric text most of
the time. Only if they spotted an error would they go back and edit the text.
I suppose user-friendliness is about hiding those kind of details from the
user. One thing about using the flag is it forces the user to do things the EOF
way. This might confuse people who are looking at RBN learning how to do a
proper PART VOCALS chart.
With all that said I think I am definitely against using a flag to specify
freestyle lyrics. The documentation for "Toggle Freestyle" could explain the
'#' symbol and how the game interprets it thus eliminating any confusion.
Original comment by xander4j...@yahoo.com
on 11 Aug 2010 at 12:03
r287 adds logic to put this into action. I suppose it would be best to call
eofFix_lyric() for each lyric when the chart is loaded and each time a lyric is
added or edited. This will guarantee that the lyric has is correctly
formatted, with the freestyle at the end of the lyric string. The main
limitation I see with this function is that it will force all '^' freestyle
characters to be rewritten as '#'. This behavior can be altered, but I don't
know if it's a very important issue.
Other than that, menu items and perhaps keyboard commands can be added to
enable/disable/toggle freestyle for selected lyrics.
Original comment by raynebc
on 12 Aug 2010 at 9:14
We'll need to make a decision about how to handle pitchless lyrics. We can
either deal with them during export (appending a pound character and assigning
a pitch) or automatically append the pound character after the pitchless lyric
is placed. Since some users may place them as pitchless and would assign the
pitch later, it might annoy them if they had to remove the pound character that
was automatically added. One possible solution to this would be to use a lyric
status to track whether the lyric was automatically made to be freestyle. If a
lyric with this status had a pitch assigned later, the pound character that was
automatically appended to the lyric text could be automatically removed.
Original comment by raynebc
on 13 Aug 2010 at 5:29
r290 completes most of this functionality. Now all that's left is to address
the pitchless lyric handling.
Original comment by raynebc
on 13 Aug 2010 at 10:51
The rest of this can be addressed in issue 110.
Original comment by raynebc
on 15 Aug 2010 at 7:27
Original issue reported on code.google.com by
raynebc
on 21 Jun 2010 at 1:33