Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

You may have noticed the system of batch/script & project & makefile I use to compile. Each separate part of Gape has a source (or src), include, and lib (or bin) directory. There are configure scripts in each lib (or bin) directory which automagically look at your source and generate appropriate project and makefiles and then compile into a library or binary exe. In addition, the main Gape directory has configure scripts which essentially just call each components configure script. There is also a clean_all script which deletes libraries, binaries and intermediate files (pretty much a big "make clean") Feel free to base any Gape projects you write on the same thing - you can probably just make a copy of the gape/projects/demo directory. Then put your code in the gape/projects/democopy/source and include directories, and use the same configure script. Voila!

I have things set up to produce static libraries, rather than dynamic libraries. Either way should work.

You may notice that I violate the threadsafe event posting GUI system rather awfully in the linux version. This is because either QT or QWT is not working the same way under linux as it does under Windows (the Windows version acts as expected.) Basically, the custom events are being ignored until a mouse event is also generated. So anotherwords, the graphs dont do anything until you move the mouse! I don't know why the event handlers would ignore custom events like that, and it certainly shouldn't according to the docs of QT and QWT, but it is. When I have time to figure out why, I'll make a nicer solution. I think this is why the linux version crashes more frequenctly than the windows versions (which is relatively stable).

Some things, like the buffer sizes of audio output, the max number of channels, etc, are being defined at compile time by #defines rather than at runtime, with an appropriate default. This is sometimes due to the legacy code of STK (ie the buffer sizes, which is really bothersome, actually, b/c you can't dynamically adjust things to suit your computer's cpu horsepower and whatnot) and sometimes by my laziness (sorry). WIll get better, although I'm not ready to stop using STK just yet.

Gape isn't really optimized yet. I did one round of profiling but only got rid of the worst bottlenecks. While ease of use and clarity will always be the first priority, expect future releases to be faster. Tests were generally done on computers in the PII/PIII/Athlon >500 mhz range, and always with at least decent soundcards. If you have problems running gape on slower machines, let me know, although I won't be suprised. I'm sure p3's at 700 mhz will be dinosaurs soon anyway.

By default, Gape always prints errors to a file caleld "error.txt" in the current directory. Please send any contents of it to me if you report a bug or anything.


Generated at Thu Jun 21 13:28:53 2001 for GAPE by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001