Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!visix!amanda From: amanda@visix.com (Amanda Walker) Newsgroups: comp.sys.mac.comm Subject: Re: Pass Through Printing (was Re: MacTerminal 3.0) Message-ID: Date: 2 Nov 90 23:32:59 GMT References: <1990Oct31.012421.12492@ux1.cso.uiuc.edu> <-4x2g2.388@smurf.sub.org> Organization: Visix Software Inc., Reston, VA Lines: 54 In article <-4x2g2.388@smurf.sub.org> urlichs@smurf.sub.org (Matthias Urlichs) writes: >Guess what your VTxxx emulator does? >Right -- it translates bytes into pictures. Right. So does the line printer emulator :). The actual emulation is not the problem... >Would it be that much harder to emulate a FX80? >Emulating a LaserJet would probably be overkill, but while you're at it... ;-) If printer grafports really were just like any other grafports, then this would in fact be the obvious way to do it. This is exactly what the imaging part of the printer emulation does, in fact. However, printer grafports do not necessarily like being open for indefinite periods of time. The print manager also tends to eat memory (especially for a high-resolution Quickdraw printer, for example). This is why all of the methods I listed (except for straight echoing to the serial port) save up the data and then print it in one shot. As I said, it's not the emulation of any particular printer that's hard; it's the strategy for deciding when and how to actually print the page images. >Forgive me if I'm a bit naive here, but wouldn't a customizable timeout and a >menu command and/or alert "print current page now" be sufficient? It would have to be extremely customizable, preferably on a per-application basis. Remember, the goal is to look as much like traditional local printing as possible--that means that always having to pick a menu entry or punch an alert button is a bad thing, as is getting differing output depending on how loaded your host is. Also, people who share a printer over AppleTalk probably don't want to find there printouts interleaved with each other. Once again, document boundaries are significant. The best apporoach I have thought of is to let the user set up what amounts to a simple pattern-based state machine which can decide when to do what. Providing example setups for common cases is probably a good idea, too, so that (for example) the user can pick "VAX running 20/20" and have things work "right." >Anything wrong with this idea? Nothing at all in principle. It's all of the little details that bog things down :). I started with the simple cases and then changed jobs. Apple is no doubt trying to cover more of the possibilities, and is thus taking longer. Note: I'm not trying to defend Apple's development schedule or priorities-- that's their problem. However, I did feel it was worth pointing out some of the not-so-obvious difficulties involved. It isn't quite as simple as it looks... -- Amanda Walker amanda@visix.com Visix Software Inc. ...!uunet!visix!amanda -- I pray for boredom, but it never comes.