CompuPhase produces hardware and software products. A brief overview of our products is listed below. Note that CompuPhase can also develop customized versions of its products, or create products or applications per your specifications. Contact us for more information.
DM440 audio player/controller
A high-quality audio player for a background music system, with daily schedules and automatic updates.
USB Pushbuttons, Dome Button & Interfaces
A series of large and robust buttons, connectable to a PC via a USB link.
Modules & semi-finished products
Programmable Audio players
Our solid-state audio players are suitable for embedding in scale models, game consoles and kiosk applications, as well as to be part of high-quality broadcast or narrowcast systems. These sturdy and high-quality players are programmable by the end user (or site owner) through a scripting language. As a result, the audio players can fit into almost any design for which you need high-quality audio.
LED effect lighting
We offer a few lighting solutions for scale models, indicator lights, displays, or other functions. These products are based on high-efficiency LEDs.
CompuPhase actively develops and commercializes several software tools and development libraries. Most of them are targeted to programmers and professional end users. A few of our products are freeware or open source; other products are commercial. Full source code to our commercial products is usually available.
- EGO for Windows
- EGO for Windows is a very complete authoring system to develop applications
for training, presentation and simulation.
Look also at the "Application notes on EGO, for detailed information that supplements the manual.
- "pawn": embedded scripting language
- A tiny and fast programming languages for computer games, animations and embedded applications. It may also be used as a general scripting system.
- minIni: a minimal INI file parser
- minIni is a programmer's library to read and write "INI" files in embedded systems. minIni takes little resources and can be configured for various kinds of file I/O libraries. minIni provides functionality for reading, writing and deleting keys from an INI file, all in a tiny and easy to port library.
- Rosette - internationalize applications
- Rosette helps with the creation and maintenance of applications that must be presented in multiple languages.
- More libraries and components...
- A few older software products of this categorie are listed here.
- PaletteMaker - optimal colour palettes
- PaletteMaker is a professional tool to create optimal colour palettes from a series of "True Color" images. The utility has many configuration options and uses state-of-the art algorithms.
- Termite - a simple RS232 terminal for Microsoft Windows
- Termite is an RS232 terminal that is very easy to configure and use (developers can pre-configure it too, so that it runs out of the box).
- The SYLT Editor - create/edit synchronized lyrics
- The SYLT Editor is a self-contained utility to create or modify SYLT frames in an MP3 track (or, more accurately: a SYLT frame is inside an ID3 tag, which in turn is prefixed to an MP3 track). A SYLT frame contains text (e.g. the lyrics of a song) plus time-stamps attached to each line, word or syllable. Versions of the SYLT Editor are available for Microsoft Windows and for Linux.
- SvnRev - a programmers' tool for Subversion and CVS/RCS
SvnRev is a little program that writes the current revision number of
project into a C/C++ header file or a Java package file. This revision
number is stored in constants (macros in the case of C/C++, both as a
number and as a string. SvnRev is specifically designed for the
Subversion version control system, but it can also be used with CVS and RCS.
Most recent update: Support for the new "working copy" of Subversion 1.7; relaxed requirement for RCS keywords in source files (on Subversion 1.7 working copies).
- More applications and utilities....
- A few older software products of this categorie are listed here.
VisualPlace assists in (manual or automated) PCB assembly. Component
placement is extracted from files generated from the EDA suite —notably
the Gerber files, the centroid file(s) and the bill-of-materials.
The application visualizes the component placement and converts the files (with corrections, where applicable) for further automated processing. Creating placement information (with semi-automatic centre-finding for the centroid markers) is also possible.
Due to a plug-in architecture, VisualPlace works with many EDA suites, and more can be added.
- KiCad Librarian
A utility to move & copy footprints or schematic symbols from one library to
another, and to optionally adjust the parameters of these footprint/symbols.
This program supports the KiCad EDA suite.
- DrillFile: drill file creator for KiCad
KiCad is an open-source
EDA-suite. This "DrillFile" utility creates either one or two drill files
in Excellon format, optionally separating plated-through holes from
non-plated holes. It comes as both a GUI and a console utility.
Documentation and source code are included in the download.
A note on the source code
The source code includes makefiles and other support files. The configuration options are set in the makefile via macros. If you use the same C/C++ compiler(s) that the product was built with, it should compile straight from the installation, after adjusting the paths in the makefile macros.
Some of our products come with a "light" version of our APIguard debugging tool. This tool assists in tracing parameter errors in the retail version of the products, without requiring the source code of the products. APIguard is not considered part of the product. Source code of APIguard is not provided.
EGI, AniSprite and Panodome are programmer's libraries for which the source code is available as an option. The products are primarily "function libraries" that are carefully crafted and pre-compiled for maximum performance and stability. The products are not marketed as optimally portable source code archives.
That is, we do not support recompilation of the product's source code by every compiler that you may work with, and we have no intent to do so.
More concretely, the products are written in C and C++ (mostly decorated with in-line assembler snippets). Although the DLLs can be called from Visual Basic and from Borland Delphi, the source code for the products themselves are still in C/C++. We do not provide source code for the products in Basic or in Delphi. You cannot recompile the source code if you only have Delphi or Visual Basic.
That may sound obvious (I hope it does), but there is more: C/C++ compilers differ (slightly) in their methods of making DLL functions accessible from the outside, the interface with the operating system, and other details. While we tend to have both a "production" compiler and a "backup" compiler for a product (for testing purposes), the final (retail) product is ultimately tested with one compiler. If you use a different compiler than we do, you should expect to fix function prototypes, compiler options, and other details. You may also have to rewrite or to remove the (in-line) assembler code.