home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 May / SOMC_May2000-Ultimate.iso / pc / Programs / Ozapell / _SETUP.1 / SDK.ZIP / SDK.TXT < prev   
Encoding:
Text File  |  1999-03-17  |  3.4 KB  |  82 lines

  1.  
  2. Ozapell Music Studio 2
  3. Software Development Kit
  4.  
  5. Programmers are free to develop and distribute their own filter plug-ins
  6. for use with Ozapell Music Studio 2.
  7.  
  8. The steps needed to develop a filter plug-in include:
  9.  
  10. 1. Create the DLL (the framework of which is given in Filter.dpr).
  11.  
  12. 2. Package the DLL using OMFilter.exe.  This will prompt you for a
  13.    destination for your filter (OMF file) and it should go in the
  14.    \filters\ directory under the directory where OMS2 was installed.
  15.    The new file will be visible to OMS2 and it will provide it with the basic
  16.    information it needs to use it.
  17.  
  18. Notes about OMFilter.exe:
  19.  
  20. 1. DLL Location - Use the Browse button to find the DLL to package.
  21.  
  22. 2. Output Location - Set this to the path of the Filters directory used
  23.    by Ozapell Music Studio 2.
  24.  
  25. 3. 8 Character Name - This name needs to be unique from other filters.
  26.    It will be used as the file name of the *.omf file as well as the
  27.    identifier used by the program for each filter.
  28.  
  29. 4. 64 Character Name - Name displayed in the Filters Available box that
  30.    the user will see.
  31.  
  32. 5. 12 Character Version - The version will be displayed in the Filters
  33.    Available box and will also be used in the update program to determine
  34.    if a filter should be overwritten with a newer filter.
  35.  
  36. 6. Page Filter, Track Filter, Beat Filter - Click the boxes to allow the
  37.    program to use the filter for the appropriate components.  Most filters
  38.    can be used for all three.
  39.  
  40. Important things to keep in mind:
  41.  
  42. 1. Any subroutine that does nothing should not be exported in the DLL.
  43.  
  44. 2. Data and DataDefault should be used to store user data.  These are
  45.    256 byte blocks of memory and the filter should not attempt to
  46.    exceed that limit.
  47.  
  48. 3. Buffer points to an array defined as array[1..1764000,1..2] of LongInt
  49.    in the main program.  Although other compilers may reference this
  50.    data differently (0..1763999, for example), filters should not exceed
  51.    this limit.  Also, remember that 1 is the left channel and 2 is the
  52.    right channel.
  53.  
  54. 4. The Buffer data is stored as a 32-bit signed integer instead
  55.    of the standard 16-bit signed integer.  This is useful when the amplitude
  56.    of the wave being altered exceeds the 16-bit limit (-32768 or 32767).
  57.    The Ozapell Page Volume Control or the Ozapell Basic Volume Control
  58.    will normalize the amplitude after all other filters have been used.
  59.  
  60. 5. The contents of the OMF file should not be modified as internal
  61.    checking may indicate that the filter is corrupt.
  62.  
  63. 6. Data is filled with 0's before having DataDefault copied to it.  This
  64.    important to keep in mind if new entries in Data are added later --
  65.    the end user's projects will have the Data block as defined by the
  66.    original version of your filter and you may need to check and handle
  67.    the 0's that the new version will encounter.
  68.  
  69. 7. If CPU intensive loops are used, be sure to occasionally allow Windows
  70.    to handle messages.  In Delphi, this is done with the routine
  71.    Application.ProcessMessages.
  72.  
  73. 8. To save the current user settings as the new default settings, simply
  74.    copy the data in Data to DataDefault (in Delphi, DataDefault^:=Data^).
  75.  
  76. Web site --> www.ozapell.com
  77.  
  78. Further questions can be sent to --> support@ozapell.com
  79.  
  80. An expanded SDK is planned for the future if enough people register
  81. the current version of OMS2.
  82.