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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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.
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
Jeremiah,
An .hpp file is a header file for C++ code which has a .cpp extension.
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
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
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
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.