home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Multimed / Multimed.zip / rxwavsrc.zip / RxWavMsg.c < prev    next >
C/C++ Source or Header  |  2000-03-06  |  13KB  |  446 lines

  1. /*  RxWav
  2.    Copyright (C) 1999  Giorgio Vicario
  3.  
  4.    This program is free software; you can redistribute it and/or modify
  5.    it under the terms of the GNU General Public License as published by
  6.    the Free Software Foundation; either version 2 of the License, or
  7.    (at your option) any later version.
  8.  
  9.    This program is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.    GNU General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU General Public License
  15.    along with this program; if not, write to the Free Software
  16.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA     */
  17.  
  18. #define INCL_REXXSAA
  19. #include <os2emx.h>
  20. #include <stdlib.h>
  21. #include <stdio.h>
  22. #include <string.h>
  23. #include "RxWav.h"
  24.  
  25. /***********************************************************************
  26. Gestione dei messaggi/errori
  27. ***********************************************************************/
  28. VOID
  29. SendMsg (ULONG func, ULONG errno)
  30. {
  31.  
  32. /*
  33.    printf("Gestione messaggi\n");
  34.    printf("  func:%d  errno%d\n", func, errno);
  35.  */
  36.  
  37.   printf ("RxWav: function Wav");
  38.   switch (func)
  39.     {
  40.     case FUNC_LOAD_FUNCS:
  41.       printf ("LoadFunc");
  42.       break;
  43.     case FUNC_DROP_FUNCS:
  44.       printf ("DropFunc");
  45.       break;
  46.     case FUNC_ALLOC_TRAC:
  47.       printf ("AllocTrac");
  48.       break;
  49.     case FUNC_DROP_TRAC:
  50.       printf ("DropTrac");
  51.       break;
  52.     case FUNC_QUERY_FILE:
  53.       printf ("QueryFile");
  54.       break;
  55.     case FUNC_READ_STEREO:
  56.       printf ("ReadStereo");
  57.       break;
  58.     case FUNC_WRITE_STEREO:
  59.       printf ("WriteStereo");
  60.       break;
  61.     case FUNC_READ_MONO:
  62.       printf ("ReadMono");
  63.       break;
  64.     case FUNC_WRITE_MONO:
  65.       printf ("WriteMono");
  66.       break;
  67.     case FUNC_COPY_TRAC:
  68.       printf ("CopyTrac");
  69.       break;
  70.     case FUNC_SIN_OSC:
  71.       printf ("SinOsc");
  72.       break;
  73.     case FUNC_TEST_OSC:
  74.       printf ("TestOsc");
  75.       break;
  76.     case FUNC_WHITE_NOISE:
  77.       printf ("WhiteNoiseOsc");
  78.       break;
  79.     case FUNC_PINK_NOISE:
  80.       printf ("PinkNoiseOsc");
  81.       break;
  82.     case FUNC_MUTE:
  83.       printf ("Mute");
  84.       break;
  85.     case FUNC_FILTER_BAND:
  86.       printf ("FilterBand");
  87.       break;
  88.     case FUNC_FILTER_HIGH:
  89.       printf ("FilterHigh");
  90.       break;
  91.     case FUNC_FILTER_LOW:
  92.       printf ("FilterLow");
  93.       break;
  94.     case FUNC_REVERB:
  95.       printf ("Reverb");
  96.       break;
  97.     case FUNC_REVERT:
  98.       printf ("Revert");
  99.       break;
  100.     case FUNC_ECO:
  101.       printf ("Eco");
  102.       break;
  103.     case FUNC_PEEK:
  104.       printf ("Peek");
  105.       break;
  106.     case FUNC_POKE:
  107.       printf ("Poke");
  108.       break;
  109.     case FUNC_PEAK:
  110.       printf ("Peak");
  111.       break;
  112.     case FUNC_SEEK:
  113.       printf ("Seek");
  114.       break;
  115.     case FUNC_ANALYZE:
  116.       printf ("Analyze");
  117.       break;
  118.     case FUNC_DYN:
  119.       printf ("Dyn");
  120.       break;
  121.     case FUNC_AVG:
  122.       printf ("Avg");
  123.       break;
  124.     case FUNC_VOCODER:
  125.       printf ("Vocoder");
  126.       break;
  127.     case FUNC_CONV:
  128.       printf ("Conv");
  129.       break;
  130.     case FUNC_GRAPHEQ:
  131.       printf ("GraphEQ");
  132.       break;
  133.     case FUNC_TEST:
  134.       printf ("Test");
  135.       break;
  136.     default:
  137.       printf ("\n*** name of function not available ***");
  138.       break;
  139.     }
  140.   printf (".\n");
  141.  
  142.   printf ("       ");
  143.   switch (errno)
  144.     {
  145.     case ERR_NUMERO_PARAMETRI:
  146.       printf ("invalid parameter:\n");
  147.       Sinossi (func);
  148.       break;
  149.     case ERR_VALORE_INVALIDO:
  150.       printf ("invalid value\n");
  151.       break;
  152.     case ERR_FILE_NOWAV:
  153.       printf ("no RIFF wave file\n");
  154.       break;
  155.     case ERR_PUNTATORE_ERRATO:
  156.       printf ("invalid pointer\n");
  157.       break;
  158.     case ERR_TRACCIA_ERRATA:
  159.       printf ("bad trac\n");
  160.       break;
  161.     case ERR_TRACCIA_INSUFFICIENTE:
  162.       printf ("insufficient trac size\n");
  163.       break;
  164.     case ERR_OFFSET_ERRATO:
  165.       printf ("invalid offset\n");
  166.       break;
  167.     case ERR_NUMERO_CAMPIONI:
  168.       printf ("invalid number of samples\n");
  169.       break;
  170.     case ERR_FREQUENZA_CENTRALE:
  171.       printf ("invalid central frequency\n");
  172.       break;
  173.     case ERR_FREQUENZA_OSCILLATORE:
  174.       printf ("invalid frequency\n");
  175.       break;
  176.     case ERR_LARGHEZZA_BANDA:
  177.       printf ("invalid band width\n");
  178.       break;
  179.     case ERR_AMPIEZZA:
  180.       printf ("invalid amplitude (from -9 to 9)\n");
  181.       break;
  182.     case ERR_AMPIEZZA_FILTRO:
  183.       printf ("invalid amplitude (from >0 to <1)\n");
  184.       break;
  185.     case ERR_AMPIEZZA_OSCILLATORE:
  186.       printf ("invalid amplitude (from 0 to 1)\n");
  187.       break;
  188.     case ERR_INVILUPPO:
  189.       printf ("invalid envelope (COST, LIN o LOG)\n");
  190.       break;
  191.     case ERR_RISOLUZIONE:
  192.       printf ("invalid resolution (8 or 16 bit)\n");
  193.       break;
  194.     case ERR_TIPO_COPIA:
  195.       printf ("invalid type for copy (MIX o NOMIX)\n");
  196.       break;
  197.     case ERR_RITARDO_REVERB:
  198.       printf ("invalid value for delay\n");
  199.       break;
  200.     case ERR_BANDA_ANALISI:
  201.       printf ("invalid band (OTTAVE|TERZE|CROMATICA|LOGARITMICA|LINEARE)\n");
  202.       break;
  203.     case ERR_LETTURA_STEM:
  204.       printf ("error accessing stem\n");
  205.       break;
  206.     case ERR_STEM_DIVERSI:
  207.       printf ("different size of stems\n");
  208.       break;
  209.     case ERR_STEM_MASSIMO:
  210.       printf ("elements of stem > max (256)\n");
  211.       break;
  212.     case ERR_REXXPOOL:
  213.       printf ("Error in REXX variable pool interface:\n");
  214.       break;
  215.     case ERR_OPEN_FILE:
  216.       printf ("error open file\n");
  217.       break;
  218.     case ERR_CLOSE_FILE:
  219.       printf ("error close file\n");
  220.       break;
  221.     case ERR_READ_WAV_STRUCT:
  222.       printf ("error read RIFF struct\n");
  223.       break;
  224.     case ERR_WRITE_WAV_STRUCT:
  225.       printf ("error write RIFF struct\n");
  226.       break;
  227.     case ERR_DOSALLOCMEM:
  228.       printf ("error in DosAllocMem:\n");
  229.       break;
  230.     case ERR_DOSFREEMEM:
  231.       printf ("error in DosFreeMem:\n");
  232.       break;
  233.     case ERR_ALLOCMEM:
  234.       printf ("error in allocmem:\n");
  235.       break;
  236.     case ERR_FREEMEM:
  237.       printf ("error in freemem:\n");
  238.       break;
  239.     default:
  240.       printf ("*** error description non available ***");
  241.       break;
  242.     }
  243.  
  244.  
  245.  
  246. }
  247.  
  248. /***********************************************************************
  249. Sinossi delle funzioni
  250. ***********************************************************************/
  251. VOID
  252. Sinossi (ULONG func)
  253. {
  254.  
  255.   switch (func)
  256.     {
  257.     case FUNC_LOAD_FUNCS:
  258.       printf ("      < 0 | error\n");
  259.       break;
  260.     case FUNC_DROP_FUNCS:
  261.       printf ("      < 0 | error\n");
  262.       break;
  263.     case FUNC_ALLOC_TRAC:
  264.       printf ("      > samples\n");
  265.       printf ("      < pointer\n");
  266.       break;
  267.     case FUNC_DROP_TRAC:
  268.       printf ("      > pointer\n");
  269.       printf ("      < 0 | error\n");
  270.       break;
  271.     case FUNC_QUERY_FILE:
  272.       printf ("      > file name\n");
  273.       printf ("      < 'NOWAV' | n_channel sample_rate n_bit n_samples\n");
  274.       break;
  275.     case FUNC_READ_STEREO:
  276.       printf ("      > file name\n");
  277.       printf ("      > pointer to left channel\n");
  278.       printf ("      > pointer to right channel\n");
  279.       printf ("     [> type of read (MIX|NOMIX)]\n");
  280.       printf ("     [> offset\n");
  281.       printf ("     [> length (samples)]\n");
  282.       printf ("      < 0 | error\n");
  283.       break;
  284.     case FUNC_WRITE_STEREO:
  285.       printf ("      > file name\n");
  286.       printf ("      > pointer to left channel\n");
  287.       printf ("      > pointer to right channel\n");
  288.       printf ("      > length (samples)\n");
  289.       printf ("      < 0 | error\n");
  290.       break;
  291.     case FUNC_READ_MONO:
  292.       printf ("      > file name\n");
  293.       printf ("      > pointer\n");
  294.       printf ("      < 0 | error\n");
  295.       break;
  296.     case FUNC_WRITE_MONO:
  297.       printf ("      > file name\n");
  298.       printf ("      > pointer\n");
  299.       printf ("      > length (samples)\n");
  300.       printf ("      < 0 | error\n");
  301.       break;
  302.     case FUNC_COPY_TRAC:
  303.       printf ("      > pointer to source\n");
  304.       printf ("      > pointer to destination\n");
  305.       printf ("      > length (samples)\n");
  306.       printf ("     [> initial amplitude]\n");
  307.       printf ("     [> final amplitude]\n");
  308.       printf ("     [> envelope (COST|LIN|LOG)]\n");
  309.       printf ("     [> type of copy (MIX|NOMIX|INV_MIX|INV_NOMIX)]\n");
  310.       printf ("      < 0 | error\n");
  311.       break;
  312.     case FUNC_SIN_OSC:
  313.       printf ("      > pointer\n");
  314.       printf ("      > length (samples)\n");
  315.       printf ("      > frequency in hertz\n");
  316.       printf ("      > amplitude (from 0 to 1)\n");
  317.       printf ("      < 0 | error\n");
  318.       break;
  319.     case FUNC_TEST_OSC:
  320.       printf ("      > pointer\n");
  321.       printf ("      > length (samples)\n");
  322.       printf ("      > amplitude (from 0 to 1)\n");
  323.       printf ("      < 0 | error\n");
  324.       break;
  325.     case FUNC_WHITE_NOISE:
  326.       printf ("      > pointer\n");
  327.       printf ("      > length (samples)\n");
  328.       printf ("      > amplitude (from 0 to 1)\n");
  329.       printf ("      < 0 | error\n");
  330.       break;
  331.     case FUNC_PINK_NOISE:
  332.       printf ("      > pointer\n");
  333.       printf ("      > length (samples)\n");
  334.       printf ("      > amplitude (from 0 to 1)\n");
  335.       printf ("      < 0 | error\n");
  336.       break;
  337.     case FUNC_MUTE:
  338.       printf ("      > pointer\n");
  339.       printf ("      > length (samples)\n");
  340.       printf ("      < 0 | error\n");
  341.       break;
  342.     case FUNC_FILTER_BAND:
  343.       printf ("      > pointer\n");
  344.       printf ("      > length (samples)\n");
  345.       printf ("      > central frequency\n");
  346.       printf ("      > band width\n");
  347.       printf ("      > amplitude\n");
  348.       printf ("      < 0 | error\n");
  349.       break;
  350.     case FUNC_FILTER_HIGH:
  351.       printf ("      > pointer\n");
  352.       printf ("      > length (samples)\n");
  353.       printf ("      > frequency band limit\n");
  354.       printf ("      > amplitude\n");
  355.       printf ("      < 0 | error\n");
  356.       break;
  357.     case FUNC_FILTER_LOW:
  358.       printf ("      > pointer\n");
  359.       printf ("      > length (samples)\n");
  360.       printf ("      > frequency band limit\n");
  361.       printf ("      > amplitude\n");
  362.       printf ("      < 0 | error\n");
  363.       break;
  364.     case FUNC_REVERB:
  365.       printf ("      > pointer\n");
  366.       printf ("      > length (samples)\n");
  367.       printf ("      > stem of delay (samples)\n");
  368.       printf ("      > stem of amplitude (from 0 to 1)\n");
  369.       printf ("      < 0 | error\n");
  370.       break;
  371.     case FUNC_REVERT:
  372.       printf ("      > pointer\n");
  373.       printf ("      > length (samples)\n");
  374.       printf ("      < 0 | error\n");
  375.       break;
  376.     case FUNC_ECO:
  377.       printf ("      > pointer\n");
  378.       printf ("      > length (samples)\n");
  379.       printf ("      > delay (samples)\n");
  380.       printf ("      > amplitude (from 0 to 1)\n");
  381.       printf ("      < 0 | error\n");
  382.       break;
  383.     case FUNC_PEEK:
  384.       printf ("      > pointer\n");
  385.       printf ("      < sample value\n");
  386.       break;
  387.     case FUNC_POKE:
  388.       printf ("      > pointer\n");
  389.       printf ("      > sample value\n");
  390.       printf ("      < 0 | error\n");
  391.       break;
  392.     case FUNC_PEAK:
  393.       printf ("      > pointer\n");
  394.       printf ("      > length (samples)\n");
  395.       printf ("      < max peak value | error\n");
  396.       break;
  397.     case FUNC_SEEK:
  398.       printf ("      > pointer\n");
  399.       printf ("      > length (samples)\n");
  400.       printf ("      > value of limit\n");
  401.       printf ("      < offset | error\n");
  402.       break;
  403.     case FUNC_ANALYZE:
  404.       printf ("      > pointer\n");
  405.       printf ("      > band (OTTAVE|TERZE|CROMATICA|LOGARITMICA|LINEARE)\n");
  406.       printf ("      > stem of spectrum power\n");
  407.       printf ("      < 0 | error\n");
  408.       break;
  409.     case FUNC_DYN:
  410.       printf ("      > pointer\n");
  411.       printf ("      > length (samples)\n");
  412.       printf ("      > dinamic (<1=compress, >1=expand)\n");
  413.       printf ("      < 0 | error\n");
  414.       break;
  415.     case FUNC_AVG:
  416.       printf ("      > pointer\n");
  417.       printf ("      > length (samples)\n");
  418.       printf ("      [> avg value (from -1 to 1)\n");
  419.       printf ("      < 0 | avg_signed avg_abs\n");
  420.       break;
  421.     case FUNC_VOCODER:
  422.       printf ("      > pointer\n");
  423.       printf ("      > length (samples)\n");
  424.       printf ("      > gain (from 0 to 1)\n");
  425.       printf ("      < 0 | error\n");
  426.       break;
  427.     case FUNC_CONV:
  428.       printf ("      > pointer\n");
  429.       printf ("      > pointer\n");
  430.       printf ("      > length (samples)\n");
  431.       printf ("      < 0 | error\n");
  432.       break;
  433.     case FUNC_GRAPHEQ:
  434.       printf ("      > pointer\n");
  435.       printf ("      > length (samples)\n");
  436.       printf ("      > stem of band amplitude\n");
  437.       printf ("      < 0 | error\n");
  438.       break;
  439.     default:
  440.       printf ("*** descrizione funzione non disponibile ***");
  441.       break;
  442.     }
  443.  
  444.  
  445. }
  446.