home *** CD-ROM | disk | FTP | other *** search
-
- ╓──╖
- ╙──╖ ╥ ╥ ╓── ╥ ╥
- ║ ╟─╢ ╟─ ║ ║
- ╙──╜ ╨ ╨ ╙── ╙─╜ ╙─╜
- ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
- -- Version 1.0 --
-
-
- Table of contents
- [===============]
-
- [1] . . . . . . . . . . . . . . . . . . About Shell
- [2] . . . . . . . . . . . . . . . . . . Shell Configuration Files
- [2.1] . . . . . . . . . . . . . . . . SHELL.CFG
- [2.2] . . . . . . . . . . . . . . . . SHELL.FMT
- [3] . . . . . . . . . . . . . . . . . . General usage
- [3.1] . . . . . . . . . . . . . . . . Command line parameters
- [3.2] . . . . . . . . . . . . . . . . General keys
- [3.3] . . . . . . . . . . . . . . . . Tag-related keys
- [3.4] . . . . . . . . . . . . . . . . Mouse functions
- [4] . . . . . . . . . . . . . . . . . . Important notes
- [5] . . . . . . . . . . . . . . . . . . Credits, Contact Information
-
-
-
- 1: About Shell
- [============]
-
- Shell is a music file front-end that supports virtually any
- command line music file player in existence. Shell comes
- preconfigured for Protracker MODs, Scream Tracker 3 S3Ms,
- Farandole Composer FARs, Ultratracker ULTs, Multitracker Module
- MTMs, Dual Module Player AMFs, Scream Tracker 2 STMs, Composer
- 669 669s, Noisetracker NSTs, X-Tracker DMFs, Fast Tracker 2 XMs,
- Midi files, Windows WAV files, and raw audio SND files. You
- also have the ability to add more formats with the configuration
- files.
-
- Shell will do you the labor of searching inside ZIP files as
- well to find files that match any extensions supplied in the
- format listing. This feature can be turned off if not required.
-
- An added feature requested by flap / Capacala is to read 4Dos
- DESCRIPT.ION files. This feature only works if the file is not
- archived in a ZIP file.
-
- Shell also comes preconfigured for a variety of players,
- including Inertia Player 1.2, CapaMod 2.09, Cubic Player 0.96l,
- Fast Tracker 2's PMP player, GLX 2.12, Edlib 1.05a, Renaissance
- music player 1.15b, DMP 3.01, Future Crew MusicDisk Player,
- X-Play, GusMod 2.11, the Ultrasound WAV/SND player, and the
- Ultrasound MIDI player. As with file formats, adding any other
- players is very simple with the configuration files.
-
- For more information on the configuration files, read on to
- chapter 2.
-
-
- 2: Configuration Files
- [====================]
-
- Shell is highly configurable via two configuration files,
- SHELL.CFG, and SHELL.FMT. SHELL.CFG is the basic shell
- configuration file, while SHELL.FMT is the configuration file
- for the various file formats. Both files use an easy WIN.INI
- style, which makes for quick and simple modification.
-
- 2.1: SHELL.CFG
- [------------]
-
- This is the file which contains all of your players and all of
- the shell variables. The file contains many comments and is
- fairly self-explanatory, so we won't go into very much detail
- here in the document.
-
- DefDir - the default directory for scanning
- WorkDir - where the files will be unarchived to
- MaxFiles - the max files Shell will scan for in a dir
- Case - the case in which filenames are displayed
- DoubleClickSpeed - speed of mouse double click
- ArchiveSearch - whether or not to search ZIP files
- Pkzip - name of pkzip program
- Pkunzip - name of pkunzip program
- Loop - loop when play tagged list toggle
- Tagdelay - # of seconds to wait in between tag file play
-
- Usually the default settings will do for most of those. Now,
- on to the player setup. The basic setup for a player is four
- lines long, as follows:
-
- [Name of Player]
- Mask=<masks supported>
- Player=<player executable filename>
- Options=<command line parameters>
-
- The first line is for the name of the player, enclosed in
- brackets. The second line is the list of masks defined in
- SHELL.FMT that the player supports. The third line is the
- player executable name. A full path is not required if the
- executable is in the path. The forth line is for any command
- line parameters that you would like to pass to this particular
- player. Players are separated by a blank line. Up to 20
- player entries are supported.
-
- 2.2: SHELL.FMT
- [------------]
-
- This file contains the information for all of the music file
- formats that will be scanned for. Once again, this file has
- many comments and is almost self-explanatory, so we'll only
- touch on it a bit here. The basic format for a file format is
- 5 lines long:
-
- [Name of Format]
- Format=<filename extension of format>
- HeaderOfs=<position in file to find "title" of song>
- HeaderLen=<length of the "title">
- Mask=<letter of mask for SHELL.CFG player setup>
-
- The first line is for the name of the format, enclosed in
- brackets. The second line is the extension of the filename
- for that format, ie: for Scream Tracker 3 files, the extension
- would be S3M. HeaderOfs is the position in the file where the
- title of the song is located. If you're not sure, omit this
- entry and also omit the HeaderLen entry. If the format
- doesn't have a "title" (such as WAV or SND files), also omit
- those two entrees. Mask is a single letter which is used to
- reference the format in the SHELL.CFG file in the "Masks="
- line of a player. File formats are separated by a blank line.
- Up to 30 format entries are supported.
-
-
- 3: General Usage
- [==============]
-
- The following section describes the various keyboard/mouse
- maneuvers that will let you do everything in shell.
-
- 3.1: Command Line Parameters
- [--------------------------]
-
- The basic usage of shell is:
- SHELL [options] [drive:\path]
-
- Where [options] can be any combination of:
- -cl (lowercase filenames)
- -cu (uppercase filenames)
- -f<#> (max # of files to scan for)
- -m<x> (doubleclick speed, x = 0 to 2)
- -p<#> (set current player to #)
- -a (enable archive searching)
- -n (disable archive searching)
-
- [drive:\path] is the full drive and pathname of the dir that
- you want to scan.
-
- All of these parameters override the configuration file.
-
- 3.2: General Keys
- [---------------]
-
- F1 : help screen
-
- Up/Down : scroll through file list
-
- Ctrl-Up/Ctrl-Down : scroll through file list while highlight
- remains on the same filename
-
- Alt-Up/Alt-Down : scroll through file list while highlight
- remains in the same position on the screen
-
- PgUp/PgDn : move one page up or one page down
-
- Ctrl-PgUp/Ctrl-PgDn : move to absolute start/end of file list
-
- Home/End : move to top/bottom of current screen
-
- Enter : play highlighted file/change directory
-
- [, ] : change current player
-
- Ctrl-Left : back one dir in the hierarchy (cd ..)
-
- Alt-V : toggle 25/50 line mode
-
- Alt-S : shell out to operating system
-
- Alt-D : delete file/archive
-
- Alt-L : rescan current directory
-
-
- 3.3: Tag-Related Keys
- [-------------------]
-
- Alt-T : tag all files
-
- Alt-U : untag all files
-
- Alt-R : randomize tagged list
-
- Alt-P : play tagged list
-
- Alt-O : resume aborted tag-play
-
- <, > : trace through tagged list
-
- 3.4: Mouse Functions
- [-------------------]
-
- File Display Area:
- Click on any filename to select
- Doubleclick on any filename to play or change directory
- Right click on filename to tag/untag
- Click/Drag on elements of scrollbar as usual
-
- Left or Right click on player info box to increase/decrease
- player number
-
- Click on "Quit" in upper right corner to do just that
-
-
- 4: Important Notes
- [================]
-
- If you happen across any bugs, it is not my liability if any
- damage is done. I have done my very best to make this the most
- failsafe program I can. Please report any ill occurances you
- find to me by e-mail or however.
-
- If you have any suggestions or want to let me know how much you
- like/dislike this program, feel free to send love/hate mail to
- me. I love mail, or catch me on IRC on the channels #coders and
- #trax by the nickname mrdata.
-
- I do not ask for money for Shell. It is a freeware product, or as I
- would have it, a cardware product, but you can send money if you think
- it is really think it's worth it. All I request is a small notice
- that you have Shell and whatever you want to say about it. In future
- versions of Shell I plan to:
-
- - add a sample ripper to be used as a player (not built in)
- - add ARJ/LZH archive handling (was planned but never got it done)
- - use a graphical mouse cursor in text mode
- - above 1450 files and more info of the files
- - ability to search multiple directories and show in same display
-
- Like I said, if you have any suggestions for additions or changes to
- Shell, my ears are open for them.
-
-
- 5: Credits/Contact Information
- [============================]
-
- Shell was programmed by Shawn Poulson from August '94 and
- finally finished late March '95. It started as my personal DMPC
- wanna-be and eventially surpassed it in many ways so I was motivated
- to work on it more until I thought it was good enough to release to
- the public. Throughout the developement I am in debt to the help from
- Brazil (John Baduini) for suggesting better ways to improve Shell and
- finding bugs. I also thank Rich Geldreich for help and tips on
- correctly handling the mouse and extended keyboard input.
-
- Shell has been coded primarily in large model C and assembly.
- Shell has been optimized for speed wherever possible. (and
- convenient :)
-
- The group Continuum is a demo/game programming group, members are:
- Mr. Data - Coder / PR
- Brazil - Coder / Group Clown
- Mozart - Coder / Musician
- Warlock - Graphics / Concept
- ArchAngel - not quite sure yet... hmm
-
- We are for hire if requested, otherwise we have demos or our
- game we develop (top secret). We do bbs intros or crack loaders
- and stuff.
-
- Personal greets go to: (alphabetized)
- All Continuum members - blah...
- Aqualung - When will I ever get to see you again
- Brazil - For writing most of these docs
- Chris McComas - True definition of a dumb jock
- (just checking if you actually read this far)
- Pure Evil - Perhaps we will code together some time
- Ram Junky - Too bad you sold your computer for college education
- You were a great coder/gfx pal
- Thomas Wagner - For PD EXEC ems/xms/disk swap code library
- White Shadow - Is the game going ok? We need to talk more.
-
- Additional greets to:
- The 'net surfers in #coders who are always on 24 hours a day.
- The drunken idiots in #trax who never talk about music but always
- have something interesting to say. (Hadji!!!) w00 w00!
- The dudes on local Citadel bbses like Gateway and Potluck for their
- humor and inspiration.
- Friends on Red Sector A bbs, and the cool sysop By-Tor.
- Call 609-983-6800 (28.8k/dual, 15 ringdown nodes) full internet
- access, huge bbs file/message sections, and great group chats.
- telnet to: bungle.rsabbs.com
- or MUD to: xanadu.rsabbs.com
-
- Programming was done using the following tools:
- - 486 DX2/66 and 486 SuX/25 machines
- - 1 gig and 170meg IDE drives
- - Cheap 14" monitor that shorts out my computer from time to time,
- automatically rebooting it (donate money to me for a new 17"er)
- - Gravis Ultrasound w/1meg (gotta listen to music, you know!)
- - USR sportster 14.4 (to IRC with!)
- - 101 key enhanced keyboard (a must)
- - Farside 1995 calendar (tee hee)
- - Boxer 6.00 (text editor everyone should use! e-mail for info)
- - Borland C++ 3.1
- - Turbo Assembler 3.1
- - Thelp 3.0
- - PkLite 1.12 (or Shell would've been over 80k)
- - 4Dos 5.5 (great command.com replacement)
- - M.C. Escher mouse pad
- - 2 pound rubberband ball (*boing*)
- - Descent (coding break)
- - GE Clock/radio (for reminding me I'm up too late coding)
- - DosRef printed manuals, great reference guide for everything
- - 2Col 5.0d (to print DosRef!)
- - Star NX2430 24-pin printer (to use 2Col with!)
-
- My code directory for Shell looks like:
-
- Volume in drive C is DOESNTSUCK Serial number is D8ED:ACDB
- Directory of c:\code\shell\*.*
-
- . <D> .. <D> 1.bat 1K 1.txt 1K
- 1speed.bat 1K 2.bat 1K appnote.txt 34K checkpat.h 3K
- checkpcl.obj 2K chiseler.asm 17K chiseler.h 1K chiseler.obj 8K
- compat.h 2K control.inc 12K cursor.asm 1K cursor.h 1K
- cursor.obj 1K dist.lst 1K drives.asm 5K drives.h 1K
- drives.obj 1K emm.c 1K emm.h 1K emm.obj 2K
- exec.c 12K exec.h 9K exec.obj 8K flatten.bat 1K
- funcs.h 40K gcursor.asm 18K gcursor.h 1K gcursor.obj 5K
- help.asm 3K help.h 1K help.obj 2K keybd.h 2K
- keysort.asm 18K keysort.bas 7K ksort.asm 3K ksort.h 1K
- ksort.obj 1K mouse.asm 19K mouse.h 3K mouse.inc 4K
- mouse.obj 11K qsort.asm 37K qsort.bas 1K qsort.inc 16K
- scrn.c 7K scrn.h 2K scrn.obj 8K shell.c 70K
- shell.cfg 2K shell.doc 17K shell.dsk 8K shell.exe 45K
- shell.fmt 2K shell.h 1K shell.lnk 1K shell.map 2K
- shell.obj 70K sorttyp.asm 29K spawncl.obj 5K textdrv.c 10K
- yo 2K
- 581,959 bytes in 63 files and 2 dirs 2,326,528 bytes allocated
- 81,133,568 bytes free
- ^^^^^^^^^^ on my gig drive... :-(
-
- Mr. Data (Shawn Poulson) can be contacted by the following addresses:
-
- Snail Mail: 645 Oxford Drive
- Maple Shade, NJ 08052
- USA
- Internet: spoulson@cygnus.rsabbs.com
-
-