TiVo Community Forum

TiVo Community Forum Archive 2
Covering threads with a last post date between
July 1, 2004 and December 31, 2005.
THIS IS A READ ONLY SITE
 


 

SEARCH  |  ARCHIVE 1 MAIN SITE

View Poll Results: Should Spire finish and release the Message Box utility for Series 1 TiVo recorders?
Yes! I would definitely use this utility. 70 70.71%
Yes. I might not use this utility directly, but third-party utilities I use might, so I want it out there. 19 19.19%
Yes. It would not be of use to me, but I still think it's worthwhile, and it would be of use to others. 6 6.06%
No. It's not useful enough to spend any more time developing. 2 2.02%
No! It's a worthless utility, and a complete waste of time. 2 2.02%
Voters: 99. You may not vote on this poll

 
Forum Jump
 
Thread Tools Search this Thread Display Modes
Old 12-03-2003, 10:29 PM   #1 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
Announcement: Message Box utility

As I recently mentioned in this thread, I've been playing around with the OSD capabilities of Series 1 TiVo recorders.

It took me some time to get the initial setup working (cross compiler, freetype, zlib, libpng, and a bunch of other headaches), but once I got things working, I kind of got carried away! At this point I find myself with the bulk of development complete on a full-featured Message Box utility.

Current features include:
  • TiVo-style graphical frame, with optional transparency;
  • TrueType support, with anti-aliasing and kerning;
  • automatic word wrap and manual line breaks;
  • optional caption, automatically truncated if too long;
  • automatic or full manual control over size and position;
  • special character support via Unicode or named glyphs;
  • easy-to-use TiVoWeb module.
My thinking is that it can be used as a replacement for text2osd or newtext2osd. It can be used as a stand-alone utility, or it can be called by third-party utilities to display caller ID information, stock quotes, instant messages, or any number of other things.

It's not yet ready for release; right now I'd say it's at the mid- to late-alpha stage. The core functionality is there, but there's still a lot to be done before it can be released to the public. I need to finalize command-line support, clean up the TiVoWeb module, optimize some of the routines, write the documentation (ugh), and do various other things.

I started this thread because I'd like to gauge interest. My free time to develop this utility is limited, so I don't want to put in a lot more work into it if not many people are going to be interested in using it once it's done. Of particular concern is the fact that it's a Series-1-only utility, so already the potential user base is limited.

I've posted an actual screen shot of Message Box in action on my trusty old Philips HDR312, so you can see what it looks like at the moment. (I'm constantly tweaking the appearance and layout, though, so it's definitely subject to change.)

Please take a few seconds to look over the screen shot, and then vote on whether you think it would be worthwhile for me to finish and release this utility.

I'm also open to suggestions on what to name the utility should I decide to release it. Right now I'm leaning towards the simple and descriptive Message Box, but I'm open to any clever suggestions, provided they're not overly cutesy.

I'm looking forward to everyone's input. Thanks for your help!
Attached Images
File Type: jpg messagebox.jpg (100.0 KB, 602 views)

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-04-2003, 02:53 AM   #2 (Print)
bsnelson
Frustrated, Inc.
 
bsnelson's Avatar
 
Join Date: Oct 1999
Location: Allen, TX, USA
Posts: 7,239
Send a message via Yahoo to bsnelson
Looks awesome, Spire! I say full speed ahead!

Brad

__________________
(1) Samsung SIR4040R (294 hours)
(4) Philips DSR7000 (293, 244, 118 and 37 hours)
(3) Hughes HDVR2 (244, 198 and 198 hours)
(1) room, (1) TV, (1626) hours
bsnelson is offline Report Bad Post Report Post
Old 12-04-2003, 08:54 AM   #3 (Print)
AlphaWolf
Brave yet stupid
 
Join Date: Feb 2002
Posts: 220
Sounds good
AlphaWolf is offline Report Bad Post Report Post
Old 12-04-2003, 09:07 AM   #4 (Print)
davistw
Member
 
Join Date: Nov 2002
Posts: 119
Add series 2 functionality

What would be real cool is if you could add series 2 funcitonality...

Xybyre on the other forum has figured out how to get newtext2osd to work with the series 2. ( see http://www.that_other_forum_that_de...&threadid=28609 )
davistw is offline Report Bad Post Report Post
Old 12-04-2003, 11:51 AM   #5 (Print)
philhu
Registered User
 
philhu's Avatar
 
Join Date: Apr 2001
Location: Natick, MA 01760
Posts: 251
That is AWESOME!

Problem with our hacks is that they break the style of the tivo, and are obviously hacks.

Your box would fix that problem, especially for callerid.

For a name, how about: Message Box

Tivo Box
Style Box
StyleOSD
OSDStyler
NiceOSD
TivoOSD
philhu is offline Report Bad Post Report Post
Old 12-04-2003, 03:54 PM   #6 (Print)
cwingert
Member
 
Join Date: Jan 2002
Posts: 70
Wow!

Beautiful!

Are you planning on releasing the source?

Last edited by cwingert : 12-04-2003 at 06:48 PM.
cwingert is offline Report Bad Post Report Post
Old 12-05-2003, 03:07 AM   #7 (Print)
mcgovern
Registered User
 
Join Date: Mar 2001
Location: Fort Collins, CO
Posts: 13
Thumbs up

Hi. That looks great! It seems that answers from other developers are the most important, knowing whether they would update their utilities to use Message Box.
When you talk about it being a newtext2osd replacement, are you thinking about having it support all the calls of newtext2osd? That would allow users to rename (or link to) Message Box to newtext2osd and not have to wait for utilities to be updated.
Keep up the good work!

Mike
mcgovern is offline Report Bad Post Report Post
Old 12-05-2003, 06:06 AM   #8 (Print)
sanderton
TiVoer since 11/2000
 
sanderton's Avatar
 
Join Date: Jan 2002
Location: Somerset, England
Posts: 5,979
Now if you could build in some basic UI stuff, like a selection bar you can use with up/down/select the we could really start doing stuff!

__________________
Stuart

Author of EndPad, DailyMail and others now run by other generous souls. Setup: MCE hub feeds 3 x 360s from 2 x DVB-T tuners and 1 x Sky via TiVo+eTivo. Sky+HD coming 22/5.
sanderton is offline Report Bad Post Report Post
Old 12-05-2003, 10:31 AM   #9 (Print)
Zirak
Registered User
 
Join Date: Apr 2002
Location: New York
Posts: 973
Quote:
Originally posted by mcgovern
Hi. That looks great! It seems that answers from other developers are the most important, knowing whether they would update their utilities to use Message Box.
When you talk about it being a newtext2osd replacement, are you thinking about having it support all the calls of newtext2osd? That would allow users to rename (or link to) Message Box to newtext2osd and not have to wait for utilities to be updated.
Keep up the good work!

Mike


I have had some brief offline technical discussion with Spire about implementation specifics vis-a-vis TCS, although I think the issues are somewhat general in nature.

I think parameter compatibility would be more difficult than it would appear on the surface, but, if the more substantive issues are resolved, a wrapper shell script to translate a newtext2osd call to a "messagebox" call should be rather easy to write. Such a script would essentially provide parameter compatibility.

__________________
The United Soviet Socialists Republic
Aggressively moderated for success in protecting our advertising revenue
Zirak is offline Report Bad Post Report Post
Old 12-05-2003, 07:54 PM   #10 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
Re: Add series 2 functionality

Thanks for all the responses so far, everyone! I appreciate all the feedback. The votes have been very encouraging (and much more overwhelmingly positive than I was expecting), and have pretty much convinced me that I should complete the project.

I'll try to address everyone's comments and questions individually.
Quote:
Originally posted by davistw
What would be real cool is if you could add series 2 funcitonality...
I agree. Unfortunately, I'm not able to, for two main reasons:

First, nobody (outside of TiVo) knows how to get OSD working properly for Series 2 units yet. Xybyre's method may work, but let's face it, it's an unpleasant kludge. I'd prefer to wait until someone takes the time to figure out the "right" way to do it. (But see my note below.)

Second, I don't have a Series 2 unit myself. It's very difficult to develop for a system that you can't test on. In any given coding session for a highly graphical program like Message Box, I do dozens -- or sometimes even hundreds -- of short test runs so I can see what exactly what the output looks like on an actual machine. Debugging and troubleshooting both beg for an actual machine as well. (For example, you would not believe the amount of testing that went into implementing and debugging the word-wrap feature, what with kerning and all the maddening idiosyncrasies of TrueType fonts!)

That said, if I did have an actual Series 2 unit at my disposal, I probably would look into getting Message Box working with Xybyre's method, and then fix it when (or if) someone ever figures out OSD. Thing is, I don't have a Series 2 unit, and don't plan to buy one in the foreseeable future.
Quote:
Originally posted by philhu
For a name, how about: Message Box
Message Box it is.
Quote:
Originally posted by cwingert
Are you planning on releasing the source?
At the moment, I have no specific plans on what to do with the source. I have studied several people's source trying to understand how the OSD works (including yours, of course); there's going to be a big chunk of credits in my documentation. However, all the while, I have been very careful not to reuse anyone's actual code, so technically I'm not required to release mine. (But that doesn't mean I'm not going to!)

My source in its current form is not up to my own personal standards for public consumption, but once I've actually finished the program and cleaned up the code, I'll definitely consider releasing the source, so that others might benefit from it in the same way that I was able to benefit from the source of others.
Quote:
Originally posted by mcgovern
When you talk about it being a newtext2osd replacement, are you thinking about having it support all the calls of newtext2osd? That would allow users to rename (or link to) Message Box to newtext2osd and not have to wait for utilities to be updated.
Since my utility is going to have many more options than newtext2osd, I really don't want to be constrained to supporting the same literal command-line options. I'm thinking of just making sure that my utility is flexible enough that it can be used to produce output that is layout-compatible to that of newtext2osd. Then I (or someone else) can write a simple wrapper script that translates newtext2osd calls to my own format.

In fact, it appears Zirak has somehow read my mind and posted exactly the same thing.

Zirak has privately mentioned a few other things that I should implement in Message Box to make the transition easier, and I will definitely be continuing development with his specific needs in mind.
Quote:
Originally posted by sanderton
Now if you could build in some basic UI stuff, like a selection bar you can use with up/down/select the we could really start doing stuff!
Believe me, I want to do that. But hey, we have to start somewhere, right? I figured that a relatively simple message box utility would probably be the best way to get my feet wet, as someone who has never developed for the TiVo platform before.

Adding a selection bar is not too difficult, from a graphical point of view. (In fact, an early mock-up of my utility did have a selection bar.) However, getting the selection bar to respond properly to input (Up, Down, Left, Right, Select, Clear, and so on) is a non-trivial problem. Perhaps in a future version of my program, I can provide a facility to simply display a selection bar, and leave it up the caller to handle the input, and call my utility each time the selection bar needs to be moved. It'll be slow, but it'll be better than nothing. And it'll be "clean" from an implementation standpoint, because it'll force input and output to be modular -- which is good for me because I don't know very much about handling input.

I hope I've addressed everyone's concerns to a satisfactory degree. Thanks again for the input! Please continue to post your ideas, suggestions, and constructive criticism here.

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-06-2003, 03:00 AM   #11 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
I have a question regarding character encoding for potential users of this utility. (Warning: This is gets pretty technical.)

Internally, I am using Unicode code points to represent characters, as that's the most robust and versatile way to go. For literal string input (i.e., on the command line), I initially went with the generic ISO-8859-1 Latin-1 code page, which was convenient because it's essentially just Unicode Basic Latin with the Latin-1 Supplement thrown in. Conversion to full Unicode was as simple as padding the byte to the requisite 32 bits.

I later discovered that there are quite a few important glyphs in the standard TiVo font that are not representable under ISO-8859-1. For example, the TiVo-specific "Check" glyph is mapped to Unicode code point U+2030 (quite erroneously, I might add!), which has no Latin-1 equivalent.

It was for this reason that I decided to switch to the CP1252 "Windows ANSI" Latin-1 character set. Why a Windows character set, you ask? It was a reasonable choice, because CP1252 is merely a superset of ISO-8859-1; it adds useful printable characters in the 0x80 to 0x9F range, which is filled with relatively useless control characters in the ISO-8859-1 set.

This change resulted in quite a few more -- but still not all -- TiVo font glyphs becoming accessible within eight bits.

To work around this, I decided to implement C-style escape codes. I had already implemented '\n' for newlines, so I decided to add '\x' for hexadecimal character code (CP1252 code page), and '\u' for Unicode code point. For good measure, I also invented a new escape code, '\g', for named character glyph. (Explanation: Every glyph in a font has an embedded human-readable name assigned to it by the font designer. I thought it would be nifty to allow the user to specify a character by name rather than some arbitrary hard-to-remember code.)

An aside: In order to eliminate ambiguity, I had to make a slight change to the standard C escape syntax, and require a semicolon delimiter. So instead of '\x41', you have to use '\x41;', and instead of '\u2030', you use '\u2030;'.

Anyway, the end result is that every glyph in every font should now be accessible by some means. For example, to specify the TiVo "Check" character, any of the following may be used:
Code:
'‰' literal character (under Windows, type ALT+0137) '\x89;' hexadecimal character code (CP1252 code page) '\u2030;' Unicode code point '\gCheck' named glyph
Well and good so far, right?

Well, I happened to notice today by accident that the TiVo software itself appears to be using single bytes to represent "normal" characters, and two bytes to represent "special" characters. I haven't checked to make sure, but I would guess that it's UTF-8.

So my question is: Should I emulate the TiVo applications' native representation and go with UTF-8 for literal strings, or should I just stick with CP1252, and require escape codes for the more "exotic" characters? Using UTF-8 would allow direct compatibility with internal TiVo string resources; however, I doubt the usefulness of that, and it would be a pain to implement. Sticking with CP1252 would allow me to finish the program sooner, and it would also be a lot more convenient for Windows users using TiVoWeb. It would allow them to use the ALT+0nnn keyboard shortcuts they're used to, and it would even allow them paste in arbitrary strings and have them just "work" in many cases.

Any comments?

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-06-2003, 02:40 PM   #12 (Print)
bsnelson
Frustrated, Inc.
 
bsnelson's Avatar
 
Join Date: Oct 1999
Location: Allen, TX, USA
Posts: 7,239
Send a message via Yahoo to bsnelson
Do whatever is easiest for you. It doesn't sound like the end user API is going to be impacted that much.

BTW, do you do fonts and such for a living? We already know that you are the Photoshop Jesus, if not the Photoshop God; are you Font God also?

Brad

__________________
(1) Samsung SIR4040R (294 hours)
(4) Philips DSR7000 (293, 244, 118 and 37 hours)
(3) Hughes HDVR2 (244, 198 and 198 hours)
(1) room, (1) TV, (1626) hours
bsnelson is offline Report Bad Post Report Post
Old 12-08-2003, 09:22 AM   #13 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
Quote:
Originally posted by bsnelson
Do whatever is easiest for you. It doesn't sound like the end user API is going to be impacted that much.
Yeah, I think I'll stick with CP1252 for now. It actually does make a difference from the standpoint of the user; CP1252 is more convenient for most Western-European-language text (especially for Windows users), but UTF-8 would probably be more convenient for people using non-Western-European languages (probably not too common among TiVo users).

I verified this morning that TiVo does indeed use UTF-8 for its own resource strings. I was genuinely surprised to see that they'd go to the trouble, given that they seem to do things in an ad hoc way a lot of the time.

Fortunately, judging from the almost complete lack of responses to my post, I take it no one really cares anyway.

BTW, I just noticed a typo in my "named glyph" example above. It was missing the semicolon terminator. It should read:
Code:
'\gCheck;'
Quote:
Originally posted by bsnelson
BTW, do you do fonts and such for a living? We already know that you are the Photoshop Jesus, if not the Photoshop God; are you Font God also?
Thanks for the kind words. I don't do either Photoshop or font-related work for a living. They're both just hobbies that have occasionally resulted in paying work.

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-08-2003, 12:57 PM   #14 (Print)
Freakeao
Member
 
Join Date: Apr 2002
Posts: 28
Images from MFS?

I was wondering if the message box uses the images stored in the MFS.

I'm hoping that it does, because then if/when people start skinning their tivos by replacing the images in the MFS, message box would be in the new skin style as well.

Looks very cool.
Freakeao is offline Report Bad Post Report Post
Old 12-08-2003, 04:54 PM   #15 (Print)
mrtickle
Registered User
 
Join Date: Aug 2001
Location: Birmingham, UK
Posts: 2,543
Re: character sets - here in the UK there are sometimes programmes descriptions which contain the Pound symbol. (These don't display or edit properly using tivoweb). I remember reading that support for extended character sets was added in 2.5.5 so I presume you have it too now. Next time I spot one, I'll try to work out what characters it uses in the description to conjure up the pound sign!
HTH
mrtickle is offline Report Bad Post Report Post
Old 12-08-2003, 06:34 PM   #16 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
Re: Images from MFS?

Quote:
Originally posted by Freakeao
I was wondering if the message box uses the images stored in the MFS.
No. That was my original plan, but as it happens it's not easy to access MFS in a clean manner from a within C program -- that is, without shelling out to tivosh (as far as I know). If anyone knows otherwise, I'd love to hear how it's done.

However, even if I were to develop some workaround that allowed me to get the bitmaps directly from MFS on the fly, it wouldn't really work well, because I'm not actually using the MFS bitmaps at all.

Rather, I'm using custom hand-edited bitmaps that are based in appearance on bitmaps that were originally extracted from MFS. At first I was accessing my custom bitmaps as separate external PNG files, but I wasn't happy with the performance, so now they're all just hardcoded into the source. (I wrote a utility that converts a PNG file into a giant C array. )

I understand your desire to make everything skinnable, but I just don't think it's feasible at this point. Maybe once the utility is finished, and if people ever actually start skinning the TiVo, I'll look into it as a possible enhancement.
Quote:
Looks very cool.
Thanks. I'm sure a lot of people might think that the time and effort I'm expending on "just a simple message box" is ridiculous, but a lot of that time is just trying to get things to look as good as possible. I'm obsessive about it! It's very gratifying when the effort is appreciated.

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-08-2003, 06:45 PM   #17 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
Quote:
Originally posted by mrtickle
Re: character sets - here in the UK there are sometimes programmes descriptions which contain the Pound symbol. (These don't display or edit properly using tivoweb). I remember reading that support for extended character sets was added in 2.5.5 so I presume you have it too now. Next time I spot one, I'll try to work out what characters it uses in the description to conjure up the pound sign!
Pound symbols! I knew there was a reason I went to the trouble of supporting extended characters!

Thanks for the information. The next time you see a pound symbol in a program title or descripion, it would be great if you could use the Screen TiVoWeb module to navigate to the program description screen, and then (without leaving that screen), FTP into the box and grab the following file:
Code:
/tmp/mwstate
This file will contain a structured text dump of the current screen, and will allow us to see the internal data representation of the pound symbol. (It'll probably be UTF-8, but it's always good to make sure.)

For good measure, a saved HTML file of the TiVoWeb page would also be useful, so we can see where TiVoWeb is going wrong, and possibly figure out how it can be fixed.

What do pound symbols currently look like in TiVoWeb, BTW? (And what Web browser are you using?)

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-08-2003, 10:06 PM   #18 (Print)
cwingert
Member
 
Join Date: Jan 2002
Posts: 70
Re: Re: Images from MFS?

I can write code to access MFS from C. Let me know if you want to collaborate.


Quote:
Originally posted by Spire
[B]No. That was my original plan, but as it happens it's not easy to access MFS in a clean manner from a within C program -- that is, without shelling out to tivosh (as far as I know). If anyone knows otherwise, I'd love to hear how it's done.
cwingert is offline Report Bad Post Report Post
Old 12-10-2003, 11:39 AM   #19 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
I have a favor to ask. Could someone who has a TiVo recorder with any version software later than 3.0 and who has set up shell/FTP/TiVoWeb access help me test my font support? Any recent TiVo model will do (SA or DirecTV, Series 1 or 2).

Anyone willing to help can send me a Private Message. It should take only a few minutes of your time.

Thanks!

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-12-2003, 01:03 AM   #20 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
I'm not really one to bump threads, but I really do need help before I can continue development.

I'm trying to compile a comprehensive cross-referenced database of all of the various incarnations of the TiVo standard user interface font so that I can properly support them all. From what I've seen so far, the various versions of the font are so different from each other internally that I'm going to have to write a lot of special-case code in order to get Message Box working properly with all TiVo versions and models.

So far only one person has responded, so I have two data points (including myself):
  • Philips DSR6000, 3.1.0b-02-1-001
  • Philips HDR212/HDR312, 3.0-01-1-000
If you want to make sure that your TiVo model is properly supported, please take a few minutes to send me a Private Message, and help me build the database.

I'm also appealing to Series 2 owners to pitch in, even though the initial release of Message Box will unfortunately not have support for Series 2 recorders. The completed database will be of general use to all developers looking into implementing robust TrueType support on the TiVo platform(s).

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-12-2003, 04:11 AM   #21 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
All right, I spent a lot of time today working on TiVo Control Station compatibility. Since I wanted it to be as simple as possible to for Zirak to switch from newtext2osd to Message Box, there were a bunch of constraints I needed to follow:
  1. TCS displays a lot of data in columnar format, and uses spaces to lay out those columns, so I had to include support for a monospaced font.
  2. TCS displays are hard-coded to a 40x24 character grid, so I had to make sure that I could display a grid that large.
  3. TCS fills the full width and height of the screen with that 40x24 grid, so I had to make my output look reasonably similar.
The first item required me to support user-specified fonts, and also required me to implement special handling of monospaced fonts (because they work a little differently). I was worried that I would have to hunt around for a nice-looking freely distributable monospaced font to bundle, but fortunately, TiVo provides a ready-to-use monospaced font, Apple's Monaco, on every 3.x software installation. Whew!

The second item required me to support user-specified font sizes. The font size I used in my original screen shot was hard-coded to 24pt (at 72dpi). That comfortably large size gave me only a dozen rows or so of Monaco text; in order to get the full 24 rows to fit on the screen, I had to drastically crank the font size all the way down to 11.4pt.

This resulted in a problem: at 11.4pt, Monaco was not only very small (and consequently hard to read), it was unacceptably narrow! Even though the 24 rows filled the entire height of the screen as required, the 40 columns filled only about half the width. So I had to implement a third new feature, the ability to stretch or squish the overall width of the font by an arbitrary multiplier. In order to get the 40 columns to fill the width of the screen, I had to use a width multiplier of 1.8. As a result, the characters of the font are rather wide and stretched-looking, but hey, that's because the font in newtext2osd is so wide!

The end result is essentially a working drop-in replacement for newtext2osd. Parameter translation can easily be handled by a wrapper script, as previously mentioned.

Attached is a screen shot of the new newtext2osd-compatibility mode in action, being used to display actual TCS stock quote data. You can compare it to the original newtext2osd output by checking out these (unfairly low-resolution) screen shots.

I'd highly appreciate any comments, positive or negative, on how it looks. Nothing is set in stone until the initial release, so if you think it looks like utter garbage, now's the time to speak up!
Attached Images
File Type: jpg messagebox_tcs_quotes.jpg (99.0 KB, 218 views)

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-12-2003, 01:46 PM   #22 (Print)
sneel
New Member
 
Join Date: Oct 2002
Location: Highland, IN
Posts: 27
Send a message via ICQ to sneel Send a message via AIM to sneel Send a message via Yahoo to sneel
/Me Like!!!
sneel is offline Report Bad Post Report Post
Old 12-12-2003, 03:33 PM   #23 (Print)
cwingert
Member
 
Join Date: Jan 2002
Posts: 70
Stop teasing us and release.

Source would be much appreciated.
cwingert is offline Report Bad Post Report Post
Old 12-12-2003, 08:26 PM   #24 (Print)
yotta
Geek
 
Join Date: Dec 2002
Location: California
Posts: 80
Send a message via AIM to yotta
This looks pretty cool. I'd use it. I PMd you. I've got a Phillips S1 SA HDR212 with 3.0.1 installed.

__________________
Phillips HDR212, 302 Hours, Turbonet, TiVo Web
yotta is offline Report Bad Post Report Post
Old 12-13-2003, 01:52 AM   #25 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
Quote:
Originally posted by cwingert
Stop teasing us and release.
Believe me, if it were in remotely releasable form, I would release it already, so I could take a break! I'm working as fast as I can.

Something that I haven't mentioned yet is that the current performance is, well... let's just say it's inadequate. I think I may have to implement internal glyph caching, but that'll take a lot of rewriting. (Sigh.) I'm kind of torn on whether to release the current "engine" (which works but might be too slow for some applications), or wait until I've implemented the caching (which should help a lot, but will delay the release).

I'd appreciate your opinion, as well as that others'.
Quote:
Source would be much appreciated.
The source has to go through major cleanup before I can bear to have anyone look at it, but I hear you loud and clear. Out of curiosity: Do you have any specific plans for the source? Got an idea you'd like to implement, perhaps using the TrueType code?

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-13-2003, 02:00 AM   #26 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
Quote:
Originally posted by yotta
This looks pretty cool. I'd use it. I PMd you. I've got a Phillips S1 SA HDR212 with 3.0.1 installed.
I highly appreciate your offer. I already have an HDR212 data point, however. Thanks, though!

I do still need more data from other models. I have yet to receive any offers from 3.5.x or 4.x users. If you're reading this and have a 3.5.x or 4.x TiVo unit with shell access, please send me a Private Message and contribute a few minutes of your time to the documentation effort. You know you want to!

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-20-2003, 08:06 PM   #27 (Print)
Spire
Spire Refrigeration
 
Spire's Avatar
 
Join Date: Jun 2001
Location: The Unknown
Posts: 3,897
I haven't had as much time I'd like to devote to this project lately, but I'm still working on it. Thought I'd post with an update on my progress. (I enjoy talking to myself.)

I've been encountering some pretty annoying compatibility problems with Apple's Monaco font, so I've implemented a fake-monospaced mode that works with the standard TiVo font (as well as any proportional font, for that matter).

I've also added the ability to adjust font tracking (character spacing) as well as leading (line spacing). Font parameters can now also be specified separately for the message text and the caption.

Finally, the program can now automatically left-align, center, or right-align the message box horizontally, as well as top-align, center, or bottom-align it vertically.

I've attached a screen shot of the same TiVo Control Station screen, but using a fake-monospaced version of the standard TiVo font. It looks a little weird, but I think it looks better than the stretched-out Monaco version.

On a side note: I'm still trying to complete the font database. Does anyone with a hacked TiVo recorder with version 3.5 or later of the software know where the fonts are stored? They're no longer in /tvlib/font, and I don't know where they might be in MFS (they're not in /Resource/Font). If you have information on this, could you please send me a Private Message and help me out? Thanks!
Attached Images
File Type: jpg messagebox_tcs_quotes_tivofont.jpg (97.6 KB, 211 views)

__________________
begin 644 .sig22&%I;"P@9F5L;&]W(&=E96LA`end

Last edited by Melody Chalis : Today at 03:47 AM.
Spire is offline Report Bad Post Report Post
Old 12-25-2003, 10:29 PM   #28 (Print)
shawjo
New Member
 
Join Date: Dec 2003
Posts: 1
/Me is interested in source as well, even if it is not pretty.
shawjo is offline Report Bad Post Report Post
Old 12-26-2003, 12:41 PM   #29 (Print)
sanderton
TiVoer since 11/2000
 
sanderton's Avatar
 
Join Date: Jan 2002
Location: Somerset, England
Posts: 5,979
Any idea on an ETA for this, Spire?

I have a project on teh go that I'd love to use it with!

__________________
Stuart

Author of EndPad, DailyMail and others now run by other generous souls. Setup: MCE hub feeds 3 x 360s from 2 x DVB-T tuners and 1 x Sky via TiVo+eTivo. Sky+HD coming 22/5.
sanderton is offline Report Bad Post Report Post
Old 05-19-2004, 02:31 PM   #30 (Print)
newbr
New Member
 
Join Date: Feb 2004
Posts: 22
Is this done yet? sanderton needs it for a project.
newbr is offline Report Bad Post Report Post
 
Forum Jump
Thread Tools

Go Back  TiVo Community Archive2 > Underground Playground > TiVo Underground

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -5. The time now is 10:38 PM.


Powered by: vBulletin Version 3.0.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
(C)opyright - All Rights Reserved. No information may be posted elsewhere without written permission.
TiVo® is a registered trademark of TiVo Inc. This site is not affiliated with TiVo Inc.


Spider History Index