|
Applications
RadioBaH is a cross-platform Streamcast and Icecast Internet Radio player, written in BlitzMax, and using several of my BlitzMax Modules, including wxMax, BASS, Cairo, Growl, libcurl and libxml.
wxMax Tutorials
These tutorials introduce you to wxMax, and show you how to get the best out of the many different available controls, sizers, and events. Some of the tutorials are also available in different languages.
The tutorials are also included as part of the main wxMax download, so you can use them offline to help you to learn wxMax better.
Cross-Compiling with BlitzMax
If you use Mac or Linux, you can now cross-compile your modules and applications for the Windows platform. This uses Mac/Linux native MinGW utilities to create Win32 binaries which will run on a Windows operating system. If you can't, or don't want to have Windows, this is one method of creating software for Windows without the need for a Windows installation.
BlitzMax Modules
We're currently in the process of moving most of the modules to GoogleCode. This is great for everyone as it means releases can be better organised, latest source is available via Subversion, and it includes an Issue Tracker.
Last Update |
||
|
28 - May - 2007 @ GoogleCode 29 - Apr - 2007 @ GoogleCode @ GoogleCode 11 - Apr - 2007 @ GoogleCode @ GoogleCode @ GoogleCode @ GoogleCode 06 - Dec - 2006 25 - Apr - 2007 06 - Dec - 2006 06 - Dec - 2006 @ GoogleCode 05 - May - 2007 @ GoogleCode 22 - Apr - 2007 @ GoogleCode @ GoogleCode @ GoogleCode @ GoogleCode @ GoogleCode 26 - May - 2007 06 - Aug - 2007 @ GoogleCode @ GoogleCode @ GoogleCode 15 - Aug - 2006 @ GoogleCode @ GoogleCode @ GoogleCode @ GoogleCode 09 - Nov - 2007 @ GoogleCode 29 - May - 2007 @ GoogleCode @ GoogleCode @ GoogleCode @ GoogleCode @ GoogleCode @ GoogleCode @ GoogleCode @ GoogleCode @ GoogleCode @ GoogleCode |
Installing modules :
MANUAL INSTALL
The zip files contain modules in the structure:
bah.mod / modulename.mod /Modules should be unzipped into the mod folder of your BlitzMax installation.
This creates a bah.mod folder in which each individual module folder is located.
For example, if you have installed BlitzMax in C:\Program Files\BlitzMax, then the zip should be unpacked into C:\Program Files\BlitzMax\mod.
If you have a previously installed version of the module you are installing you should uninstall it first. You can do this simply by removing it's folder. For example, if you had an install of libxml already and you had BlitzMax installed in the location above, you could remove the old version by deleting the libxml.mod folder from C:\Program Files\BlitzMax\mod\bah.modYou might find Building Modules is required sometimes, to get all the modules in sync. You can do this from the IDE menu. Note that Windows users require MinGW installed to build modules.
Note on documentation : All the modules are fully documented. If you don't see it in your Modules area, you can run docmods from your BlitzMax bin folder or from the IDE (Program -> Document Modules). Blitz doesn't update this by itself usually.
UPDATE : Since BlitzMax 1.28, the BMK tweaks are part of the official BMK. I've left the download here for reference ;-)
You can download the source zip file here : bmk2.zip (47kb)
How to Install :
The file bmk.bmx should be compiled in Release mode with GUI disabled.
Once you have your binary, it needs to be copied into your BlitzMax/bin directory.
Warning : Remember to backup your existing bmk executable BEFORE you copy over the new one. Without a working bmk you cannot compile anything !!
Module | Description | Version | Download (size) | Compiled for | |
bah.appstub |
This module is intended as an optional replacement for the official BRL.appstub module on MacOS X, when non-Cocoa GUI compilation is required. Specifically, the module was created with the wxMax module-suite in mind, since it won't run properly using the built-in appstub. To use this instead of the official appstub, you need to compile your app with the following BMK option : -b bah.appstub |
|
Available at GoogleCode | 1.26+ | |
bah.base64
|
Convert your binary data to Base64 Strings and back again with this very handy module. Useful if you need to embed binary data in XML |
| Available at GoogleCode | 1.28+ | |
bah.boost |
Boost is a collection of portable C++ source libraries intended to be widely useful, and usable across a broad spectrum of applications. This BlitzMax module includes some of the boost core functionality, primarily for use with other modules. Currently, this module doesn't expose any specific boost APIs, but is a requirement of the datetime and mathtoolkit modules. |
| Available at GoogleCode | 1.28+ | |
bah.box2d
|
Box2D is a 2D rigid body simulation library for games. |
| Available at GoogleCode | 1.32+ | |
bah.cairo |
A BlitzMax wrapper for Cairo , a 2D vector graphics library. It provides operations similar to the drawing operators of PostScript and PDF. Operations include stroking and filling cubic Bézier splines, transforming and compositing translucent images, and antialiased text rendering. All drawing operations can be transformed by any affine transformation (scale, rotation, shear, etc.) Can output to Image, PDF and Postscript formats. Notes for PPC Mac : You will also need to install an updated pixmap module which includes enhancements for big-endian pixmaps. Download -> pixmap.zip |
| Available at GoogleCode | 1.28+ | |
bah.chipmunk
|
Chipmunk is a fast cross-platform 2D Game Dynamics engine. |
| Available at GoogleCode | 1.32+ | |
bah.clearsilver |
ClearSilver is a fast, powerful, templating system. It is designed to produce HTML, but can as easily be applied to code generation. ClearSilver also comes equipped with its own CGI kit, which makes it incredbily simple to create your own standards-savvy BlitzMax CGI applications. The module includes the ClearSilver (0.10.4) source, and documentation. |
1.00 26-May-07 |
clearsilver.zip (1.38mb) | 1.20+ | |
bah.crypto
|
The Crypto module harnesses the power of the OpenSSL cryptography library to provide state-of-the-art encryption/decryption functionality to your BlitzMax applications. |
| Available at GoogleCode | 1.28+ | |
bah.datetime | The datetime module uses the boost C++ libraries to provide extensive date/time functionality to BlitzMax. Specifically, it allows calculations based on dates, times, date/time periods, date/time durations, date iterators, time zones, and month/weekday name localization (with 74 language translations ready for use with the locale module). As usual, the module is cross-platform and comes with extensive documentation and examples. Requires : Notes :
|
1.00 01-Aug-07 |
datetime.zip (318kb) | 1.20+ | |
bah.database
|
This is the core module for a cross-platform Database Framework, which uses a consistent API to allow you to connect to a variety of different database types. The Framework has support for executing queries directly, using prepare/execute statements, and transactioning. On its own, this module doesn't do much. You will need to also install at least one of the database driver modules. |
|
Available at GoogleCode | 1.28+ | |
bah.dbmsql
|
An mSQL (miniSQL) database driver module for the Database Framework. Requires : |
1.01 10-Apr-07 |
dbmsql.zip (251kb) | 1.20+ | |
Latest Changes | 1.01
|
||||
bah.dbmysql
|
A MySQL database driver module for the Database Framework. Requires : |
| Available at GoogleCode | 1.28+ | |
bah.dbodbc
|
An ODBC database driver module for the Database Framework. On Windows, the module links to libodbc32. Requires : |
|
Available at GoogleCode | 1.28+ | |
bah.postgresql
|
A PostgreSQL database driver module for the Database Framework. Requires : |
1.03 11-Apr-07 |
dbpostgresql.zip (152kb) | 1.20+ | |
Latest Changes | 1.03
|
||||
bah.dbsqlite
|
An SQLite database driver module for the Database Framework. The module includes the source for SQLite, which is compiled into your applications. Requires: |
|
Available at GoogleCode | 1.28+ | |
bah.dbxbase
|
An Xbase database driver module for the Database Framework. Xbase is a C++ class library compatible with .dbf, .ndx and .ntx files, which are used by dBase, Clipper, FoxPro, etc. compatible databases. The module includes the source for both the Xbase and xbSQL libraries. Requires: |
|
Available at GoogleCode | 1.28+ | |
bah.expat | The Expat XML parser, wrapped up in a BlitzMax module. Note : At the moment, this is basically only a stub for Graphviz support. I may, at a later date, properly implement this library. |
|
Available at GoogleCode | 1.28+ | |
bah.exrloader NEW ! |
The EXRLoader module adds BlitzMax support for OpenEXR images. The module includes both support for the standard LoadPixmap image loading, as well as a more advanced API that allows configuring of the image/pixmap appearance. As usual, the module is cross-platform, includes some examples, and basic documentation. Notes :
|
1.00 05-May-07 |
exrloader.zip (992kb) | 1.24+ | |
bah.fontconfig |
A Blitzmax wrapper for Fontconfig, a library for font customization and configuration. The module introduces a new Font Loader to Blitzmax. Note: as of 1.08, the Fontconfig library has changed its configuration method. A configuration file (font.conf) is now used to define some default settings, like location of font dirs etc. An app will try to load this file when it first starts. |
1.08 09-Nov-07 |
fontconfig.zip (940kb) | 1.20+ | |
Latest Changes | 1.08
|
||||
bah.format
|
The Format module introduces C-style printf formatting to BlitzMax. With it, you can format strings and numbers, easily and efficiently. Requires: |
|
Available at GoogleCode | 1.28+ | |
bah.freeimage
|
The FreeImage module adds BlitzMax support for loading and saving of a large number of different formats, using the open source FreeImage library. With this module you can load : GIF, BMP, DDS, EXR, HDR, ICO, IFF, JNG, JPG, JPEG-2000, KOALA, LBM, Kodak, MNG, PCS, PBM, PGM, PNG, PPM, Photoshop (PSD), Fax G3, SGI, RAS, TARGA, TIFF, WBMP, XBM and XPM. And save : BMP, EXR, GIF, HDR, ICO, JPEG, JPEG-2000, PBM, PGM, PNG, PPM, TARGA, TIFF, WBMP and XPM. As well as apply a range of image manipulation on the images. Images can be loaded using the standard LoadPixmap() function, or for advanced use, with LoadFreeImage(). |
|
Available at GoogleCode | 1.28+ | |
bah.ftpparser |
The FTP list parser module is designed to process directory listings retrieved from an FTP server. It currently understands the list output for Unix / Linux, Enterprise Unix, VMS, MVS, NT, Netware, OS2 and OS400 FTP servers. Requires : |
1.01 06-Aug-07 |
ftpparser.zip (62kb) | 1.20+ | |
Latest Changes | 1.01
|
||||
bah.growl |
This is the BlitzMax module for Growl, a Mac OS X system for posting notifications to users. |
|
Available at GoogleCode | 1.28+ | |
bah.gtkmaxgui | A replacement for the BlitzMax linux FLTK GUI module using GTK+ instead, providing a much nicer / standard GUI experience. To include an HTML View Gadget in your application you will need either of the two modules listed below, with which you should then add an appropriate Import to your application. Eg. Import bah.gtkwebmozilla) Requires : |
1.19 25-Apr-07 |
gtkmaxgui.zip (425kb) |
1.22+ | |
Latest Changes |
1.19
|
||||
bah.gtkwebgtkhtml | An HTML View gadget for the GTK GUI module, using the GTKHTML widget. Requires: |
1.02 06-Dec-06 |
gtkwebgtkhtml.zip (94kb) | 1.20+ | |
Latest Changes | 1.02
|
||||
bah.gtkwebmozilla | An HTML View gadget for the GTK GUI module using the GTK Mozilla Embed widget. Requires: |
1.02 06-Dec-06 |
gtkwebmozilla.zip (40kb) | 1.20+ | |
Latest Changes | 1.02
|
||||
bah.graphviz | Graphviz is a graph visualization library which enables the representation of structural information as diagrams of abstract graphs and networks. This BlitzMax module provides a means of displaying Graphviz graphs interactively through BlitzMax's Max2D interface (OpenGL / DirectX), and provides facilities to pan, zoom, select graph parts, as well as create in-memory graphs using a simple API. As usual, this module is extensively documented, with examples, and is cross-platform capable. Requires: |
|
Available at GoogleCode | 1.28+ | |
bah.libcurl |
This is the BlitzMax module for libcurl, the multi-protocol file transfer library. The libcurl module adds enhanced support for the protocols FTP, HTTP, TFTP, TELNET, DICT, and FILE. libcurl also supports HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more! The Blitzmax libcurl module also includes c-ares, a library that performs DNS requests and name resolves asynchronously. As usual, this module is fully cross-platform with extensive documentation and some basic examples. This module does not handle SSL encryption (FTPS, HTTPS, etc). For that, you should use the libcurlSSL module. |
|
Available at GoogleCode | 1.28+ | |
bah.libcurlSSL |
This is the SSL-enabled BlitzMax module for libcurl, the multi-protocol file transfer library. The libcurl module adds enhanced support for the protocols FTP, FTPS, HTTP, HTTPS, TFTP, TELNET, DICT, and FILE. libcurl also supports HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more! The Blitzmax libcurlSSL module also includes c-ares, a library that performs DNS requests and name resolves asynchronously. As usual, this module is fully cross-platform with extensive documentation and some basic examples. Requires: |
|
Available at GoogleCode | 1.28+ | |
bah.libsvg
|
A BlitzMax wrapper for libsvg and libsvg-cairo. Please note, this is released under the LGPL 2 license. Adds loading and rendering of .svg files to the Cairo module. Requires both the Cairo module and libxml module. |
1.02 06-Dec-06 |
libsvg.zip (410kb) | 1.20+ | |
Latest Changes | 1.02
|
||||
bah.libxml | A BlitzMax wrapper for the Libxml2 XML parser library, an industrial-strength XML parser. If you are happy compiling Modules in BlitzMax you can download the smaller libxml_src.zip, which does not include pre-compiled code for the three platforms. |
|
Available at GoogleCode | 1.28+ | |
bah.libxslt | A BlitzMax wrapper for the Libxslt library, an XML language to define transformation for XML. This module allows for the execution of XSLT scripts on XML from within your BlitzMax applications. An example of a useful XSLT might be to convert a Collada definition into a .b3d format file. ;-) Fully documented, with tutorials and examples. Requires: |
|
Available at GoogleCode | 1.28+ | |
bah.locale | A Localization module for BlitzMax. Makes it easy to add multi-language support for your apps. Also included is a utility called BLFBuilder (source included), designed to create and maintain the "blf" format files that the module uses. (the files are XML based, but an editor makes it a breeze to maintain them). Requires: |
| Available at GoogleCode | 1.28+ | |
bah.mapm
|
MAPM is an Arbitrary Precision Math library which allows you to process numbers with much greater precision than normal integers or doubles. In fact, MAPM support numbers with up to 2^31 digits. |
| Available at GoogleCode | 1.32+ | |
bah.mathtoolkit
|
The Math Toolkit module implements Boost's math and statistical distribution utilities, including univariate, continuous and discrete distributions. Requires: |
| Available at GoogleCode | 1.32+ | |
bah.muparser
|
The muParser module is capable of parsing mathematical expressions. |
| Available at GoogleCode | 1.32+ | |
bah.maxunit | A unit testing module based loosly on Junit. |
|
Available at GoogleCode | 1.28+ | |
bah.portmidi |
Portmidi is a cross-platform library for real time input and output of MIDI data. This module wraps up the library into an easy to use set of Types and callbacks. With it you have access to input and output MIDI streams, as well as the ability to send and receive SysEx data. Notes :
|
1.00 28-May-07 |
portmidi.zip (303kb) | 1.24+ | |
bah.random |
The Random module is a drop-in replacement for BRL.Random that uses the SFMT (SIMD-oriented Fast Mersenne Twister) pseudorandom number generator to produce cross-platform random number sequences. (the official Random module doesn't guarantee that numbers from the same seed on different platforms will have the same sequence) Notes :
|
1.01 29-May-07 |
random.zip (54kb) | 1.24+ | |
Latest Changes |
1.01
|
||||
bah.realtimebattle |
RealTimeBattle is a programming game, in which robots controlled by programs are fighting each other. The goal is to destroy the enemies, using the radar to examine the environment and the cannon to shoot. This module allows you to create robots written in BlitzMax, to compete with other robots in the RealTimeBattle arena. Requires: |
1.00 15-Aug-06 |
realtimebattle.zip (66kb) | 1.20+ | |
bah.regex |
The Regular Expression module uses the open source PCRE library to add support for string search and replace using regular expressions. As usual, the module is cross-platform, comes with some examples and full documentation. |
| Available at GoogleCode | 1.20+ | |
bah.rgbloader NEW ! |
The RGBLoader module allows the loading into BlitzMax of SGI RGB format images. Supports RGBA, RGB, BW, and Greyscale with Alpha. Simply Import the module, and it is auto-magically enabled, so you can use LoadPixmap etc normally. |
1.00 22-Apr-07 |
rgbloader.zip (281kb) | 1.20+ | |
bah.rtl
|
The RTL module utilises the fribidi library to provide Unicode Bidirectional Text support
to BlitzMax. |
| Available at GoogleCode | 1.32+ | |
bah.tesseract
|
The Tesseract module adds an OCR engine to BlitzMax. |
| Available at GoogleCode | 1.32+ | |
bah.volumes |
A small cross-platform module for retrieving volume and directory information for the current system. Also allows standard access to various user directories such as Home, Documents, Desktop and Application Data (Support on Mac). |
| Available at GoogleCode | 1.33+ | |
wxMax |
wxMax is a BlitzMax language binding for the wxWidgets toolkit. Struggling with MaxGUI? Perhaps this is a viable alternative for your cross-platform BlitzMax GUI applications? Because the module is bigger than all my other modules put together (as of 7/Sep/2007, there's 25000+ lines of bmx, and 7000+ lines of cpp glue), I've decided to locate it on its own repository. The repository supports issue-tracking, and source control, and I've even set up a discussion group for support and development. Follow the link on the right to head there now! |
|
wxMax at GoogleCode | 1.24+ | |