Rockbox Technical Forums

Support and General Use => Recording => Topic started by: petur on July 24, 2008, 05:01:20 PM

Title: Recording Screen conversion to ViewPorts
Post by: petur on July 24, 2008, 05:01:20 PM
There is a fully functional converted recscreen in the tracker here (FS #9208) (http://www.rockbox.org/tracker/task/9208), and I wouldn't mind if it would get some testing on various targets before it goes in.

Also let me know what you think of it. At this moment it will revert to sysfont if the whole screen doesn fit anymore, but this could be done incrementally (ie first change the list to sysfont)

The purists will be happy to hear this patch shaves 1760 bytes off the binary for h300 :)
Title: Re: Recording Screen conversion to ViewPorts
Post by: JdGordon on July 24, 2008, 07:26:42 PM
1) arnt you one of those purists... :D

2) (i havnt looked at the patch yet..) bassically the whole point of viewports was in the hope that screens wouldnt need to revert to the sysfont (which also causes the problem where LANG_SYSFONT_* is still needed).

OK, I've just had a quick look at the code and I have some suggestions.
The peakmeter should go in a seperate viewport and use the whole thing so its the easiest thing to resize.
The list needs a minimum of one line so the whole screen then needs min 5 (3+1+1). and if that still is too many, have some fun with the top 3 lines... only show one line, but alternate the text every HZ/2 or something...?
Title: Re: Recording Screen conversion to ViewPorts
Post by: petur on July 25, 2008, 02:32:59 AM
1) arnt you one of those purists... :D
Which is why I wrote that :P

2) (i havnt looked at the patch yet..) bassically the whole point of viewports was in the hope that screens wouldnt need to revert to the sysfont (which also causes the problem where LANG_SYSFONT_* is still needed).

OK, I've just had a quick look at the code and I have some suggestions.
The peakmeter should go in a seperate viewport and use the whole thing so its the easiest thing to resize.
The list needs a minimum of one line so the whole screen then needs min 5 (3+1+1). and if that still is too many, have some fun with the top 3 lines... only show one line, but alternate the text every HZ/2 or something...?
The problem is, the user is able to pick a font that hardly fits two lines on the display. What then?
I agree that things can be tweaked a bit more, but fallback to sysfont seemed like a nice 'emergency' remedy.
I hate cludges like alternating text. The changing behavior is hard to explain ('my display suddenly looks different') and document because it depends on the font size.

Anyways, I first want to commit this as it stands now, and then start tweaking how the top part is drawn. Too much change in one go is dangerous. And it almost looks the same now as it was before.
Title: Re: Recording Screen conversion to ViewPorts
Post by: z-man on July 25, 2008, 03:04:06 AM
The idea of having kind of a "master" gain is an improvement. But I have my concerns about the usability of the current implementation. Let's say, I'm doing a live recording, but for some reason there's a need to have more gain on the LEFT channel. No problem to get it done with the left/right faders. Okay. What will happen next: The band becomes louder than expected. That is: with both channels still unbalanced, I have to fade down the master gain. And currently, there's a good chance to change the left/right balance and fade the LEFT channel by mistake when the RIGHT channel is already at 0.
So, with 3 gains I would prefer to have a master gain, that has no impact on the left/right balance. Or even more straightforeward: Just one master gain, and kind of a "recording balance" slider with  0 dB (=balanced) in the middle.
Title: Re: Recording Screen conversion to ViewPorts
Post by: petur on July 26, 2008, 04:52:31 PM
z-man: regarding your findings:
- the X5 compile error is fixed in my latest patch
-  CLIP counter does work

there seems to be something odd with changing gain though, investigating that...
Title: Re: Recording Screen conversion to ViewPorts
Post by: petur on July 26, 2008, 06:35:32 PM
New patch is up, all known issues fixed. Left to do are LANG conversio and maybe fancy peakmeters
Title: Re: Recording Screen conversion to ViewPorts
Post by: LurkAzusa on July 26, 2008, 08:27:35 PM
Thank you, Petur.  It is very readable on the H120 and H340.  It's great to have the ability to choose a very large font and still scroll to the information.  Appears to work well. 
Will the screen design be the same as wps or will there be a specific wpr function?
Title: Re: Recording Screen conversion to ViewPorts
Post by: JdGordon on July 26, 2008, 08:33:29 PM
Will the screen design be the same as wps or will there be a specific wpr function?

the screen is hardcoded, at least for the time being there isnt going to be any wps-like ability for the rec screen
Title: Re: Recording Screen conversion to ViewPorts
Post by: LurkAzusa on July 26, 2008, 09:03:18 PM
Will there be the ability to add a large icon representing the current status of recording, pause, stopped?

Or changing the field identifier to a shorter abbreviation, such as file, instead of filename or PR or PreRec instead of Pre-Recording?  This would allow larger fonts without cutting off information.
Title: Re: Recording Screen conversion to ViewPorts
Post by: Llorean on July 26, 2008, 09:08:32 PM
Changing text should be as simple as editing your language file.
Title: Re: Recording Screen conversion to ViewPorts
Post by: petur on July 27, 2008, 02:16:39 AM
The plan is to first get this change in, and then we can start tweaking it and in the future even have an WRS gui system.

Things I'd like to tweak:
- get the listbox to scroll the selected line, to show more of the filename
- fancy peakmeters (now that the have become that big)
- clear recording state indication, maybe software drawn and thus scaleable.
Title: Re: Recording Screen conversion to ViewPorts
Post by: LurkAzusa on July 27, 2008, 02:03:32 PM
I've tried it on the Ipod 4G Greyscale and Ipod 5G 60. 
Seems to be good.

 The volume and gain settings go negative with a right press, which seems counter intuitive, but that is also in the original.


Title: Re: Recording Screen conversion to ViewPorts
Post by: petur on July 28, 2008, 04:49:14 AM
The peakmeter should go in a seperate viewport and use the whole thing so its the easiest thing to resize.
I have given this some thought...

Are suggesting this in the light of a future WRS implementation? If not, I do not see any advantage in giving it a separate VP.

For the moment, keeping it like I have gives the possibility to add some stuff to left and right of the peakmeter. I would also like to implement a vertical PM so it can be put on the right of the screen and give us another extra line. But in its own VP? Nah...
Title: Re: Recording Screen conversion to ViewPorts
Post by: JdGordon on July 28, 2008, 07:33:57 AM
well, if its in its own vp the drawing funciotn for it is dead simple, (x,y,width,height) is just (0,0,vp->width, vp->height)
I have no other reason for that thoguh
Title: Re: Recording Screen conversion to ViewPorts
Post by: petur on July 28, 2008, 09:53:27 AM
well, if its in its own vp the drawing funciotn for it is dead simple, (x,y,width,height) is just (0,0,vp->width, vp->height)
I have no other reason for that thoguh
I'd rather have code that can position the PM anywhere I like... the PM still needs to get x and y because it is also used elsewhere.
Title: Re: Recording Screen conversion to ViewPorts
Post by: Davide-NYC on August 09, 2008, 04:02:13 PM
I'd like to suggest clearing the backdrop (vertical Rockbox logo) in the WRS as it can impede legibility.
Title: Re: Recording Screen conversion to ViewPorts
Post by: Llorean on August 09, 2008, 09:39:31 PM
Instead of arbitrarily clearing the backdrop, why don't we instead trust people to be able to decide for themselves what they'd like the backdrop to be?

You can easily change the backdrop for the main theme and pick one that doesn't interfere with the WRS, meanwhile arbitrarily clearing it for any theme is nearly as dangerous as some may not interfere at all while the actual backdrop color does, so the only solution other than "trust the users" is "pick a single foreground and background color combination and force it on all users". Just let users handle it themselves by picking a theme that doesn't interfere until such time as it may become customizable, if it does.
Title: Re: Recording Screen conversion to ViewPorts
Post by: Davide-NYC on August 10, 2008, 10:40:27 PM
Then I'd like to ammend my suggestion to just GrayScale targets.
For GrayScale targets the backgroud should be cleared in the WRS.
It should be re-enable if that is the users intended behavior in all other screens.
Title: Re: Recording Screen conversion to ViewPorts
Post by: AlexP on August 17, 2008, 07:16:48 AM
What Llorean said surely applies to greyscale too?  If a user has a dark background and light coloured text and you clear the background, they can no longer read the text.
Title: Re: Recording Screen conversion to ViewPorts
Post by: petur on August 17, 2008, 09:36:24 AM
so the real problem is probably that the current 'official' backdrop is not very compatible with the recording screen?

It was all designed by some WPS guys, I bet they didn't check the rec screen at all