speechd-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Introducing myself


From: Boris Dusek
Subject: Introducing myself
Date: Mon, 13 Sep 2010 11:09:35 +0200

Hello Chris,

sorry it took me so long to reply, but I was busy with other things.

On Sep 8, 2010, at 3:25 PM, Christopher Brannon wrote:

> Nice to meet you!

Nice to meet you too!

>> I am also in general personally interested in portable native code
> 
> Sometimes, writing portable C is easier said than done, isn't it?

Everything is easier said than done; a.k.a. "Talk is cheap.  Show me the code."
;-)

If portability is a requirement from the start, you use portable 3rd-party
libraries for anything outside the standard C or C++ library, if there is some
for it. And if you always find such a library and it is of a good quality, you
are mostly set. I have done it in 2 projects in the past and did not really
feel that the multiplatformness would bigger than minimal overhead.

If portability is being added to an existing program, things are a bit more
difficult. Also if there is some platform-specific functionality not covered
by a portable library or you have to use it, you will have to have #ifdef's
in your code and things become a bit more complicated.

> What platforms are you interested in, specifically?

First, Mac OS X. It is the system I am using primarily. Since from Leopard
(10.5) it is POSIX:2004 compliant and (still) uses gcc, it will be easy. As a
matter of fact, from this weekend, I have it working with generic module with
Apple's say command (which works similar to spd-say). Also espeak-generic is
working.  After I solve remaining issues, clean up a bit and rebase against
master where I should add a few routines to the new src/common library, I will
submit this to the mailing list for review.

Second, I was thinking about Windows. I often use MS Visual Studio for native
development (in a virtual machine with source code on shared folder so that it
can also be simultaneously compiled and tested with gcc on Mac before
commited). I would prefer it to work with the newest version of Microsoft's
Visual C++ compiler (VC). There is an implementation of pthreads for Windows
written by RedHat, so that should entirely solve the threading part. I have
used it in the past to port a single UNIX server to Windows and it worked out
of the box. VC also provides surprisingly non-zero amount of POSIX functions
(e.g. dup, dup2).  Finally there will be some abstraction needed (e.g.  fork
does not exist on Windows).

Of course, after successfully porting to a platform, there are always
possibilities to integrate more closely with that platform.  So e.g. on Mac OS
X, Speech Dispatcher might be started using launchd, have a speech module using
Speech Manager API so that native voices and synthesisers can be used, etc.
Similar on Windows.

Also I might test speech dispatcher on some other platform when I install the
corresponding virtual machine. I was thinking of FreeBSD and Solaris. I am
simply a portability freak :-)

Boris


reply via email to

[Prev in Thread] Current Thread [Next in Thread]