# HG changeset patch # User darius # Date 885571500 0 # Node ID d4366a86185994d2c3768f5e48dc876948c6732b # Parent ef9995c0c5bdb89b119cd1bb545c30c3b6967f5a Initial revision diff -r ef9995c0c5bd -r d4366a861859 README.LINUX --- /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 ... " +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 diff -r ef9995c0c5bd -r d4366a861859 README.TXT --- /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. + diff -r ef9995c0c5bd -r d4366a861859 build-mikmod.sh --- /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. diff -r ef9995c0c5bd -r d4366a861859 clean-mikmod.sh --- /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. diff -r ef9995c0c5bd -r d4366a861859 mikmod-3.0.1 Binary file mikmod-3.0.1 has changed diff -r ef9995c0c5bd -r d4366a861859 mikmod-3.0.1.lsm --- /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 diff -r ef9995c0c5bd -r d4366a861859 register.txt --- /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 )