|
| 1 | +BGEN -- An Experiment: Automatic Generation of Extension Modules |
| 2 | +================================================================ |
| 3 | + |
| 4 | +This directory contains BGEN -- a package that helps in generating |
| 5 | +complete source code for Python extension module. It currently also |
| 6 | +contains a set of examples that were generated with BGEN. These |
| 7 | +examples are mostly interfaces to a number of important managers in |
| 8 | +the Macintosh toolbox. |
| 9 | + |
| 10 | + |
| 11 | +Overview of Subdirectories |
| 12 | +-------------------------- |
| 13 | + |
| 14 | +Main subdirectories: |
| 15 | + |
| 16 | +bgen the code generator package |
| 17 | + |
| 18 | +Example subdirectories: |
| 19 | + |
| 20 | +ae AppleEvents |
| 21 | +ctl Controls |
| 22 | +dlg Dialogs |
| 23 | +evt Events |
| 24 | +menu Menus |
| 25 | +qd QuickDraw |
| 26 | +res Resources |
| 27 | +snd Sound |
| 28 | +win Windows |
| 29 | + |
| 30 | + |
| 31 | +Contents of Subdirectories |
| 32 | +-------------------------- |
| 33 | + |
| 34 | +The contents of each example subdirectory is similar (<Foobar> is |
| 35 | +for instance AppleEvents, while <foo> is ae): |
| 36 | + |
| 37 | +<foo>scan.py Scan the <Foobar>.h header, generating <foo>gen.py |
| 38 | +<foo>gen.py Output of <foo>scan.py, input for <foo>support.py |
| 39 | +<foo>edit.py Manually written complement of <foo>gen.py, sometimes |
| 40 | +<foo>support.py Generate <Foo>module.c from <foo>gen.py and <foo>edit.py |
| 41 | +<Foo>module.c The interface module, ready to be compiled |
| 42 | +<Foobar>.py Symbolic constants extracted from <Foobar.h> |
| 43 | + |
| 44 | + |
| 45 | +Tests and Examples |
| 46 | +------------------ |
| 47 | + |
| 48 | +Other files in these subdirectories are usually examples using the |
| 49 | +extension. If there's a file t<foo>.py, it usually is a really |
| 50 | +boring test program. |
| 51 | + |
| 52 | +Some test programs contain pathnames that should be edited before |
| 53 | +trying them. |
| 54 | + |
| 55 | +Some of the less boring tests and examples: |
| 56 | + |
| 57 | +At the top level: |
| 58 | + |
| 59 | +test.py Application mainloop, uses most Mac extensions |
| 60 | + |
| 61 | +In ae: |
| 62 | + |
| 63 | +aetools.py Conversions between AE and Python data type |
| 64 | +echo.py Dummy AE server, echoes all data back |
| 65 | +tell.py Primitive AE client |
| 66 | +aete.py Decode 'aete' and 'aeut' resources (incomplete) |
| 67 | + |
| 68 | +In res: |
| 69 | + |
| 70 | +listres.py List *all* resources in current and in all res files |
| 71 | +copyres.py Copy a resource file |
| 72 | +mkerrstrres.py Read "errors.txt" and create a set of "Estr" resources |
| 73 | + |
| 74 | +In snd: |
| 75 | + |
| 76 | +playaiff.py Play an AIFF file |
| 77 | +morse.py Turn text into Morse code |
| 78 | +audiodev.py The standard audiodev.py extended with Mac support |
| 79 | +Audio_mac.py The Mac support for audiodev.py |
0 commit comments