Re: Talking about the GUI

Enrico Weigelt <[email protected]>
Newsgroups gmane.comp.multimedia.media-api
Message-ID <[email protected]>
* Steve Lhomme <[email protected]> [2004-01-15 10:08:31 +0100]:

<snip>
> It's just that it looks too UNIX centric for now. 
Another very important point i've missed ...

<snip>
> For example the use of automake clearly shows that they never had in 
> mind to port it under Windows... 
or other non-unix-like platforms ...

Automake is one of the biggest troublemaker in the opensource world.
Okay, it can find out some things automatically (sometimes it really works)
and gives you a quite standardized commandline interface for specifying
some build options. 

But at all it is completely misdesign. It starts at the point, that
configure is a really big-fat and unreadable shell script which almost
cannot repaired or fixed manually if there are some problems (I'm maintaining
some distros for specialized systems like server farms - and I can tell you
that there are enough problems). It would be a good starting point, if 
it would be a well structured shellscript-library which is split off 
in many good readable files.

Nevertheless its already the wrong way to generate makefiles from obscure
sources. Why not simply modeling the structure of software at an abstract
view ? why should the developer have to cope w/ things he normally would
not be interested in ? Why not understanding a project as a tree of 
nodes which have some dependencies, some deteriministic build variants 
and clear interfaces ? 

Commercial IDEs like Borlands C++ IDE are doing this much better for many 
years. In BC++ you simply have a tree nodes, like executable, source files, 
includes, ... each of them has its properties, which also can be derived
from stylesheets for fast swichting between several build variants (i.e. 
debug vs. release build, ...)

If we think about modeling our media-api in such a tree it could 
look like this in a XML presentation :

<PROJECT name="media-api">
    <MODULE type="library" name="mmapi-os" linkage="builtin" multiplatform="yes" srcsubdir="mmapi-os" incsubdir="mmapi">
	<DESCRIPTION>
	    some small wrappers for os dependent stuff
	</DESCRIPTION>
	<HDRFILE type="text/c-include" name="mmapi-os."/>
	<POOL platform="win32">
	    <SOURCE type="text/c-source" name="win32.c"/>
	</POOL>
	<POOL platform="gnu-libc6">
	    <SOURCE type="text/c-source" name="gnu-libc6.c"/>
	</POOL>
	<POOL platform="unix-generic">
	    <SOURCE type="text/c-source" name="unix-generic.c"/>
	</POOL>
	<SOURCE type="text/c-source" name="common.c"/>
    </MODULE>
    
    <MODULE type="library" name="mmapi-core" srcsubdir="mmapi-core" incsubdir="mmapi"> 
	<IMPORT name="@media-api:mmapi-os">
	<HDRFILE name="module.h"/>
	<HDRFILE name="service.h"/>
	<HDRFILE name="filter.h"/>
	<POOL platform="*">
	    <SOURCE type="text/c-source" name="filter.c"/>
	    <SOURCE type="text/c-source" name="module.c"/>
	    <SOURCE type="text/c-source" name="service.c"/>
	</POOL>
    </MODULE>

    <MODULE type="library" name="mmapi-mp3topcm" srcsubdir="mmapi-mp3topcm" incsubdir="mmapi">
	<DESCRIPTION>
	    MMAPI: MP3 to PCM codec
	</DESCRIPTION>
	...
    </MODULE>
</PROJECT>


> I hope these are not brilliant people like Xiph who think 
> Windows is shite. 
I personally also think windows is shit, but I'm not so arrogant expecting
others also to think so. There are many reasons why people wanna use
windows and those people should also be able to use our software.

BTW: if we get our API also running under win32 w/o too many trouble,
then we show that we're able to do really good userland interface design.


cu
-- 
---------------------------------------------------------------------
 Enrico Weigelt    ==   metux IT services

  phone:     +49 36207 519931         www:       http://www.metux.de/
  fax:       +49 36207 519932         email:     [email protected]
  cellphone: +49 174 7066481
---------------------------------------------------------------------
 Diese Mail wurde mit UUCP versandt.      http://www.metux.de/uucp/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.