The manx project started out as a tool to play music on self made metallophones. The first version was written by Marcel Hendrix. It progressed to be a general tool to make music audible, on built in midi devices. As most programs on this site, it is written in Forth. The first version ran on iforth systems, first on MS-DOS, later also on Linux. It can be retrieve as the first revision from the RCS archive . However it was not portable at all, and iforth on MS-DOS is no longer supported.
Marcel Hendrix started working with midi a lot more than with
As a result midi commands get added, and the real time aspect
was played down.
An important change is that version 2 loads the whole
piece and handles several instruments at the same time.
(In the first version the two metallophones were handled by each
having an instance of the manx program running and an
interesting mechanism to keep the instruments synchronized.)
It is also easy to play on a different instrument.
All scores can be played on the internal speaker of a PC on
a part by part basis. (This has more to do with restrictions
regarding the PC-hardware, then regarding the program.)
I undertook to get this code running again portably. Portability problems are addressed by three preludes: for ciforth, for gforth and for iforth. Despite tremendous efforts I could not get this second version to work. Portability to gforth and lina turned out to be difficult. Even maintaining it on iforth was hampered, because there was no official version of iforth available to the Dutch FIG chapter.
If you want to experiment with this version,
start out with reading the text files such as notes.txt
in this archive.
You can not download the second version of manx as such.
Instead, download the general archive (see below)
and extract RCS version 1
co -r1 RCS/*
. The RCS archives contains those previous versions and, from revision 2.1 on, the turnkey version (see below). You want to have some musical scores to experiment with. You can download them too.
The original authors have GPL-ed this code, and I have GPL-ed my additions. Our intentions at some time was to make this an open source project.
The third version of manx is called tmanx: turnkey
At last I gave up the idea to remain compatible with the old
Also I just wanted it to run on ciforth.
I redesigned the language and rewrote the program from scratch.
Compare this with the specification
Marcel Hendrix has on his page.
The main source file is totally rewritten and now called manx2.frt.
Although there is an interface layer where through
midi messages pass, there is no longer an option to play the files
on a midi card.
Playing directly to a sound-card
has never worked anyway.
What had been accomplished is the
generation of a midi file from manx scores, then play that
The drivers before the tmanx had a serious design flaw. If a musical note of say a quarter was played, it was turned into a note of a fixed duration of 60 mS specified in the midi file, this being the time that the relais had to be activated. This file can no longer be played on a speaker, or an organ, because the note duration is too small.
Now I could use the facilities of ciforth to make a turnkey program, both with the lina and wina versions of ciforth. The result is an executable (on Windows or Linux) that is installed to start up with .sco files. Those files have a nice pictogram associated with it, a metallophone in a fig-green trapezium. The graphical user interface is installed such that the file name is passed as a parameter to tmanx, then played automatically. This has been accomplished on the Windows desktop (windows 95) as well as KDE. During the play a window is present with the score. On KDE that window is normally closed. By making the window active and pressing a key, the playing stops. All interactive Forth commands become available, to play single voices, with different speed or transposed a semitone up, or a range of bars. The score files are also installed with an editor attached to right clicking, such that editing a score is intuitive.
You can download the
turnkey version of manx as part of the RCS archive.
to just extract the latest revision. This assumes lina version 4.0.6.
You also can download just the sources..
Go to the home page of Albert van der Horst