00001 // Filename : OVOLUME.H 00002 // Description : audio volume unit 00003 00004 #ifndef __OVOLUME_H 00005 #define __OVOLUME_H 00006 00007 class DsVolume; 00008 class AbsVolume; 00009 class RelVolume; 00010 class PosVolume; 00011 00013 class DsVolume { 00014 public: 00015 long ds_vol; // -10,000 to 0 (DSBVOLUME_MIN to DSBVOLUME_MAX) 00016 long ds_pan; // -10,000 to 10,000 00017 00018 public: 00019 DsVolume(long dsVol, long dsPan); 00020 DsVolume(AbsVolume &); 00021 DsVolume(RelVolume &); 00022 }; 00023 00025 class AbsVolume { 00026 public: 00027 long abs_vol; 00028 long ds_pan; 00029 00030 public: 00031 AbsVolume(long absVol, long dsPan); 00032 AbsVolume(DsVolume &); 00033 }; 00034 00037 class RelVolume { 00038 public: 00039 long rel_vol; // 0 to 100 00040 long ds_pan; // -10,000 to 10,000 00041 00042 public: 00043 RelVolume() {} 00044 RelVolume(long relVol, long dsPan); 00045 RelVolume(PosVolume &); 00046 RelVolume(PosVolume &, int drop, int limit); 00047 }; 00048 00051 class PosVolume { 00052 public: 00053 long x; 00054 long y; 00055 00056 public: 00057 PosVolume(long relLocX, long relLocY); 00058 }; 00059 00060 extern RelVolume DEF_REL_VOLUME; 00061 #endif