changeset 1:d4366a861859

Initial revision
author darius
date Fri, 23 Jan 1998 16:05:00 +0000
parents ef9995c0c5bd
children 687659b135f0
files README.LINUX README.TXT build-mikmod.sh clean-mikmod.sh mikmod-3.0.1 mikmod-3.0.1.lsm register.txt
diffstat 7 files changed, 546 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.LINUX	Fri Jan 23 16:05:00 1998 +0000
@@ -0,0 +1,162 @@
+/----------------------------------------------\
++--------------- MIKMOD FOR UNIX --------------+
+\----------------------------------------------/
+
+This is version 3.0.1 of MikMod of Unix - it is a fairly big leap
+from the MikMod 2.14 that everyone's been using for the past year or
+so - sorry it's so late coming.  However, I think you'll be pleased
+with it...  The console player is better - you can see
+& scroll through the instrument list and see the sample messages now,
+and the archive support is much improved, and the playlist support is
+pretty sweet as well.  The big thing really is... 
+
+WE HAVE IMPULSE TRACKER SUPPORT!!!!!!!!!!!!!!!!!!!!!!!!
+
+This now puts MikMod 3.0 in direct competition with MikIT :)
+
+
+COMPILING
+
+I.   Type "build-mikmod.sh"
+II.  It builds
+III. The excutable binary 'mikmod' is spit into your directory
+IV.  Install mikmod somewhere in your $PATH
+V.   Enjoy kick-ass mod music :)
+
+
+USING MIKMOD
+
+To get the command line options, type "mikmod -h"
+That should tell you most of what you want to know, basically you just
+type "mikmod <filename-1> <filename-2> ... <filename-n>"
+Once you're in the player, a few keys you can press...
+(keys don't have to be capitalized, BTW)
+
+UP/DOWN scrolls the sample list
+LEFT/RIGHT or -/+ moves the song backwards/forwards 1 pattern
+SPACE pauses
+N loads the next song
+P loads the previous song
+Q quits
+W writes writes the current playlist to "$HOME/mikmodplaylist"
+I toggles between sample/instrument names/messages 
+	(this is only for .XMs and .ITs)
+M gives you the song message/comment (.ITs ONLY)
+
+If you're playing MikMod in quiet mode (with the -q switch), you
+can tell MikMod to jump to the next/previous song by sending
+the MikMod process SIGUSR1 or SIGUSR2 respectivly.
+In other words, let's say you're doing something like this:
+
+$ mikmod -pl myalltimefavmods -rp -k -t -q &
+[1] 7531
+
+You've told MikMod to read the songs out of the playlist 
+myalltimefavmods, to play them in random order, to delete each
+module from the playlist after playing (so none get played twice)
+to skip over any file access errors, to not spit out any output, and
+to run in the background.
+bash gives us the process ID, in this case it's 7531.  You can also
+find this out from "ps", "top", on any of a number of other utilities.
+Now, let's say a song you don't like as much comes on, or for some
+reason one seems to be looping forever, you can do this...
+
+$ kill -s SIGUSR1 7531
+
+and MikMod will start playing the next file in the list.
+If you want the previous file, just use SIGUSR2 in place of
+SIGUSR1.  Note that when you're playing randomly, it doesn't actually
+make any different if you select next or previous, because the next song
+is selected randomly every time, and the previous one not saved.  As
+well, if you're not playing randomly but have an ordered list you are
+deleting after each plays, you won't be able to get the previous song
+played either...  Hrm, maybe I should make SIGUSR2 toggle pause 
+instead...  What do you think?  E-mail me!
+
+
+BUGS
+
+What?  Bugs?  Where???
+Yes, there are a few bugs and/or misfeatures and/or things that should
+be implemented that haven't yet been.
+
+- sample messages are sometimes a bit screwed up for some .MTMs
+- You can't view the song messages of .MTMs, except possibly for
+	the very first line.  This is because the way the song comment
+	is stored is really wierd for .MTMs and totally different from
+	the way .ITs store it.
+- When you pause, any looped notes will keep on playing.  This is
+	actually a bug ("feature") of MikMod_TogglePause() which
+	I will probably have to do in and patch...
+- At the end of a few songs you'll "go over the edge" and it will
+	try to play past the end of the second to last patten.  In 
+	other words, if "pos:" of the ncurses display starts showing 
+	400+ and the sound is wrong (or not there) it's time to hit
+	NEXT...
+- The ULT loader is broken.  Segfaults every time... Solution:
+	AVOID PLAYING ULTRATRACKER MODS FOR THE TIME BEING
+	(it's not so common a format, so that shouldn't be too too 
+		inconvinient)
+- In addition to .ULT, the .FAR, .MED, and .669 loaders are of
+	questionable status.  I haven't been able to throw any files
+	of such formats at 'em to test.  Tell me about your 
+	successes/failures at playing any of those...
+- Hmm, the status display should probably display the BPM along
+	with the protracker speed...
+- Sometimes I've gotten "Cannot allocate DMA buffer" error.  
+	I don't know where this is comming from, and it can be annoying.
+	Try running it a few times and it will work eventually.
+- Prolly some other problems that escape me at the moment...
+
+
+TODO
+
+* X Interface (there already are several based on older versions of
+MikMod, however none of them reached a very sophisticated level)
+* File selector under ncurses
+* View messages in .MTMs
+* Write a /dev/sequencer driver so people with GUSes and AWE32s can
+use hardware mixing
+
+
+MIKMOD ON NON-LINUX PLATFORMS
+
+First, check playercode/unix_drv/ to see if a driver has been written
+for your platform.  If so, you're in some luck.  Theoretically you
+then can simply edit the makefile to compile in your driver.  It's
+probably not that simple, however, as these drivers haven't been tested
+with MikMod 3.0 and are carryovers from 2.15...  I don't have access
+to Suns, SGIs, etc with which to test.  If you DO get MikMod working
+with this distribution on another unix than Linux, or need some help
+in doing so, E-Mail me!  I want to support as many unices as possible
+in the MikMod for Unix distribution.
+BTW: FreeBSD uses the same sound driver as Linux, so the oss driver
+should probably work fine.  Werd to the FreeBSDers!
+Also...  This code was originally for DOS.  DOSisms like the DOS 
+drivers and makefiles for Watcom C have been mostly deleted to save 
+space.  Go to Jake Stine's web site for the DOS version.
+
+
+CONTACT
+
+You probably want to e-mail me at amstpi@freenet.tlh.fl.us as
+this is an unsupported release of MikMod (that is, not supported by the 
+guy who officially owns MikMod now, Jake Stine)
+
+offical Mikmod for Linux homepage is at
+http://www.freenet.tlh.fl.us/~amstpi/mikmod.html
+
+latest releases of Linux mikmod can also be found at
+ftp://sunsite.unc.edu/pub/Linux/apps/sound/players
+
+The offical offical MikMod homepage is Jake Stine's
+(this is for the DOS version that MikMod for Unix is based upon)
+http://www.epix.net/~dracoirs/mikmod
+
+Other relevant web pages/email addresses can be found in various
+parts of the source tree and documentation...
+
+Hope this brings you hours of mod-listening pleasure!
+
+- Peter Amstutz
+11:30pm 16 October 1997
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.TXT	Fri Jan 23 16:05:00 1998 +0000
@@ -0,0 +1,217 @@
+
+ --> MikMod Sound Libraries Version 3.0
+  -> Release Notes - August 20th, 1997
+
+
+ Welcome to the long awaited MikMod 3.0 public release.  Although this
+ product has been delayed countless times, hopefully it will be worth
+ the wait.  We have added tons of new features and worked weeks on end
+ to trace down all know bugs.
+
+ Notes about this release:
+
+   The documentation is there, but is not finished.
+
+   Streaming audio has been promised, but it is not functional in this
+   version of MikMod.  I promise that a 3.xx update will be released
+   prety soon that will have support for streaming audio.
+
+   The Unix side of things is pretty messy.  If you want Unix drivers
+   for your particular platform, ask me about it!  I have a handful of
+   partially converted drivers and it just might help save you time
+   rather than hack from 2.10 by yourself.
+
+   VIRTCH2.C, the high-quality mixer used for the WAV and RAW drivers,
+   currently requires that your compiler supports 64 bit integers.
+   If it does not, ignore VIRTCH2.C and switch drv_raw.c and drv_wav.c
+   back to VIRTCH.C.  I will have a floating point alternative to the
+   64 bit integer VIRTCH2.C very soon.
+
+   And as usual, please report all bugs to Jake Stine at:
+                                                   dracoirs@epix.net.
+
+
+-/- Compiling for Watcom
+
+ If you have Watcom for DOS only (no IDE), you should be able to compile
+ MIKMOD.EXE in the Examples/ directory by running WCMAKE.BAT.  The in-
+ dividual makefiles are in the three source trees as MAKEFILE.WC.
+
+ Users of the IDE (v10.6 or better) can hopefully use the mikmod.wpj lo-
+ cated in root directory (same location as this file).  MIKMOD.WPJ can
+ compile all of the Watcom examples.  Or you can make your own project
+ and include the MIKMOD.TGT, MMIO.TGT, and EXTDOS.TGT files found in
+ the Lib/ directory.
+
+ Remember that if you are going to be running code from interrupt-driven
+ situations (ie, from the system timer), you have to use Watcom's /ZU
+ compiler option for any module that will have code called while in an
+ interrupt.
+
+
+-/- Compiling for DJGPP
+
+ Working DJGPP makefiles have been included as MAKEFILE.GCC in each of
+ the source trees.  MikMod now works 100% with DJGPP version 2.0 and
+ above.
+
+
+-/- Other Compilers
+
+ If you have another compiler and you manage to get Mikmod to work with
+ it, drop me a line and we will see about making the needed changes to
+ my copy for the next release.
+
+ If you get into trouble, you can e-mail me for help.  Otherwise, make
+ sure to check the example files for general useage and some other misc-
+ ellaneous information.
+
+
+
+Documentation
+=============
+
+There are several documentation files in the Docs/ directory.  They are:
+
+  MIKMOD.DOC: General and specific useage of the MikMod Sound System in
+              programs.  Contains a reference to all API calls, global
+              variables, and soundcards supported.
+
+              This file is in Microsoft Word fr Windows 2.0 format.  If
+              you do not have a program to read this format, you can
+              download a free Word viewer from [assuming Microsoft does
+              not rearrange their site (yea, right)]:
+
+                http://www.microsoft.com/officefreestuff/word/
+
+  MIKCVT.TXT: Text file on how to use the MIKCVT.EXE conversion utility.
+
+  TIPS.TXT: Various tips, tricks, and optimizations that I jot down as
+            I think of them.
+
+
+
+Example sources
+===============
+
+This version of MikMod includes four sample sources:
+
+  MIKMOD: A basic module player with a simple interface.
+
+  MIKWAV: An example of WAV loading and sound effects usage.
+          This example includes the three wave files also included,
+          EXPLODE.WAV, MECHA.WAV, and SLASH.WAV.
+
+  MIKINTER: A simplified module player which attaches MikMod_Update()
+            to the timer interrupt, which is convienient for games
+            and demos (MS-DOS only).
+
+  MIKCVT: A conversion utility to convert all types of supported mod-
+          ules to MikMod's internal UniFormat.  See docs\mikcvt.txt for
+          more useage informaion.
+
+
+
+
+How to contact us
+=================
+
+Please send your questions, registration forms, comments, bugreports,
+bugfixes, loaders, drivers, soundcards etc. to:
+
+
+ -/- Jake Stine [Air Richter]
+
+      Email:
+         dracoirs@epix.net (preferred)
+         dkstine@microserve.com
+        
+      Snail-mail:
+         Jake Stine
+         2970 Laurel Run Road
+         Wilkes-Barre, PA  18702
+         United States
+
+      Phone:
+         (717) 822-2794
+
+
+And if you want to contact MikMak, the original author of MikMod:
+
+ -/- Jean-Paul Mikkers [MikMak]
+
+      Email:
+         mikmak@via.nl (preferred)        
+         mikmak@stack.urc.tue.nl
+        
+        
+      Snail-mail:
+         Jean-Paul Mikkers
+         Godartstr. 16
+         5932AX Tegelen,
+         The Netherlands
+
+      Phone:  
+         +31 (0)77-3732736
+
+
+
+Legal Stuff
+===========
+
+MikMod has been released under a special liscencing agreement.  This
+software package is free to use for home and educational purposes only,
+and all users are permitted to redistribute the software in its complete
+and original form only.  Unregistered use of this software in a com-
+mercial package or program is prohibited. Basic translation: IF YOU ARE
+ASKING MONEY FOR THE PRODUCT YOU USE THIS SOFTWARE WITH, YOU HAVE TO
+REGISTER!  Please see Registration Instructions below for information on
+how to register.
+
+ - Registration is only $40 US dollars.
+
+ - Registering is for the distribution rights of binaries only.  Com-
+   mercial distribution of the sources or portions of the sources in
+   any form is strictly prohibited without special granted permission
+   from Divine Entertainment.
+
+ - Registering MikMod gives you the right to sell an unlimited number of 
+   copies of the product you're using it for.. pretty flexible huh?
+
+ - Registering is good for all minor versions under the current major
+   version. For example, if you register for MikMod 3.00 now, all possi-
+   ble updates through 3.99 will also be registered. This allows for
+   bugfixes and updates without the need to register again.
+
+ - A MikMod registration cannot be transferred from one person to another,
+   or from one person to a company, or from one company to another company.
+
+ - Contributors to a library (bug-fixes, new code) will get automatic
+   registration for all future versions.  Divine Entertainment reserves
+   the right to decide if your contribution is good enough for registra-
+   tion.
+
+ - Registered users will be optionally added to a mailing list.
+
+ - If you use MikMod on a regular basis for home or educational use, we
+   encourage you to register to help support the product (although you
+   do not have to).
+
+ - If you have any questions concerning registration, mail your query to
+   dracoirs@epix.net.
+
+
+Disclaimer:
+
+ The author (Jake Stine) specifically disclaims all warranties, expressed
+ or implied, including but not limited to implied warranties of merchant-
+ ability and fitness for a particular purpose with respect to defects in
+ the software and documentation.
+
+ In no event shall the author be liable for any loss of profit or damage,
+ including but not limited to special, incidental, or consequential
+ damages.
+
+ All product names, trademarks and registered trademarks contained in this
+ document are the property of their respective holders.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build-mikmod.sh	Fri Jan 23 16:05:00 1998 +0000
@@ -0,0 +1,13 @@
+#!/bin/sh
+cd playercode
+make
+cd ..
+cd mmio
+make
+cd ..
+cd examples/unix
+make
+cp mikmod ../..
+cd ../..
+strip mikmod
+echo All done.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clean-mikmod.sh	Fri Jan 23 16:05:00 1998 +0000
@@ -0,0 +1,10 @@
+#!/bin/sh
+cd playercode
+make clean
+cd ..
+cd mmio
+make clean
+cd ..
+cd examples/unix
+make clean
+echo All clean.
Binary file mikmod-3.0.1 has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mikmod-3.0.1.lsm	Fri Jan 23 16:05:00 1998 +0000
@@ -0,0 +1,38 @@
+Begin3
+Title: MikMod for Linux
+Version: 3.0.1
+Entered-date: 17OCT97  
+Description: MikMod is a portable modules player originally written by
+Description: of Jean-Paul Mikkers (MikMak) for DOS. It has 
+Description: subsequently been hacked by many hands and now runs on 
+Description: many platforms, this particular distribution intended
+Description: to compile fairly painlessly in a Unix (Linux) environment.
+Description: It uses the OSS /dev/dsp driver including in all recent 
+Description: kernels for output, and will also write wav files. 
+Description: Supported file formats include mod, stm, s3m, mtm, xm,
+Description: and it.  The player uses ncurses for console output and
+Description: supports transparent loading from gzip/pkzip/zoo archives
+Description: and the loading/saving of playlists.
+Description: Full source included, use of this library for music/sound 
+Description: effects in your own programs is encouraged!
+Keywords: mikmod oss player digital music sound audio /dev/dsp mod s3m 
+Keywords: xm mtm stm it uni
+Author: Original code by Jean-Paul Mikkers (mikmak@via.nl)
+Author: Lots of additional stuff (Impulse Tracker support! W00 H00!) by
+Author: Jake Stine (dracoirs@epix.net)
+Author: This distribution put together by Peter Amstutz 
+Author:     (amstpi@freenet.tlh.fl.us)
+Maintained-by: Peter Amstutz (amstpi@freenet.tlh.fl.us) for 
+Maintained-by: Unix/Linux-specific stuff
+Maintained-by: or Jake Stine (dracoirs@epix.net) for just about anything
+Maintained-by: else :)  DO NOT mail MikMak... 
+Maintained-by: He'll just refer you back to Jake.
+Primary-site: ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/
+Alternate-site: none
+Original-site: http://freenet.tlh.fl.us/~amstpi/mikmod.html
+Platforms: Linux and other unices.  There are drivers for AF, AIX, HP-UX
+Platforms: SGI and Sun workstations, but they haven't been tested for 
+Platforms: this version...
+Copying-policy: free for noncommercial use, see register.txt for 
+Copying-policy: information about registering (US$40) for commercial use
+End
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/register.txt	Fri Jan 23 16:05:00 1998 +0000
@@ -0,0 +1,106 @@
+
+ ==============================================
+ Distribution and Registration Policies for the
+ MikMod Sound Library by Divine Entertainment
+ ==============================================
+
+ MikMod has been released under a special liscencing agreement.  This
+ software package is free to use for home and educational purposes only,
+ and all users are permitted to redistribute the software in its complete
+ and original form only.  Unregistered use of this software in a com-
+ mercial package or program is prohibited. Basic translation: IF YOU ARE
+ ASKING MONEY FOR THE PRODUCT YOU USE THIS SOFTWARE WITH, YOU HAVE TO
+ REGISTER!  Please see Registration Instructions below for information on
+ how to register.
+
+ - Registering is for the distribution rights of binaries only.  Com-
+   mercial distribution of the sources or portions of the sources in
+   any form is strictly prohibited without special granted permission
+   from Divine Entertainment.
+
+ - Registration grants permission to use the library in any number of
+   your own commercial programs, and for an unlimited number of copies of
+   each.
+
+ - Registering is good for all minor versions under the current major
+   version. For example, if you register for MikMod 3.00 now, all possi-
+   ble updates through 3.99 will also be registered. This allows for
+   bugfixes and updates without the need to register again.
+
+ - A registration cannot be transferred from one person to another, or
+   from one person to a company, or from one company to another company.
+
+ - Contributors to a library (bug-fixes, new code) will get automatic
+   registration for all future versions.  Divine Entertainment reserves
+   the right to decide if your contribution is good enough for registra-
+   tion.
+
+ - Registered users will be optionally added to a mailing list.
+
+ - If you use MikMod on a regular basis for home or educational use, we
+   encourage you to register to help support the product (although you
+   do not have to).
+
+ - If you have any questions concerning registration, mail your query to
+   dracoirs@epix.net.
+
+
+---------------------------------------------------------------------------
+
+
+ =========================
+ Registration Instructions
+ =========================
+
+ Fill out the order form below and include a check cashable in the United
+ States.  Do not send cash (This is for your own good)!  Please make all
+ checks payable to Jake Stine.
+
+
+ Mail to:
+
+     Divine Entertainment
+     2970 Laurel Run Road
+     Wilkes-Barre, PA 18702-9483
+     United States
+
+ Name/Company:   ___________________________________________________
+
+                 ___________________________________________________
+
+
+ Address     :   ___________________________________________________
+
+                 ___________________________________________________
+
+                 ___________________________________________________
+
+                 ___________________________________________________
+
+                 ___________________________________________________
+
+
+ Phone Number:   ___________________________________________________
+
+ EMail       :   ___________________________________________________
+
+                 ___________________________________________________
+
+
+ Check the appropriate:
+
+ ( ) Yes, I want to order a MikMod 3.xx commercial license for the
+     amazing price of $40 U.S. Dollars.
+
+ ( ) Yes, I've read and understand the following license terms and by
+     signing this form I promise to comply with them. I understand that
+     failure to do so means breaking the international copyright laws.
+
+
+
+
+                              Signature: _______________________________
+
+
+( Registration forms without signature will not be processed, without re-
+  funding of any money included with the form )