MANX

The manx project started out as a tool to play music on self made metallophones attached to a real standard IBM-PC parallel port. This was in 1994. USB ports can not be used for this type of real time control. The first version was written by Marcel Hendrix. It progressed to be a general tool to make music audible, on built in midi devices and the speaker as well. 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 as of 2017 iforth on MS-DOS is no longer supported, nor 32 bit versions on modern MS-Windows's.
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. In partical the speaker can play only one pitch at a time.)

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. (since 2002) Compare this with the specification Marcel Hendrix has on his page. The claim that the old manx supplied with iforth's can control the tingle tangle's is incorrect, in view of changes to the hardware. A collection of music pieces in the correct format for my new version of manx is found in scores archive These pieces also can be made to play on the organ, a new instrument, similar in sound to street-organs. 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. Old manx could control the tingle tangle's only via 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, later Windows XP) 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 and build it using make. This assumes lina version 4.0.6.
You also can download just the sources..


Go to the home page of Albert van der Horst