MANX

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 the tingle-tangle's. 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 using ,BR> 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 manx. At last I gave up the idea to remain compatible with the old manx. 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 prebuild file.
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. Use
co RCS/*
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