home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Multimed / Multimed.zip / rtmmm.zip / rtmmm.rel.2 / readme.1st < prev    next >
Text File  |  1996-11-05  |  6KB  |  168 lines

  1.  
  2. Reply-to:     Filippe.Sartori@jet.uk (F Sartori)
  3. ---------------------------------------------------------------------
  4. RTMMM v 1.0 alpha
  5.  
  6.     ftp://ftp.cdrom.com/pub/os2/incoming/rtmmmpak.zip
  7.     ftp://hobbes.nmsu.edu/os2/mmedia/rtmmmpak.zip
  8.  
  9. 1)WHAT IS RTMMM?
  10. RTMMM is a program to digitally mix multiple sources into DART. You can write
  11. many different players to support it. The result will be the mixing of them
  12. all. RTMMM stands for Real Time MultiMedia Mixer
  13.  
  14. 2)HOW REAL-TIME IS IT?
  15. It depends on the size and on the number of buffers. For now it has 8 32k
  16. buffers. The number of buffers to be played before the new source get played
  17. varyes.. 256k /44k*2*2 =  1.5 seconds!! too much!! Reducing this number is not
  18. a problem, I have tried with 2K buffers. The CPU used goes up anyway...
  19.  
  20. 3) HOW DOES THE CLIENT CONNECT TO THE SERVER?
  21. What a technical question... ehmm..
  22. The server..no the client first..
  23. What the hell I wrote it!
  24. The Server provides a shared memory with info about itself.
  25. The client will create its own memory with its own buffers and pass it 
  26. to the server by sending a message to a QUEUE.
  27. The real-time protocol is simple. The Server reads a pointer in the 
  28. Client`s memory to find the address of the next buffer. It then tells the
  29. client 
  30. that it has used this buffer posting a semaphore..
  31.  
  32. 4) AND the CONSOLE??
  33. The server has also a PIPE interface. You can ask it.
  34. a)
  35. GetClientInfo .
  36. The answer will be:
  37. number_of_active_channels\n
  38. Chan_number Chan_type Chan_name frequency n_of_channels kright kleft kfilt
  39. mute master_vol
  40. Chan_number Chan_type Chan_name frequency n_of_channels kright kleft kfilt
  41. mute master_vol
  42. Chan_number Chan_type Chan_name frequency n_of_channels kright kleft kfilt
  43. mute master_vol
  44. ..
  45.  
  46. Chan_number   Is the channel number 
  47. Chan_type     Is the name of the source i.e. MAPLAY 
  48. !!!NEW!!!        If the value is [OFF] the channel is not used
  49.  
  50. Chan_name     Is the song name for instance
  51. frequency     Is the frequency of playback
  52. n_of_channels Is 1 for mono 2 for stereo
  53. kright        Is the gain for the right channel times 32768
  54. kleft         Is the gain for the left  channel times 32768
  55. kfilt         Is the k of a first order filter times 32768 k is between 0 and 1
  56. mute          Is 1 for a playing channel 0 for a muted channel
  57. master_vol    Is the main gain times 32768
  58.  
  59. b)
  60. SetClientMixing  channel mute master_volume kright kleft kfilt 
  61. The answer will be 0
  62. It will use the parameters to set-up the given channel
  63.  
  64. c)
  65. GetEventNumber .
  66. The answer will be the number of events so far.
  67. An event is a start or a stop of a song.
  68. Useful to Synchronize two programs...
  69.  
  70. d) NEW : a semaphore
  71. You can instead use a semaphore to wait for a new event : 
  72. See the example of the mixer utility. The semaphore is "\\SEM32\\RTMMM_NEWS"
  73.  
  74. 5) WHAT THE HELL IS IT ALL FOR?
  75. Well ....
  76. The idea is to finally, thank to your help, obtain a set of players ranging
  77. from CD-ROM MOD WAV MIDI SoundCard ..... that will play through RTMMM.
  78.  
  79. The catch is 
  80. a) No more annoying " the device is used" messages when trying to play a song
  81. when MMOS2 is already taken..
  82.  
  83. b) Develop a MIXING system using a PC. Could be for small broadcast etc..
  84. c) Enjoying ourselves
  85. d) Making something that no one has done before...
  86. e) What about a music interface for XFREE.. Using RTMMM means not using DART
  87. since DART is already dealt with in the server. The client does not have to
  88. know about OS/2.... ....
  89.  
  90. 6) AND DSMI?
  91. Nice piece of work.. Really nice!!!
  92. Hope to convince them to support RTMMM as an output....
  93. I had some discussion with Pierre about RTMMM and he was trying 
  94. to convince me to use DSMI as a base for my work.
  95. I found this problems:
  96. a) DSMI is much more than what I needed.
  97. b) DSMI is not exactly designed for what I was doing
  98. c) DSMI does not support EMX
  99. d) DSMI costs money
  100.  
  101. 7) Collaboration
  102. Send E-MAIL to me at fisa@jet.uk We may discuss about what to do. I am
  103. interested in your suggestions.
  104.  
  105. 8) RELEASE
  106. I am still undecided if to release the source of RTMMM. I will certainly give
  107. it to anybody that will contribute substantially.
  108.  
  109. 9) ITS FREEWARE...
  110. You can use it misuse it abuse it
  111.  
  112. 10) IT DOES NOT WORK!!!
  113. Well I am sorry for you. MAIL me with the details, I will see what to do.
  114.  
  115. 11) NOTE!!!!
  116. I am not responsible of any damage that the program will do to your system!
  117. Use it at your risk.. ( Must say that !! No one knows what the fortune will
  118. prepare for you..)
  119.  
  120. 12) MAPLAY
  121. Yes it is maplay! It works beautifully! It does not support play-lists. It
  122. will with a lot more.. It supports DART without RTMMM or through RTMMM I was
  123. able to play 5 mp2 audio music at the same time!!!!! I then became cocky and
  124. tried 7..... well RTMMM locked up.. There is a bug when RTMMM does not feed
  125. DART at the right time...
  126.  
  127. 13) FUTURE IDEAS?
  128.  
  129. SOM: I would like to implement a lot of players using SOM so that they will
  130. integrate in WARP 4 beautifully. This is a side where I could use some help...
  131.  
  132. CD-ROM: I would like to have a player that was able to read from a CD-ROM.. It
  133. should be able to allow the playing of multiple songs from the same CD-ROM
  134.  
  135. MODS: I sure hope that MUSE/2 DMP(DSMI) UTIMOD etc will be ported to support
  136. RTMMM
  137.  
  138. GAMES I hope that RTMMM will have such a success to convince people to use it
  139. instead of DART also for games, see STARDOCK!!
  140.  
  141. WAVS: Easy this one...
  142.  
  143. MPEG layer3: I have something to work on.. Sure MAPLAY could use some
  144. optimization anyway... Manual of PENTIUM is on the Way..
  145.  
  146. MIDI: This is a possible nice application.. Read midi from a file or a port
  147. and synthethise a real-time.. Sure is a hell of a work
  148.  
  149. RTMMM:
  150. It will get an output stadium where it will be implemented:
  151. 1) Volume control to keep the average output power to a given value
  152. 2) filters + reverb + echo with real-time settable values
  153. 3) a subsampled output in shared memory for scopes or etc...
  154. 4) an alternative output for monitoring..
  155. 5).... IDEAS?
  156.  
  157. 14) PROGRAMMERS
  158. Ask me via e-mail... See in MAPLAY obuffer.cc obuffer.h . See rtmmm.h . See
  159. test1.c . If you have VX-REXX see the source of the monitor
  160.  
  161. 15) CONCLUSION
  162. Please INTEL give us a faster PC.....
  163.  
  164. BUGS.....
  165. Do you really want the list.. I cannot spend my life typing... [ Will be
  166. available next version when the list will be smaller ] Anyway it worked for me
  167. for hours.... I haven`t tried yet on WARP 4...
  168.