Menu

Architecture.pdf - first response

2002-05-28
2002-06-13
  • Jeremiah C. Foster

    After reading the pdf file I feel that I understand the OMNI approach a little bit better. There is still a formidable amount of information to digest however. My first question is;

    Which set of files do I need to download to begin installation? Do I need the OMNI driver, foomatic and GhostScript?

    Secondly, what are the files/routines which comprise the OMNI interface mentioned on page four?

    Thanks,

    Jeremiah

     
    • Mark Hamzy

      Mark Hamzy - 2002-05-30

      Hello Jeremiah,

      I dont know why I didnt get emails for your posts here.  I am monitoring them.

      Anyways, You need the omni driver and ghostscript.  Foomatic is optional but is popular on many systems and you should make sure that your device works with it.

      What page 4 is trying to show is that, in the end, there are two libraries that make up omni.  The interface code for ghostscript is gomni.c and is located in Ghostscript/new_src.

      It takes application data which is usually a bitmap and talks the omni API.  libomni.so make up this API set.  It will then talk another API set to the device.  Take a look at DeviceInstance.hpp and DeviceBlitter.hpp.

      Hope this helps.

       
    • Jeremiah C. Foster

      Thanks, this helps. I am not in front of my work computer right now but will be on Monday. I will dig into those two files that you mentioned. May I ask though what is a .hpp file? I know .ppd is a PostScript Presentation Document, but .hpp?

      I have not yet installed GhostScript but shall do so.

      Jeremiah

       
    • Mark Hamzy

      Mark Hamzy - 2002-05-31

      Jeremiah,

      An .hpp file is a header file for C++ code which has a .cpp extension.

       
    • Jeremiah C. Foster

      Mark,

      Thanks - now you know who you are dealing with, someone who does not know what an .hpp file is. Do you think that I will be unable to get this printer to work with the Omni software because of my inexperience?

      Jeremiah

       
    • Mark Hamzy

      Mark Hamzy - 2002-06-04

      Well Jeremiah,

      If your device has the same printer control language as an already existing omni device, then all that you have to do is copy and modify a new set of XML files that contain the differences between your device and the existing device.

      If you need to send new printer commands, then you will have to code that in C++.

      Mark

       
    • Jeremiah C. Foster

      Hey Mark, thanks for the response.

      So it is my understanding that the XML file holds printer specifications - when the XML file is called, it sends C++ commands to the kernel, inserting and removing modules as necessary. These modules control the printing process but all that one needs to change is the XML file since that is the interface with the device. Is this accurate?

      Jeremiah

       
    • Mark Hamzy

      Mark Hamzy - 2002-06-13

      Hey Jeremiah,

      Currently, the XML files are transformed in C++ classes.
      For example, the "XXX Forms.xml" contains information about the forms supported.  Their sizes, unprintable margins, etc.
      The two main workhorse classes are the Instance and Blitter which interact with the objects and send printer commands to the printer.

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.