|
Rockbox mail archiveSubject: Re[2]: [PATCH] wps-display (was Re: Custom WPS)Re[2]: [PATCH] wps-display (was Re: Custom WPS)
From: Eric Linenberg <elinenbe_at_umich.edu>
Date: Sat, 31 Aug 2002 16:52:51 -0400 JH> could you post it in a normal zip possibly? Cygwin is telling me that it's not JH> a valid gzip file :) JH> -Justin JH> --- Magnus Holmgren <lear_at_algonet.se> wrote: >> Justin Heiner wrote: >> >> > The Custom WPS still has work that needs to be done with it. My reasoning >> > behind having it enabled 100% now is that other people other than me will >> do >> > updating on it hopefully (brainstorming with Bagder and others for that >> idea). >> >> OK, I've just created a patch for wps-display.c, rewriting most of the >> formatting code. I've added the MAD-style custom formatting, a few more >> % commands and fixed the bug that wps.config wasn't always reloaded (I >> think; I noticed the bug, but I haven't verified that the change works >> as intended ;). >> >> While I didn't copy the MAD code (which is GPL:ed), it did serve as an >> important reference, and the implementation I've made uses pretty much >> the same algorithm. So I added a comment about that, but I'm not sure >> what is "proper" to do in a case like this. >> >> The %-commands remain mostly the same. Some have been added, and a few >> have been removed: >> >> %% - Display a '%' >> %< - Display a '<' >> %| - Display a '|' >> %> - Display a '>' >> %s - Indicate that the line should scroll. Can occur anywhere in >> a line (given that the text is displayed; see conditional >> below). Only the first line with a %s will actually scroll. >> %s is ignored if combined with %pb, %pc or %pr on the same >> line (the result wouldn't be good anyway). >> %?xx<|> - Conditional: if the tag specified by "xx" has a value, the >> text between the "<" and the "|" is displayed, else the text >> between the "|" and the ">" is displayed. >> The else part is optional, so the "|" does not have to be >> specified if no else part is desired. The conditionals nest, >> so the text in the if and else part can contain all % >> commands, including conditionals. >> %ia - ID3 artist. >> %id - ID3 disc/album. >> &in - ID3 track number. >> %it - ID3 track title. >> %fb - Bit rate (in kbps). >> %ff - Frequency (in Hz). >> %fm - File name (with extension). >> %fn - File name (without extension). >> %fp - File path. >> %fs - Fize size (in kB). >> %pb - Progress bar char (Player only). >> %pc - Current time in song. >> %pe - Number of entries in playlist. >> %pp - Position in playlist. >> %pr - Remaining time in song. >> %d1 - First directory from end of file path. >> %d2 - Second directory from end of file path. >> %d2 - Third directory from end of file path. >> >> %fc and %fd are gone. They can mostly be emulated using %?<>. The >> additional %-commands makes it possible to handle all WPS modes using >> the format string. >> >> Example for the the %dn commands: If the path is "/Rock/Kent/Isola/11 - >> 747.mp3", %d1 is "Isola", %d2 is "Kent"... You get the picture. >> >> A more complex example (and the wps.config I use now): >> >> %s%?in<%in - >%?it<%it|%fn> %?ia<[%ia%?id<, %id>]> >> %pb%pc/%pt >> >> That is, "tracknum - title [artist, album]", where most fields are only >> displayed if available. Could also be rendered as "filename" or >> "tracknum - title [artist]". >> >> I think I've changed the semantics of wps_display/wps_refresh >> slightly... wps_display now makes a full render of the display (so a >> call to wps_refresh is not needed afterwards). When refresh_all in >> wps_refresh is false, it only updates those lines that contains fields >> that can change over time, such as play time. If refresh_all is true, >> the entire display is rendered, including the scrolling line. wps.c >> might need updates because of that, but it seems to work fine as it >> is... :) >> >> Note that I've only tested this on a player so far; I've no idea how >> well it works on a recorder (at least it compiles). On recorders, it >> needs to be able to handle fonts of different height in a better way (by >> calculating the number that fits, depending on status bars, fonts, >> etc.). >> >> > We've currently got only 64 characters per line on the Custom WPS, so >> whatever >> > commands are implented should be kept short and sweet. >> >> I've removed that limitation. The format itself must (currently) fit >> within 300 bytes. Formatting of a single line is done to a 256-byte >> buffer (MAX_PATH actually), but that is of course only useful for the >> scrolling line. >> >> -- >> Magnus Holmgren >> ATTACHMENT part 2 application/x-gzip name=wps-display.patch.gz JH> __________________________________________________ JH> Do You Yahoo!? JH> Yahoo! Finance - Get real-time stock quotes JH> http://finance.yahoo.com
Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |