home *** CD-ROM | disk | FTP | other *** search
/ hobbes.nmsu.edu / 2008-06-02_hobbes.nmsu.edu.zip / new / pm123-1_32-src.zip / README < prev   
Text File  |  2007-11-12  |  6KB  |  189 lines

  1. PM123 1.32 Source File Distribution
  2.  
  3. Copyright 1997-2003 Samuel Audet <guardia@step.polymtl.ca>
  4.                     Taneli Leppä <rosmo@sektori.com>
  5. Copyright 2004-2007 Dmitry A.Steklenev <glass@ptv.ru>
  6.  
  7. Introduction
  8. ============
  9.  
  10. In this small README file, you will learn how to use this source file
  11. distribution to successfully compile PM123 from the sources.
  12.  
  13. Tools Needed to Compile
  14. =======================
  15.  
  16. You will need the following tools and libraries to compile PM123
  17. via IBM Visualage C++:
  18.  
  19.   VisualAge C++ 3.6 fixpak 2
  20.   A recent IBM OS/2 Developer's Toolkit
  21.   NASM
  22.   WarpIN (if you want to create an installation package)
  23.   Info-ZIP (if you want to create the ZIP package)
  24.  
  25. You will need the following tools and libraries to compile PM123 via
  26. Open Watcom C++:
  27.  
  28.   Open Watcom C++ 1.7
  29.   NASM
  30.   Operating System/2 Information Presentation Facility Compiler (included in to
  31.   IBM OS/2 Developer's Toolkit).
  32.   WarpIN (if you want to create an installation package)
  33.   Info-ZIP (if you want to create the ZIP package)
  34.  
  35. Also, I have been using cmd.exe at all times, so disable 4os2 or other cmd.exe
  36. replacement when using this distribution's makefiles.
  37.  
  38. Directory Structure
  39. ===================
  40.  
  41. The directories are split as shown in the diagram below. "dist" contains the
  42. files needed to build the install packages, and the packages themselves once
  43. they are built. "doc" contains text files and the user manual in HTML format.
  44. "extra" contains files that are not part of pm123 per se. "pdk" (plug-in
  45. developer's kit) documentation to build new plug-ins. "src" contains all
  46. the source code of PM123.
  47.  
  48. |
  49. +dist
  50. |   |
  51. |   +files
  52. +doc
  53. |   |
  54. |   +manual
  55. |   |   |
  56. |   |   +images
  57. |   +pdk
  58. |   +tools
  59. +extra
  60. |   |
  61. |   +irc
  62. |   +slider
  63. +pdk
  64. +src
  65. |   |
  66. |   +config
  67. |   +fft123
  68. |   +gbm123
  69. |   +include
  70. |   +main
  71. |   +ogg123
  72. |   +plug-ins
  73. |   |   |
  74. |   |   +analyzer
  75. |   |   +cddaplay
  76. |   |   +mpg123
  77. |   |   |   |
  78. |   |   |   +id3v1
  79. |   |   |   +id3v2
  80. |   |   +oggplay
  81. |   |   +os2audio
  82. |   |   +realeq
  83. |   |   +wavout
  84. |   |   +wavplay
  85. |   |
  86. |   +pm123
  87. |   |   |
  88. |   |   +bmp
  89. |   |       |
  90. |   |       +font1
  91. |   |       +font2
  92. |   +skinutil
  93. |   +snd123
  94. |   +utils
  95. |   +vrb123
  96. |   +WPS
  97. |   +xio123
  98. |   +zlb123
  99.  
  100. In the "extra" directory, there "irc" has some scripts for BitchX and ircii
  101. to display the playing songs in the IRC client window. "slider" is a small
  102. tool that uses PM123's pipe to control the volume of two instances of PM123.
  103. The volume of the first PM123 executed will follow the slider, and the
  104. second will go reverse, allowing to cross the sounds of two songs for DJs.
  105.  
  106. In the "src" directory, all the source code of one module (one EXE or DLL)
  107. is found in a subdirectory of the same name as the module.  So pm123.dll's
  108. source code is found in "pm123" and realeq.dll's source code is found under
  109. "plug-ins\realeq".  Each directory has its own makefile, fully functional.
  110. Two exceptions.  First, "utils" is the home of an internal utility library
  111. named utilfct.lib. Finally, the "include" directory only contains ".h" files.
  112.  
  113. Description of modules
  114. ----------------------
  115.  
  116. fft123
  117.    The FFT algorithm used by analyzer.dll (through pm123.exe) and realeq.dll.
  118. gbm123
  119.    The Generalized Bitmap Module used by PM123 and skinutil.exe for loading
  120.    and creating bitmaps for skins.
  121. ogg123
  122.    The Ogg bitstream format library used by oggplay.dll.
  123. vrb123
  124.    The Vorbis library used by oggplay.dll.
  125. snd123
  126.    The library of C routines for reading and writing files containing sampled
  127.    audio data. Used by wavplay.dll.
  128. xio123
  129.    Input/output engine. Used by PM123 and plug-ins.
  130. zlb123
  131.    The general purpose data compression library.
  132. analyzer
  133.    The spectrum analyzer visual plug-in.
  134. cddaplay
  135.    The CD Player with CDDB support.
  136. mpg123
  137.    The MP3 decoder with streaming support.
  138. oggplay
  139.    The Ogg Vorbis decoder with streaming support.
  140. os2audio
  141.    The output plug-in that uses DART to access the sound card.
  142. realeq
  143.    The Real Equalizer plug-in, with MMX support and all.
  144. wavout
  145.    The output plug-in that dumps everything in a WAV file.
  146. wavplay
  147.    The WAV file player.
  148. main
  149.    The main pm123.exe.
  150. pm123
  151.    The main pm123.dll which includes all the GUI stuff and skin support.
  152. skinutil
  153.    skinutil.exe to convert WinAmp 1.x skins and manage skins.
  154.  
  155. How to Compile
  156. ==============
  157.  
  158. You can use the following commands with the main makefile and NMAKE:
  159.  
  160. all:         will compile EVERYTHING in "src"
  161. filename:    will compile that module (ie.: "pm123.exe", "analyzer.dll", etc)
  162. clean:       will clean up all the compiled binaries in "src"
  163. dist:        will do "distfiles", "distpackage" and "distzip"
  164. distfiles:   will copy all the needed binaries and files from "src", "doc" and
  165.              others into "dist\files"
  166. distpackage: will build the WarpIN packages from the files in "dist\files"
  167. distzip:     will build the ZIP file from the files in "dist\files"
  168. distclean:   will clean everything made by "dist"
  169.  
  170. You can also use all of the individual makefiles in each of the subdirectories
  171. of the "src" directory. Each of them contain an "all" and "clean" command.
  172.  
  173. In all cases, you can add "DEBUG=1" to MAKE's command line to build
  174. a debug version of one of PM123's module. Example:
  175.  
  176.    [c:\devel\pm123-1_2-src] nmake pm123.exe DEBUG=1
  177.  
  178. Also you can add "TCP40=1" to MAKE's command line to build modules with
  179. TCP/IP v4.0 (16bit) support. Example:
  180.  
  181.    [c:\devel\pm123-1_2-src] nmake all TCP40=1
  182.  
  183. Have fun!
  184.  
  185. Samuel Audet and Taneli Leppä
  186. September 2003
  187. Dmitry A.Steklenev
  188. November 2007
  189.