MidiSmith Version 2.15 Copyright 1994-95 Computer Systems & Solutions MidiSmith is a Midi (*.mid) file player program that incorporates editing and sequencing capabilities. Sequences of files may be saved to be loaded and re-played. Files (either individual or in a sequence) may be edited and then saved. Editing is able to modify the playback Tempo, Transposition (pitch) and playback Volume and additionally can display and modify the instrumentations of the Midi tracks. Balance between instruments may be adjusted through individual channel volumes within each track and also each channel may be transposed. General Midi (GM) Instrument (voice) names can be selected and the GM defined Base and Extended level sequencer modes can be selected. The Midi Mapper is used by default, bu any available Midi Driver may be selected for playback. A Text Event window is provided to view copyrights, instrument names as defined, lyrics, cue points and markers as Midi files are playing. The Debug facility displays other significant events internal to Midi files in this window. Does this sound complex? Of course! But you can start out just playing Midi files and saving your favorite songs in the order you want them. Everything else can be changed once you feel adventurous. New for Version 1.5 ------------------- Background play has been implemented! This is the major change in this version. There was quite a bit of work involved, and I feel it is only right to release this feature separatly. If you experience any problems PLEASE contact me! Quite a bit of testing has taken place, but there may still be a problem or two. If you experience problems and are familiar with Dr.Watson, please send me any log files. The "Add" button has been enabled during play. This is permitted now due to the background play feature. New for Version 1.6 ------------------- The timing of MIDI Events has been improved to allow better play on slower machines. Extensive use of Continuous Controller events on 25mHz (or slower) machines caused serious tempo variations. Note: This release of MidiSmith will only run on 386 and above machines. The Master Volume setting no longer changes the level of the SoundBlaster Mixer. Volume setting does not cause the double action it did when certain drivers were selected. Standard Mode Windows seems to run correctly. Support for Standard Mode (only on 80386 processors) is subject to verification. Please report any problems and the files you were playing when you had trouble. New for Version 1.61 -------------------- A fix for real-time transposition was made. If you transpose during play notes no longer get stuck. New for Version 1.62 -------------------- Substantial improvements have been made in the play timing. These problems were inadvertantly introduced in the 1.60 level by a change in the method of timing. Multiple very closely spaced pitch bend events still play too slowly, but most of the files I have seem to play quite well. New for Version 1.63 -------------------- Transposition of instruments in tracks now works correctly while playing. All controllers are reset when playback is stopped. Sustain and other controllers being left set caused playback problems on subsequent files. New for Version 1.64 -------------------- Files with large tracks (greater than 64K) now load properly. (Not many Type 1 files have this problem, I got a large Type 0 file.) PlayLists of files in which the "*.msq" file is in the same directory as the file just write the filename, not the complete path, to the saved configuration. Now you can move both the "*.mid" and the "*.msq" file to a different directory and the Midi file will still be accessable through the MidiSmith Sequence file. New for Version 1.65 -------------------- Playback Timing HAS BEEN FIXED. (hooray! I hope?) Events closer than 3 milliseconds didn't seem to work too well. New for Version 1.66 -------------------- A problem has been fixed with a very legato sequence of the same note. It sounded as if a very short note was played over a sustained note. Also, a problem with the sustain controller being left on has been fixed. New for Version 2.10 -------------------- Much has been changed and hopefully improved in both the user interface and the mechanics. Please see the Help file for additional information on the new features listed below. Dynamics - read the help for a description of how to alter the dynamics of a file. Channel Copy - Instrument lines within a track may now be moved or COPIED to double an instrument or generate custom effects (transpose second channel up by a fifth or octave). Play Start/Stop - playback can start at any measure of the song and can end at any point, useful for creating clips from songs. Play Start Delay - a delay can be introduced between songs by setting a number of seconds before play actually starts. Manual Play - when this is selected, the play button must always be selected to start the next song. Text Event Window - this window can be sized as appropriate to display wide lines of text or to display more lines. Event Mapping - a big addition - instruments can be re-mapped to correct for differences in instrument number definitions between various synthesizers. Controllers also can be re-mapped or disabled. Display Control - particular windows which are to be displayed can be selected through check boxes. The screen can be kept to the minimum size you desire. The displayed windows are remembered from session to session. Window sizing and position can either be remembered or left alone (if you want to change positions temporarily). New for Version 2.12 -------------------- SysEx is now supported and seems to be working. Because of this and the fact that some Midi files turn off General Midi mode, the Stop button now has added funcionality. When a song has played and MidiSmith is stopped, the button is labeled "Reset". Pressing it at this point will send a Sysex message to turn General Midi on and will reset the bank (controller 0,32) to zero. The drum channel is also reset to program 0. Try this if a song seems to be playing with the wrong instruments or if the drums disappear and are replaced by some other instrument sound. Selecting the Base Sequencer mode now correctly re-maps the drums from channel 16 to channel 10. The Controller Disable box now works. The Text Event window now has a check box to display note events. Be careful with this, it generates lottttsssss of data. Also processing of messages to this window no longer locks out the controls, so you can uncheck the messages or stop play. Messages will continue to scroll until the buffer is emptied. Note: There is a reported problem which is as of now un-fixed. If the tempo is changed at the start of a song and a note is played at the same time as the tempo change, the timing of the first note to the second note is wrong. This will be fixed as soon as I can locate it. New for Version 2.14 -------------------- Some of the timing problems have been fixed. These were encountered on files with very tight series of notes (1-4 ticks difference). More (very minor I hope) timing problems may still be there. Let me know if you find any (except for the "First Note" problem). New for Version 2.15 -------------------- More of the timing problems have been fixed. It seemed that I would fix one problem in a file and other files would exhibit problems. All the files I have seem to play reasonably now. There is still some (minor) slowing when there are multiple simultaneous notes (or very closely spaced notes). Other fixes have been made relating to when buttons can be pressed ie: pressing the play button while it is loading the next file. These were causing Application Errors. If you locate any more, please let me know. Any problems you have with playing files I would appreciate knowing about. Please give me the particulars of your environment (windows version, processor, speed, ... and the file name. (If you send me the file it will be much appreciated.) Note: There are some limitations: _________________________________ Midi output devices are not saved and restored with the "Save" function. Instrument Setup on a complex keyboard may be tricky. See the Help file under Event Mapping to set up an instrument which takes multiple voice selections to activate a voice. SysEx events are now being sent. This function has undegone minimal testing and may have problems. Please report them and I will do my best to figure out a way to solve them. Complete path names to files selected are saved in the MidiSmith Sequence files. This means that if you re-organise your directory structure or worse, move your files to another disk or system, they will not be found. Fortunatly the .MSQ files are stored in ASCII and the file path name can be changed with a standard text editor. Note that these files look very much like Windows .INI files, but they are not! Be careful with line spacing when in these files. Note: The changes made in version 1.64 fix this problem for most situations, however if you are pulling together a playlist from multiple directories you still may run into this problem. Text Events will not be in sychronization (exactly) with the time at which they occur in the music. This is because of the bacground processing of the music and the foreground display of the messages. Use caution when selecting PitchBend, Controllers, Aftertouch and Debug options on the Text Event screen. Excessive messages may prevent you from altering any controls or even stopping play until the display catches up. The Text Event buffer may also fill up and not display any additional text until it is cleared. Shareware Registration ______________________ Support Shareware! Register and in addition to a registered copy of MidiSmith, you will receive any significant updates. Note that the registered version also will allow an unrestricted number of files to be loaded and wil also be able to save Event Map information to any filename (not just 'default.msm'). Any suggestions which you may wish to provide will be appreciated and evaluated for future inclusion. A registration form may be obtained through Windows Help by printing the Registration Form topic (access the topic Shareware Registration first). If you are a member of Compuserve, you may register through the Shareware Registration Database service. GO SWREG and request product registration number 2858. Note: If you have already registered, your registration will still be valid and you may use this release directly. Product Support _______________ You may contact me (Richard Ellis) via Compuserve Mail (72072,371), the Midi/Music Forum (GO MIDIFORUM) on Compuserve, on AOL as CmpSysSol, or through the mailing address provided in the registration information in Help.