TiMidity++ 2.13.2 for OS/2 (release 3) This is a port of TiMidity++ 2.13.2 (standalone client) for OS/2. It is largely based on Darwin O'Conner's port of TiMidity++ v2.10.4, plus his PM GUI code from TiMidity v0.2i (both updated for the 2.13.2 code level). Darwin's original release notes are appended at the bottom of this file; just be aware that some of the information therein is now obsolete (like the part about not finding the configuration file, or the limitations ascribed to the Pause button). See the main README file, as well as the FAQ, for general information about using TiMidity++. Installing Make sure that timidity.exe and timidity.cfg are in the same directory. If installing TiMidity++ for the first time, edit timidity.cfg and change the 'dir' statements to wherever you keep your patch and secondary configuration files. You MUST have some audio sample files installed. See the FAQ file (located under 'docs') for more information. Both GUS patches and SoundFonts are supported. I highly recommend using Eric Welsh's EAWPATS collection. Some other possible collections include: - General User GS collection: http://www.schristiancollins.com/generaluser.php (I have tested with the SoftSynth v1.44 version.) - FreePats collection: https://freepats.zenvoid.org/SoundSets/general-midi.html#FreePatsGM (High quality but missing a handful of the General MIDI instruments.) To install new GUS patches or SoundFonts, copy them to some directory or other. Next, edit TIMIDITY.CFG and then make sure that directory is defined (using the 'dir' parameter). Then add the necessary parameters to load them. For GUS patches, the syntax is: source where (minus the angle brackets) is the name of the configuration file that came with the patch set. For SoundFonts, use: soundfont where (again, minus the brackets) is the name of the SoundFont file (usually with an extension like .SF2 or .SBK). Running To play a MIDI (or other supported) file, run: timidity.exe [options] file(s) This assumes that you have satisfactory patch sets and/or soundfonts installed, of course. Run 'timidity -h' (or see the README) for a full list of supported options. The timidity.exe executable contains three different user interfaces. The dumb console interface is the default if neither of the others is specified. As both of the other interfaces are much more attractive and usable, you will probably prefer to use one of them if you can. * If you have the TERMINFO database installed, and a compatible SET TERM environment variable, then you can use the ncurses interface by specifying the '-in' option. The ncurses interface does require TERMINFO rather than the older TERMCAP; a TERMINFO database is available in the ncurses library package, as well as from a few other sources. NOTE: The TERMINFO provided by the ncurses RPM from NetLabs may not work because it uses hexadecimal subdirectory names; to fix this, create a copy of the '6f' subdirectory of '/usr/share/terminfo' (and its contents) called 'o' (symlinking is not sufficient). * The Presentation Manager GUI is used if you specify the '-io' option... OR if the executable is named 'timidpm.exe' (in which case the '-io' parameter is not needed). Known Issues * The GUI does its own file type checking independent of the TiMidity++ engine's. It's smart enough to accept MIDI files as such regardless of the filename, but only accepts MOD files when they have the '.mod' extension. (Other formats are not supported by the GUI.) If the GUI opens a file which it deems unsupported, it will attempt to play them using MMOS/2 instead. * If you run the default timidity.exe in GUI ('-io') mode from the desktop, a VIO window will also open. This is caused by timidity.exe starting as a text mode application before switching into PM mode. You can avoid this by changing the EXE to PM mode if you have MARKEXE installed by running 'markexe windowapi timidity.exe'; be aware, however, that this will disable all non-PM (i.e. dumb and ncurses) interfaces. * The current-time display in the ncurses interface tends to run about 1 second fast, as does the trace feature (if enabled). (However, I've observed a similar problem under TiMidity++ for Linux, so this doesn't seem to be the fault of the OS/2 port.) The PM interface gets the current time directly from the DART module (instead of through the TiMidity callback mechanism), and so does not suffer from this problem. Building The sources are distributed via zipfile and should be available from wherever you downloaded this program. See the file BUILD-NOTES.OS2 in the source zipfile for build instructions. Changes 2019-11-03 (release 3) - Various build logic improvements. - If you have a configuration file in the %HOME% directory, it can now be named any of '.timidity.cfg', '_timidity.cfg' or 'timidity.cfg'. - (PM interface) Removed button text and made layout more compact. - (PM interface) Added support for auto-playing files on open. - (PM interface) The GUI now checks files for a valid MIDI header. - (PM interface) The GUI now supports playing MOD files. - (PM interface) Save the Autoplay, Random, and window position settings. - (PM interface) Other minor tweaks. 2010-09-05 (preview release 2) - (PM interface) Control buttons are now MMPM graphic button controls; various other layout improvements to the GUI. - (PM interface) Improved open/close logic of the messages window. - (PM interface) Prevent the current time from showing higher than the total time. - (PM interface) Pressing another button while paused should no longer leave the play thread hung. (Hopefully this means the buttons will work consistently now.) - (PM interface) Use CCHMAXPATH instead of 100 for filename buffers. - (PM interface) Current-file text now shows filename only. 2009-08-21 (preview release 1) - First public test release Alex Taylor (October 2019) http://altsan.org --------------------------------------------------- DARWIN O'CONNOR'S ORIGINAL README.OS2 FROM V2.10.4: --------------------------------------------------- TiMidity 2.10.4 for OS/2 readme Generally things work pretty much the why it says in the main README file. This version support midi files as well as Module files, including .s3m and .xm It can automatically extract file from zip and other compression formats. It also can download files directly from the Internet by entering a url. The the main README for more details. One thing I found is that often module files download from the Internet are often compressed in zip format, even if the file extension doesn't indicate that it is. For example you can download a file called "song.mod" which is really a zip file. TiMidity does not automatically detect this and says the file is not a MIDI file. If you rename the file to "song.zip" TiMidity will know it is zip and will play the mod file stored in the zip. The default user interface is the dumb interface. Use the option "-in" to get the somewhat better ncurses interface. Use "-int" to active tracing so you can see the notes dance across the screen. It has trouble finding the timidity.cfg file if you don't tell it where it is. You may need to use the -c option and the -L option. See README.cfg and README.sf for information on the timidity.cfg file. Darwin O'Connor doconnor@reamined.on.ca ------------------------------------------------ DARWIN O'CONNOR'S ORIGINAL README.PM FROM V0.2I: ------------------------------------------------ The parameters for TimidPM.exe are exactlyl the same as the parameters for timidity.exe. When the program starts up the list contains the files that you entered in the command line. You can use wild cards or enter multiple files (UNIX style). You can play MIDI files by selecting them and pressing Play or double clicking them. You can also play .wav, .avi or any other file the MMOS/2 system supports exactly the same way. This includes Windows .avi, quicktime and MPEG files with the proper OS/2 add-ons. All the controls that work with the MIDI files work with MMOS/2 files, if supported. The buttons work as follows: Pause: Pauses the file. Becomes Resume when a file is paused. If you press any of the other buttons when it's paused it won't respond to them until after you press Resume. Play: Begins playing the file selected in the list box. If another file is currently being played it will stop it imediately to play the new one. Stop: Will stop playing the current file. Unlike Pause, it forgets the current position. Prev: Will play the file in the list previous to the one currently playing. Restart: Well restart the file currently playing from the begining. Skip: Will play the file in the list after the one that's currently playing. When Auto Play is checked and it comes to the end of a file it will automatically start playing the next one on the list. When it reaches the end of the list it'll wrap around to the beginning. If you have Random checked (only available when Auto Play is checked) then it will play a random file in the list instead of going to the next one. The time to the left of the slider gives the current position of the file and the time to the right gives the total length of the file (usually a few seconds low). The slider gives a more graphical indication of the position of the file. The large ticks mark 1 minute points and the smaller ticks mark 30 second points. When a file is playing you can slide the slider and it will jump to that position in the file. In the File menu there are the Add One... and Add Many... options. They both bring up the file dialog so you can add files to the list, except that with Add Many the file dialog is in multiselect mode. The reason I have both is because if you only want to add one file having multiselect on is really inconvenient. The Remove menu item will remove the currently selected item from the list. Exit will, of course, exit the program. The Messages menu item in the Windows menu brings up another window that displays the messages that would nomally be printed to the screen in the text mode version. If there are a lot of messages to display, it may take a while to pop up. If new messages are generated while this window is open they will be automatically added, but, you may have to scroll down to see them. The About menu item will bring up the about window so you can see all the fun legal stuff. The PM version of the program is only designed to work with DART output for playing MIDI files, so use the command line version for outputting to files. Watch for updates. You can email me at . TODO: (in addition to the TODOs in README.OS2) Add tracing support so you can see the music. Add support for MODs, MP2s, QuickTimes and other sound file formats. You have access to the source so if you want to add something yourself you are free to do so. It would be nice if you would contact me about it so there can be some coordination and we can fit it all into one distribution. ---------------------------------------------------