JGMOD library 0.99 8 October 2002 ---------------- What is JGMOD ?? ---------------- JGMOD is a mod library for MOD musics. It is built on top of Allegro lower level digital sound routines. Currently supports MOD, S3M, XM, Unreal S3M (in UMX extension), and JGM under DJGPP, Mingw32, MSVC, Linux and BEOS. JG stands for Jeffery Guan. So figure out yourself what JGMOD stands for. I am doing this library for 4 main reasons. 1. For the sake of learning. I always wanted to learn how to do a mod player. 2. I am tired of using Mikmod. I have to initialise a lot of things just to make speakers rock. 3. There are no mod library specifically for Allegro yet before JGMOD. 4. It is kinda great to make a MOD library. :-) --------- Copyright --------- JGMOD is guestware MOD library. All you need is to register at the url given below and it is then free for you for your whole life.You can register anytime when you are using JGMOD. If you have any suggestion, comments or whatever, please include it too. You can do whatever you like to my codes. Modify, add, delete or whatever. However, I prefer the codes to be molested. Beware. My codes is also known to molest many people. :-) If you distribute your programs done with JGMOD, it is kinda nice if you mentioned my name somewhere (eg. in the sound department, as Guan Foo Wah). :-) Register at the URL below :- http://www.geocities.com/jeffery_guan/jgmod/jgmod_sign.html ---------- Disclaimer ---------- I will not be responsible to any destruction or damage my library does to you or your computer. ------------------------- Whats new in this version ------------------------- 1. JGMOD "save_sample" function is having conflict with Allegro WIP 4.12 "save_sample" function. Fixed 2. Change the default optimization from 486 to Pentium machines (should have done this a long time ago) ---------------------- To do list ---------------------- 1. XM Auto Vibrato --------------- About JGMOD.EXE --------------- I use these programs to test the musics that I have. You should see the numbers below similar. Well, let me explain what these numbers are. 1: 4 1 15678Hz 255 2: 2 11 18363Hz 0 3: 60 32 32567Hz 127 4: -- -- -----Hz --- 5: 45 64 45678Hz 34 6: 7 34 911Hz 204 Column 1 : Channel no. Column 2 : Sample it is currently playing beginning with 1 as the first sample. Column 3 : Volume. 0 to 64 scale. Column 4 : Frequency of the sample that is being played (in hertz) Column 5 : Panning. 0, left most panning. 255, right most panning. 127, center panning. On the right sight of these text, you will see colored circles. The position of the circle tells you the pitch (without the c2spd). The more right it goes, the higher the pitch. The circles comes in different sizes. The bigger it is, the louder the sample is played at. And when the circle changes colour, it means a different sample is used. I find this is a much better way than looking the hertz values in column 4 especially on mods with lots of channels (eg 32 channels). Then watching those hertz values could make me really dizzy. Keys ---- P : Pause/unpause music R : restart music N : Disable/Enable note dots +/- : Increase/Decrease mod volume Left/right : Previous/next pattern Up/Down : Scroll channel up/down (if more than 33 channels are used) F1/F2 : Decrease/increase mod speed F3/F4 : Decrease/increase mod pitch F5/F6 : Decrease/increase note range F7/F8 : Decrease/increase note relative positon Space / Esc : Exit ------------- Words from me ------------- Thanks for downloading this library. If you have any questions you want to ask, bug reports or just want to say something, just send a mail to me (jgfw@hotpop.com). When you found a bug, please don't hesitate to send it to me. JGMOD is not a bug free program. There are a certain bugs that I am not aware of but you do. Chances are that I will never encounter those bugs which means that they will not get fixed. You might have found more bugs than I do. So don't hesitate and I will see what I can do. You can send the mail to Allegro Mailing list too. If you do, please put a MOD capitalized as the subject just to catch my attention. I will only read interesting mails. The rest, I just skip and then delete it. So, I might accidently skip yours. --------- Thanks to --------- Angelo Mottola For porting JGMOD to BEOS 5 Henrik Stokseth For modifying Unix makefile to support shared file library and porting JGMOD to Mingw32. George Foot For porting JGMOD to Linux. Robbin Burrows For telling me on to compile Winallegro using multithreaded dll. Calvin French For explaining to me how normal and looping envelopes work. Firelight For writing fs3mdoc.txt and fmoddoc.txt. Without those two files, JGMOD would have not exists. Pedro Cardoso For his help and codes for S3M panning commands Seawolf For JGMOD logo and graphics Jonas Murman For telling me that fmoddoc2.zip exists. Without that document, I would still be confused about S3M till now. Luke Bishop For locking all necessary sturctures and variables. Jean-Paul Mikkers For creating Mikmod. You have never answered any of my mails. I don't know why. I got some ideas on loading mod from your codes. So thanks anyway Jake Stine For maintaining Mikmod 3.0x. You have improved the codes for loading mods over Mikmod 2.10 which provides a great help to me when coding the MOD loaders. ------------ Contact Info ------------ Name : Jeffery Guan Foo Wah Email : jgfw@hotpop.com www : http://surf.to/jgmod Snail Mail : 18, SS 17 / 1H 47500 Subang Jaya Selangor Malaysia. ICQ number : 60706191. My user name is "Obi-Guan Kenobi". If you found me, then you can ask me questions online. More interactive, don't you think ? Mailing list: allegro@canvaslink.com. To add or remove yourself, write to listserv@canvaslink.com with the text "subscribe allegro yourname" or "unsubscribe allegro" in the body of your message to unsubscribe. You can always get the latest JGMOD update at http://surf.to/jgmod.