home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 106 / EnigmaAmiga106CD.iso / software / sviluppo / ahisrc / ahi / ahi.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-04-22  |  2.5 KB  |  119 lines

  1. /*
  2.      AHI - The AHI preferences program
  3.      Copyright (C) 1996-1999 Martin Blom <martin@blom.org>
  4.      
  5.      This program is free software; you can redistribute it and/or
  6.      modify it under the terms of the GNU General Public License
  7.      as published by the Free Software Foundation; either version 2
  8.      of the License, or (at your option) any later version.
  9.      
  10.      This program is distributed in the hope that it will be useful,
  11.      but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.      GNU General Public License for more details.
  14.      
  15.      You should have received a copy of the GNU General Public License
  16.      along with this program; if not, write to the Free Software
  17.      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  18. */
  19.  
  20. #ifndef _AHI_H_
  21. #define _AHI_H_
  22.  
  23. #include <exec/types.h>
  24. #include <devices/ahi.h>
  25.  
  26. struct UnitNode {
  27.   struct Node           node;
  28.   char                  name[32];
  29.   struct AHIUnitPrefs   prefs;
  30. };
  31.  
  32. struct ModeNode {
  33.   struct Node           node;
  34.   ULONG                 ID;
  35.   char                  name[80];
  36. };
  37.  
  38. #define HELPFILE    "ahi.guide"
  39. #define ENVARCFILE  "ENVARC:Sys/ahi.prefs"
  40. #define ENVFILE     "ENV:Sys/ahi.prefs"
  41.  
  42. struct state 
  43. {
  44.   LONG UnitSelected;
  45.   LONG ModeSelected;
  46.   LONG FreqSelected;
  47.   LONG ChannelsSelected;
  48.   LONG InputSelected;
  49.   LONG OutputSelected;
  50.   LONG OutVolSelected;
  51.   LONG MonVolSelected;
  52.   LONG GainSelected;
  53.  
  54.   LONG Frequencies;
  55.   LONG Channels;
  56.   LONG Inputs;
  57.   LONG Outputs;
  58.   LONG OutVols;
  59.   LONG MonVols;
  60.   LONG Gains;
  61.  
  62.   BOOL ChannelsDisabled;
  63.   BOOL OutVolMute;
  64.   BOOL MonVolMute;
  65.   BOOL GainMute;
  66.  
  67.   float OutVolOffset;
  68.   float MonVolOffset;
  69.   float GainOffset;
  70. };
  71.  
  72. struct args
  73. {
  74.   STRPTR  from;
  75.   ULONG   edit;
  76.   ULONG   use;
  77.   ULONG   save;
  78.   STRPTR  pubscreen;
  79. };
  80.  
  81. extern char const *Version;
  82.  
  83. extern struct List *UnitList;
  84. extern struct List *ModeList;
  85.  
  86. extern char **Units;
  87. extern char **Modes;
  88. extern char **Inputs;
  89. extern char **Outputs;
  90.  
  91.  
  92. extern struct state state;
  93. extern struct args args;
  94.  
  95. extern BOOL SaveIcons;
  96.  
  97. void NewSettings(char * );
  98. void NewUnit(int );
  99. void NewMode(int );
  100.  
  101. void FillUnit(void);
  102.  
  103. char *getFreq(void);
  104. char *getChannels(void);
  105. char *getOutVol(void);
  106. char *getMonVol(void);
  107. char *getGain(void);
  108. char *getInput(void);
  109. char *getOutput(void);
  110. ULONG getAudioMode(void);
  111. char *getRecord(void);
  112. char *getAuthor(void);
  113. char *getCopyright(void);
  114. char *getDriver(void);
  115. char *getVersion(void);
  116.  
  117. #endif _AHI_H_
  118.  
  119.