home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / DIGI_104.LZH / DIGITAPE.104 / MODULE.PRG / DTLOCAL.H < prev    next >
C/C++ Source or Header  |  1993-07-07  |  6KB  |  166 lines

  1. /* Defines für externe DSP-Modul */
  2.  
  3. #include <aes.h>
  4.  
  5. typedef unsigned int HDIALOG;
  6.  
  7. #define DSP1_0 8388607L
  8. #define DSP0_5 4194304L
  9.  
  10. #define TRUE 1
  11. #define FALSE 0
  12.  
  13.  
  14. /*----------------------------------------------------
  15. Teilt dem Hauptprogramm Informationen über das Modul mit:
  16. void dtm_init(    Module_info *dtm_info,
  17.                                 void *rsc, Rsc_info *rsc_info )
  18. -----------------------------------------------------*/
  19. #define dtm_init(dtm_info, rsc, rsc_info)\
  20.         (*(glob->mh.sys->_dtm_init))(dtm_info, rsc, rsc_info)
  21.  
  22.  
  23. /*------------------------------------------------------
  24. Teilt dem Hauptprogramm Information über Regler mit:
  25. int    dtm_init_poti(void *vglob, int potinr,
  26.                                     int type, int parent, int slider, int value)
  27. --------------------------------------------------------*/
  28. #define dtm_init_poti(vglob, potinr, type, parent, slider, value)\
  29.         (*(glob->mh.sys->_dtm_init_poti))(vglob, potinr, type, parent, slider, value)
  30.  
  31.  
  32. /*---------------------------------------------------------
  33. Wert aus Logarithmus-Tabelle holen
  34.     wert: 0 bis 256
  35.     return: 0 bis 1 in DSP-Format (0 bis DSP1_0)
  36. long *log_tab_entry( int wert )
  37. -----------------------------------------------------------*/
  38. #define log_tab_entry(w) (*(glob->mh.sys->_log_tab_entry))(w)
  39.  
  40.  
  41. /*---------------------------------------------------------
  42. Pegel (0...max) aus RSC-Regler holen
  43.     bei Angabe von Feld- und Slider-Grö₧en und Slider-Position
  44.     normiert auf max (maximal 24 Bit gro₧)
  45.     Flag vertikal: TRUE wenn Regler unten 0 sein soll
  46. long get_rsc_pegel( int f_size, int s_size, int s_posi, long max,
  47.                                         int vertikal )
  48. -----------------------------------------------------------*/
  49. #define get_rsc_pegel( f_s, s_s, s_p, max, vert )\
  50.         (*(glob->mh.sys->_get_rsc_pegel))( f_s, s_s, s_p, max, vert )
  51.  
  52.  
  53. /*----------------------------------------------------------
  54. Setzt Volume einer Line (berücksichtigt Pan):
  55.     button:  TRUE wenn Line eingeschaltet
  56.     vol:     Lautstärke 0 ... 255
  57.     line_nr: zu regelnde Line 
  58. void set_line_volume( int button, int vol, int line_nr )
  59. -----------------------------------------------------------*/
  60. #define set_line_volume( button, vol, line_nr )\
  61.         (*(glob->mh.sys->_set_line_volume))( button, vol, line_nr )
  62.  
  63.  
  64. /*----------------------------------------------------------
  65. Setzt Volume einer Line (berücksichtigt Vol):
  66.     button:  TRUE wenn Line eingeschaltet
  67.     pan:     Pan-Position 0(L) ... 127 ... 255(R)
  68.     line_nr: zu regelnde Line 
  69. void set_line_panorama( int button, int pan, int line_nr )
  70. -----------------------------------------------------------*/
  71. #define set_line_panorama( button, pan, line_nr )\
  72.         (*(glob->mh.sys->_set_line_panorama))( button, pan, line_nr )
  73.  
  74.  
  75. /*---------------------------------------------------------
  76. Verändert ob_state im Resource
  77.     wenn maske 0 wird nichts gesetzt
  78.     set:             -1 togglen, FALSE löschen, TRUE setzen
  79.     hdialog:    Dialog-Handle
  80.     item:            Object-Index
  81.     Return:        alter Status
  82. int DialogState(HDIALOG hdialog, int item, int set, int maske)
  83. ---------------------------------------------------------*/
  84. #define DialogState(hd, item, set, maske)\
  85.         (*(glob->mh.sys->_DialogState))(hd, item, set, maske)
  86.  
  87.  
  88. /*---------------------------------------------------------
  89. Verändert ob_flags im Resource
  90.     wenn maske 0 wird nichts gesetzt
  91.     set:             -1 togglen, FALSE löschen, TRUE setzen
  92.     hdialog:    Dialog-Handle
  93.     item:            Object-Index
  94.     Return:        alter Status
  95. int DialogFlags(HDIALOG hdialog, int item, int set, int maske)
  96. ---------------------------------------------------------*/
  97. #define DialogFlags(hd, item, set, maske)\
  98.         (*(glob->mh.sys->_DialogFlags))(hd, item, set, maske)
  99.  
  100.  
  101. /*---------------------------------------------------------
  102. In 'hdialog' auf das Element 'index' den mit
  103. 'format' erzeugten String ausgeben wie
  104. mit printf. Bei den Elementen G_TEXT, G_BOXTEXT,
  105. G_FTEXT und G_FBOXTEXT wird auf
  106. te_ptext ausgegben, sonst auf free_string
  107. Return: wie printf
  108. int DialogPrintf(HDIALOG hdialog, int item, LPSTR format, ...)
  109. ---------------------------------------------------------*/
  110. #define    DialogPrintf (*(glob->mh.sys->_DialogPrintf))
  111.  
  112.  
  113. /*---------------------------------------------------------
  114. Malt Object
  115. void draw_object( OBJECT *obj, int item )
  116. ---------------------------------------------------------*/
  117. #define draw_object( obj, item )\
  118.         (*(glob->mh.sys->_draw_object))( obj, item )
  119.  
  120.  
  121. /*---------------------------------------------------------
  122. wie gewohnt
  123. ---------------------------------------------------------*/
  124. #define object_find( baum, anf_obj, tiefe, x, y )\
  125.         (*(glob->mh.sys->_object_find))( baum, anf_obj, tiefe, x, y )
  126.  
  127.  
  128. /*---------------------------------------------------------
  129. Die Variable 'var' im DSP-Speicher ('memtype': 'X' oder 'Y')
  130. setzen. 'size' ist Variablengrö₧e.
  131. void dm_setvar(int memtype, int var, long *value, int size)
  132. ---------------------------------------------------------*/
  133. #define dm_setvar( memtype, var, value, size)\
  134.         (*(glob->mh.sys->_dm_setvar))( memtype, var, value, size)
  135.  
  136.  
  137. /*---------------------------------------------------------
  138. Variable definieren, d.h. sich Speicherplatz geben lassen
  139. typ: 'X', 'Y' fuer X/Y-Speicher
  140. Return: 0 wenn nichts mehr frei, sonst Adresse
  141. int dm_defvar(int typ, int adrsize, int size)
  142. ---------------------------------------------------------*/
  143. #define dm_defvar(typ, adrsize, size)\
  144.         (*(glob->mh.sys->_dm_defvar))(typ, adrsize, size)
  145.  
  146.  
  147. /*---------------------------------------------------------
  148. Modul 'modul' in den DSP linken
  149. Variablenadressen und Konstante im Modul werden durch die
  150. folgenden Parameter gesetzt, z.B. ADDER_QUELLE, 0x3c, ...
  151. letzter Parameter mu₧ < 0 sein
  152. Return: Modulhandle oder <0 bei Fehler
  153. int cdecl dm_load(void *vmodul, ...)
  154. ---------------------------------------------------------*/
  155. #define dm_load (*(glob->mh.sys->_dm_load))
  156.  
  157.  
  158. /*---------------------------------------------------------
  159. Block im DSP-Speicher mit 'wert' besetzen
  160. 'memtyp': 'X' oder 'Y'
  161. void dsp_setblock( int memtyp, int adr, long wert, int size)
  162. ---------------------------------------------------------*/
  163. #define dsp_setblock( memtyp, adr, wert, size )\
  164.         (*(glob->mh.sys->_dsp_setblock))( memtyp, adr, wert, size )
  165.  
  166.