Which option should I use? |
20 characters per line, one AppVar, and half resolution |
|
100% |
[ 5 ] |
26 characters per line, two AppVars, and normal resolution |
|
0% |
[ 0 ] |
|
Total Votes : 5 |
|
I am planning to make a program with the lyrics of See You Again by Wiz Khalifa. A screenshot of the background is:
Should I use this as the background for the whole program, or should I do white text on all black like in this video?
https://www.youtube.com/watch?v=BVhuZQ3sAcU
However, there will be no audio. Because it will only work on the TI-84+CSE, should I use For( loops for time delays, or should I just use startTmr and at specific values display the lyrics?
Edit: Using xLIBC DrawString works in half resolution, and I can display 20 characters per line, but I will make it less so text is centered and none is cut off. Or should I use two BG Pic things to display the same thing but use two appvars and not half resolution, so I can display 26 characters per line instead?
Well, I think you should just specify a template for making lyrics, have a sample of a song, and make the users make an appvar for his/her song. You can have an input for the name of the appvar and go from there. A background isn't that necessary, but it would enhance the value.
I think what you could do is put the background on the screen, and leave a white banner on the bottom where the lyrics will be printed. Then, use an appvar to contain lyric data. As for delays, you could set it up in the same appvar, using the first line of the lyric and the second line for the delay in terms of the number of cycles, and the third line for the second line of lyrics, and the fourth for the delay of the second line and so on.
Code:
real(0,1 //Init half-res mode
real(8,1,0 //Declare left side as active
real(7,9,0,0,160,120,255 //Clear as a white screen
"WKBGPIC //Name of BG Appvar
real(5,2,1 //Display BG Pic
real(7,9,0,100,160,20,255 //Lyric banner
"rowSwap(WKLYRIC->Str0 //Name of Lyric Appvar data.
0 //Read 0th line
det(0 //to get the number of total lines in the appvar in _theta
For(A,1,_theta-1,2 //Loop through each line of lyric, skipping delay numbers
"rowSwap(WKLYRIC->Str0
A
det(0
Str9 //Get contents of the line and put it into Ans
real(6,0,1,101,0,## //To print out the lyric line (## is the return char)
A+1
det(0
For(I,1,expr(Str9:End
End
What do I do if the lyric line is more than 20 characters? Should I make it so that the rectangle is a little bigger to allow for two lines of lyrics? Soulfighter: Why should I clear the screen with white first if I could just use real(0,1,1) and then "NAME": real(5,2,0)? It would cover the whole screen being displayed.
Edit: I can have room for three lines of text at the bottom with the background I like without getting to the color (the bottom of the picture is black).
By the way, thanks for the guideline, Soulfighter. I will mention you when I finish my stuff in the readme for anyone who reads it. I was going to do something like that, but it really sped up the process because I didn't have to do much thinking about how I would do everything.
You tell the maker of the song lyrics to not make a line more than 20 characters...
But sometimes letters of words could get cut off, so I would ask them to put a character in the line to tell my program when to go to the next line, and if the program doesn't display all of the line, they might want to just try doing lines by commas or something, but I doubt that would happen. And I edited my post. I have room for three lines at the bottom. This means the line can have at most 60 characters.
Well it would stop displaying as soon as the program sees the character in the line, then display the next text on the next line...
You just have to make it clear not to make their lines more than 20 characters.
Yes. I will make it clear in the readme when I finish. This is the start of the lyrics that I am formatting:
Code: See You Again&(feat. Charlie Puth)%Wiz Khalifa
It's been a long day%without you my%friend
And I'll tell you%all about it when I%see you again
We've come a long%way from where we%began
Oh I'll tell you all%about it when I see%you again
When I see you again
All lines separated by % are 20 characters or less, and if I get a line too long, I will just display two parts of the line.
Update: So far this is easy, but I can't get the timings yet. I am just going to set the loop to 9999999 and press on and use RCL A. However, it would not be user friendly if someone wanted to do their own, because they would have to actually do some programming, not just put in the number of seconds for each line. The (old) demo is:
Sorry that it looks slow. The color I used for the text is 24 on the xLIBC color table. Should I change the color? I didn't like how it looked with black because part of the background seemed like part of an apostrophe.
Edit: Now I just have to do the timing, and something is going wrong with picture in look at the bigger picture and brotherhood in and when brotherhood come. What is going wrong with it? It looks really weird. Did Source Coder mess up when it got tokenized and stuff? Never mind. I needed to use backslashes around pi and something in the word brotherhood because something got converted to a character, and I did not tell Source Coder not to make it one character. Here is the gif:
I fixed a couple of bugs with the program and still have no timings, but I got another idea. What I want to do is create a menu in the beginning (without using the Menu( command) to ask which background the user wants to use or choose a custom background AppVar, and then I will use Input "Song AppVar:",Str0 for the name of the song. Should I make it so that they have multiple backgrounds to choose from, and if so, what kinds of images should I use? I already have a sunset as the one I have been using, and I want to make it really customizeable. Should I add some pokemon or yugioh or one of those trading card things as a joke? I also want to add None as an option to the menu for background, but I would have to completely change the program to make it a black background with white words on it unless I used something like real(DrawString, X, Y- number*(None=1), ...) with values for X, Y, number, and a variable for None. However, the person might find it annoying to have part of a line take up a small part of the screen and the next part on the next screen. Should I just make it so that the program makes you choose a background? I want backgrounds that aren't distracting and are 80x60 pixels because that is the size for a BG Pic AppVar thing. Sorry for the long post (or at least what feels like one), but if you take the time to read the whole thing, please reply with an image you would want for a background, preferably with the actual stuff to the image that matters more at the top, because I use three lines at the bottom of the screen for the words, filled with white and kind of blue-ish text. Thanks!
Thanks readroof2! I'm happy to help (it makes me feel happy when I get credit like that).
Edit:
If we can figure out the XLIBC Sprite Drawer, I'll give you credit, too!
By the way, what I shpuld have added in the code is that after the For( Delay is a FillRect command as white to clear the banner for the next line.
Edit:
The monochrome calculators had a lot of hybrid functions that I truly miss... There was a command to search for programs whose first line matched your search terms. But the one section I miss most of all os the Doors CS GUI. There were a lot of commands that could make your project a lot easier, readroof2... But, alas...
I will edit this post soon with the program so far (probably a gif), maybe with the program code. Both, actually. I still need to do the timings and want to add some more backgrounds.
Edit: Okay, here is the gif:
The Portal background is not messed up on the actual calculator.
Sorry it is so long. I wanted to show all of the backgrounds. Now I think all I have left to do is add timings to the song AppVar and the For( loop. Is it looking good?
I have made no progress so far because I am on a vacation, but as soon as I get back I will try to finish that up, and also update my program to learn 100 digits of pi to add little quizzes. I am really stuck on the timings, though. For the song program. Whenever I try to get the timings just right, it is off by a second by the middle of the song. Should I just make it a little harder for people to do the timings for their own songs?
Bump. Hello everybody. I couldn't get the timings right yet, but I uploaded it and it should be available soon. You just press enter to advance to the next line. I gave it a nice microphone icon. I hope I will update it, but I will see if there are file reviews about it and go from there. Or posts would work too. For some reason, when I used preset timings, it slowed down over time in the For( loops. Maybe it just happened over time because I had to keep reading lines in the AppVar SEEYOUAG. Any thoughts? Thank you in advance.
It is uploaded, but I can't find it in the archives for some reason.
MrDew25 wrote:
See you again by Wiz Khalifa and Charlie Puth
Any more song suggestions?