Laura, I just downloaded the current version of itex2MML. You shouldn't have to worry about licensing. Java can send files to a pipe. If itex2MML is a true filter it should be able to accept its input from a pipe and deliver its output to a pipe. If I understand things correctly, both pipes could be a Java ByteStream. So your Java code might set up the pipes and then call itex2MML. I think ODT2braille may do something similar with xml2brl. I think Bert Frees is on this list. Maybe he will give us some answers. We mmay encounter similar cases in the future, where programs with desired capoabilities are command-line filters. You might consider writing generalized Java code for handling them. It could be very useful. It would go into a new package org.brailleblaster.util John On Sun, Dec 05, 2010 at 09:48:37PM -0600, qubit wrote: > This is for JohnB or anyone else who wants to comment -- first, before I dig > deeper into itex2MML, I went and got the latest version. John, is there a > licensing reason you are looking at the older version, or was that just a > convenient evaluation copy on your system? > Anyway, I am now working from 1.4.5 > > Second, there are functions that will work easily for JNI or even JNA, but > there is a main program that collects all kinds of options and sets global > variables before translating the text. This is a C++ file -- I don't know > if the rest of it is compiled as C or C++. > Anyway, itex2MML is written to be a command line filter, not something > loaded and kept resident. It isn't hard to reinitialize the globals each > time brailleblaster calls the library, but I am wondering if in addition, > brailleblaster would have any need to change these options. In particular, > should I create library methods to mimick main() processing any of the same > command line options? Brailleblaster wouldn't even need to change the > option names, just pass them as an argument. > > Finally, if I'm going to hack apart the main program to make a reasonable > interface to brailleblaster, wouldn't there be an easier approach of just > running itex2MML unchanged as a separate process and have java feed it the > right arguments and then collect the output stream? > In short, should we hack into brailleblaster to link with a library, or just > keep it pure java and run the filter to translate to MML? Little or no > maintenance required to upgrade to new versions of itex2MML. This would > slow the translation down, of course, but it would mean one less JNI. > > Am I barking up the wrong tree? > Decisions. > --le > > -- John J. Boyer; President, Chief Software Developer Abilitiessoft, Inc. http://www.abilitiessoft.com Madison, Wisconsin USA Developing software for people with disabilities