JAC'S MIDI PLAYER (Version 2B November 1996)

This little programme is pretty much like the run of MIDI players to be
found in the shareware forums, but it differs from the latter in a number of
useful ways-

-the program is in the Public Domain. No financial remuneration is asked
 for. I am an old retired guy with nothing better to do than play around
 with computers, but I would welcome feedback and ideas. 
-it comes with the Visual Basic Code so that you can make improvements
 and additions of your own if you own Visual Basic 3 for Windows or above
-it will show the words of the songs while they are being played and you 
 can select different lyrics to go with with the same tunes. The words
 must be available in text files to accompany the MIDI files
-it enables you to do some basic management of your MIDI files from 
 within the program (copying, renamimg, grouping in albums etc.)
-Version 2 adds a 'Browse' facility which allows you to browse through a 
 long list of files playing only a short snatch of each. You set the length of
 the 'snatch' in seconds from the menu. Remember to reset this if you wish to
 revert to playing the full length of each song.  
-Version 2 also adds a picture display facility enabling the presentation of
 attractive visuals (*.BMP or *.WMF files) to accompany the songs, either
 automatically (if the pictures have the same names as the songs), or manually
 through menu selection

The MENU commands should be self-explanatory. Use the command SELECT LYRIC
to chose a set of words to go with a particular tune which you have
selected.If a song has only one possible lyric the program will load the
words automatically provided it has an identical name to the MIDI file.
Similarly use SELECT PICTURE to choose a picture while the song is playing.

Version 2 has cleared up a number of bugs and the program runs more slickly. 
I cannot guarantee a completely bug-free product, but it works OK for me both
in Windows 3.1 and in Windows95. It is assumed that you have a sound card 
installed and properly configured for MIDI output. The program does not
provide a facility for setting up MIDI ins and outs, though one could be
added. See 'Visual Basic How-To' by Thomas, Arnson and Waite
(Waite Group Press) for helpful guidance on programming with the Windows
API. I have now abandoned the use of the MessageHook control provided 'free'
with the above book because of the ambiguity in the wording relating to
copyright of the accompanying materials. I have recently learned a great deal
from Peter Aitken's 'Visual Basic for Windows 95 Insider' (Wiley Computer 
Publishing) and have used the polling method described there in order to 
deal with the problem of detecting end of playback of the MIDI songs.

Make sure you have a copy of VBRUN300 in your Windows/System directory.

Comments and copies of improved versions, and of MIDI files with lyrics
are always welcome! I would like to add facilities for allowing the user to
make changes in the volume, tempo and pitch of songs during playback, but
that takes me into the complexities of sending specific  MIDI messages
through the Windows API, and I cannot at present get any documentation to 
help me with this, since all the Visual Basic textbooks seem to leave off
at this point. I would be grateful for any help available from friends out
there.
 
I have hordes of karaoke albums of tin-pan-alley songs, old-time music hall 
numbers and well-known folk-songs, including the best of auld Scots sangs,
all 'performed' by myself using the inimitable 'Band in a Box' software,
but I am unwilling to distribute these since I am unsure regarding the legal
implications of handing over to third parties arrangememts and performances
of songs presumably protected by copyright. 
I also have a large collection of traditional nursery rhymes arranged by me
for my granddaughter which I would be happy to place in the public domain if
some one can convince me that no one out there actually holds the copyright
to Humpty Dumpty and Little Bo Beep!
The complete Basic Code is contained in the file JACMIDI.TXT with a brief
comment on each function and procedure. 
The actual forms used to make the EXE file are contained in the compressed
file CODE.ZIP


J.A. Campbell 100117.1573@compuserve.com    6th December 1996
  

