Hi Rich,
Whats wrong with a back ground job started at boot with low priority
as the intermediate.
It could : look for a configuration file and read that in & then know
to ;
               clear the pipe anytime something is put into it by PFF
device &
               save the contents of the pipe to a designated location
on disk
             - ram rom win flp if so configured
               call the appropriate filter eg Quill files configured
to be
               treated as ASCII as no printer driver loaded for this
version of
               Quill
               Text 87 files treated as ESCP2 and a proportional font
used for
               printing
               QD files have FF added by the filter
               and so on upto the user
              Or call the GUI before exec ing a filter if thats the
configuration
              set up.

             GUI could be used to change configuration at run time and
inform the
             background task by printing the new config file to the
PFF device with
             a header that tells it to read the new configuration
rather than call a filter


            etc

Duncan Neithercut

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Rich
Mellor
Sent: 28 November 2004 12:57
To: [EMAIL PROTECTED]
Subject: Re: [ql-users] Proforma Filter


I think that Wolfgang has put together an excellent proposal here
which is
obviously very well thought out in the light of previous discussions.

Having given this problem some considerable thought myself, I do think
that Wolfgang's solution has some definite positive aspects, not least
of
which is the ability for us to program a GUI (Printer Control Program)
in
something easier than machine code PLUS no-one has to learn how to
program
in THINGs.

The idea of a small background job initiated when the PFF device is
loaded
sounds ideal, provided that it can be configured with the location of
the
Printer Control Program which it needs to launch.  I would also rather
go
for having this Printer Control Program start with a priority of zero,
which can then be set to 1 (or higher) by the PFF device when it is
asked
to open a channel.  The job's priority can be reset to 0 once it has
created the necessary link between the PFF device and the Filter
Program.

However, I do perceive a problem here.  I still favour the ability of
the
user being able to use either a PIPE or a file as the temporary
storage
for the output from the PFF device.  This could of course be
configurable
in the same configuration block that contains the location of the
Printer
Control Program.

However, we return to the main stumbling block.  The Printer Control
Program needs to maintain a set of channels open to temporary storage
areas - how does the Printer Control Program pass the ID of the
channel
back to the PFF Device so that the PFF device knows where to output
its
data??

The GUI
=======
The idea of this being launched as and when needed from disk sounds
ideal.  However, the reasons why it was proposed that some of this
function be included within the Printer Control Program (running as a
THING) are as follows:

1) If stored on floppy disk, we have to remember that the user may not
have the correct disk in the drive.  OK we can overcome this by
prompting
the user to insert this in the disk if required - however, what if
they
are using XChange program in one disk drive, their documents in
another
disk drive and then need a third disk containing the GUI and filter
programs.....
2) The various filter programs written for use with the system could
register themselves with the THING, so that the user can be offered a
list
of the various output options available (it also means we do not have
to
re-write the GUI each time a new filter is written).  The solution to
this
would be (presumably) for each filter to be stored in a specific
directory
- the GUI program could then look at the list of filters in that
directory
and check some sort of header (either within the filter or in a
separate
file for each filter), to see what solutions are available.  A header
would be preferable to using the actual name of the Filter.
3) How do we report back to the PFF device that printing has failed??

PFF options
===========
Just a small comment here - the PFF device was not designed to allow
the
user (or program) to specify the type of output to produce.  It is
mainly
to specify the type of output produced by the program -
PFFe would be Epson ESC/P2 codes
PFFn would be Native Proforma Output
PFFp would be Postscript Output
PFFg would be QL Graphics Dump Output

Obviously these all require different filters - PFFn would be a simple
filter to send the output directly to Proforma and PFFp would be one
to
send it directly to Ghostscript.

The idea is not to allow a long device name, but rather one that is at
most 5 characters, the same as allowed for SER devices.  A letter is
better than using the number to identify the type of output because it
makes it a lot easier to patch old programs - rather than having to
convert various SER1e settings to PFF3 etc

It was always envisaged that the user would then be offered the choice
of
output options based on the known filters which could handle this
intermediate protocol - perhaps you have misunderstood this Wolfgang
(or
just forgotten in the sea of emails).


COMMUNICATION
=============
Perhaps we still need a THING - possibly just a small one which can be
used to contain various data to allow each element of the program to
communicate with each other?


Finally I am pleased that this has gnerated so much interest - I
realise
it may be beyond many of the subscribers to this list, and possibly
provided too many emails for them to digest - please bear with us - at
least the list is showing a lot of activity for now rather than simply
moaning and arguing

--
Rich Mellor
RWAP Services
26 Oak Road, Shelfield, Walsall, West Midlands WS4 1RQ

http://www.rwapservices.co.uk/

_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to