CMGDK r49-rc2
|
00001 # i f n d e f A U D I O _ P L A Y E R I N C L U D E 00002 00003 # d e f i n e A U D I O _ P L A Y E R I N C L U D E 00004 00005 00006 00007 # i n c l u d e < h g l / H A C . H > 00008 00009 # i n c l u d e < h g l / V e c t o r M a t h . H > 00010 00011 # i n c l u d e < h g l / t h r e a d / T h r e a d . H > 00012 00013 # i n c l u d e < h g l / a u d i o / O p e n A L . H > 00014 00015 # i n c l u d e < h g l / a u d i o / A u d i o S o u r c e . H > 00016 00017 u s i n g n a m e s p a c e o p e n a l ; 00018 00019 n a m e s p a c e h g l 00020 00021 { 00022 00023 s t r u c t A u d i o P l u g I n I n t e r f a c e ; 00024 00025 00026 00027 / * * 00028 00029 * O(uA u d i o P l a y e r R^vd>ehV{| N,(uǸofPNI{r`SvYt0 00030 00031 * ُ*Nd>ehV\O(u N*NUSrv~z(Wd>ehV Rde~z_NOsQ0 00032 00033 * / 00034 00035 c l a s s A u d i o P l a y e r : p u b l i c T h r e a d / / / d>ehVW{| 00036 00037 { 00038 00039 p u b l i c : 00040 00041 00042 00043 e n u m P l a y S t a t e / / d>ehVr` 00044 00045 { 00046 00047 p s N o n e = 0 , 00048 00049 p s P l a y , 00050 00051 p s P a u s e , 00052 00053 p s E x i t 00054 00055 } ; 00056 00057 00058 00059 # i n c l u d e < h g l / a u d i o / A u d i o P l a y e r . A t t r i b . H > 00060 00061 00062 00063 p u b l i c : / / ^\'` 00064 00065 00066 00067 P r o p e r t y < u i n t > I n d e x ; / / / < n"}_ 00068 00069 P r o p e r t y < d o u b l e > T i m e ; / / / < ;`e 00070 00071 00072 00073 P r o p e r t y < P l a y S t a t e > S t a t e ; / / / < d>ehVr` 00074 00075 P r o p e r t y < i n t > S o u r c e S t a t e ; / / / < nr` 00076 00077 P r o p e r t y < f l o a t > M i n G a i n ; / / / < g\Xv 00078 00079 P r o p e r t y < f l o a t > M a x G a i n ; / / / < g'YXv 00080 00081 00082 00083 P r o p e r t y < b o o l > L o o p ; / / / < /f&T_sd>eZbSϑ 00084 00085 00086 00087 P r o p e r t y < f l o a t > P i t c h ; / / / < d>es 00088 00089 P r o p e r t y < f l o a t > G a i n ; / / / < ϑXvE^^ 00090 00091 P r o p e r t y < f l o a t > C o n e G a i n ; / / / < 00092 00093 00094 00095 P r o p e r t y < f l o a t > R o l l o f f F a c t o r ; / / / < 00096 00097 00098 00099 p u b l i c : / / ^\'`el 00100 00101 00102 00103 c o n s t V e c t o r 3 f & G e t P o s i t i o n ( ) { r e t u r n a u d i o s o u r c e . p o s i t i o n ; } c o n s t 00104 00105 v o i d S e t P o s i t i o n ( c o n s t V e c t o r 3 f & p o s ) { a u d i o s o u r c e . S e t P o s i t i o n ( p o s ) ; } 00106 00107 00108 00109 c o n s t V e c t o r 3 f & G e t V e l o c i t y ( ) { r e t u r n a u d i o s o u r c e . v e l o c i t y ; } c o n s t 00110 00111 v o i d S e t V e l o c i t y ( c o n s t V e c t o r 3 f & v e l ) { a u d i o s o u r c e . S e t V e l o c i t y ( v e l ) ; } 00112 00113 00114 00115 c o n s t V e c t o r 3 f & G e t D i r e c t i o n ( ) { r e t u r n a u d i o s o u r c e . d i r e c t i o n ; } c o n s t 00116 00117 v o i d S e t D i r e c t i o n ( c o n s t V e c t o r 3 f & d i r ) { a u d i o s o u r c e . S e t D i r e c t i o n ( d i r ) ; } 00118 00119 00120 00121 c o n s t R e f e r e n c e V a l u e & G e t D i s t a n c e ( ) { r e t u r n a u d i o s o u r c e . d i s t a n c e ; } c o n s t 00122 00123 v o i d S e t D i s t a n c e ( c o n s t R e f e r e n c e V a l u e & r v ) { a u d i o s o u r c e . S e t D i s t a n c e ( r v ) ; } 00124 00125 00126 00127 c o n s t C o n e A n g l e & G e t A n g l e ( ) { r e t u r n a u d i o s o u r c e . a n g l e ; } c o n s t 00128 00129 v o i d S e t A n g l e ( c o n s t C o n e A n g l e & c a ) { a u d i o s o u r c e . S e t A n g l e ( c a ) ; } 00130 00131 00132 00133 p u b l i c : / / el 00134 00135 00136 00137 A u d i o P l a y e r ( ) ; 00138 00139 A u d i o P l a y e r ( S t r e a m * , A F T ) ; 00140 00141 A u d i o P l a y e r ( c o n s t w c h a r _ t * , A F T = a f t N o n e ) ; 00142 00143 A u d i o P l a y e r ( H A C * , c o n s t w c h a r _ t * , A F T = a f t N o n e ) ; 00144 00145 v i r t u a l ~ A u d i o P l a y e r ( ) ; 00146 00147 00148 00149 v i r t u a l b o o l L o a d ( S t r e a m * , A F T ) ; / / / < NAm-NR} N*NeN 00150 00151 v i r t u a l b o o l L o a d ( c o n s t w c h a r _ t * , A F T = a f t N o n e ) ; / / / < R} N*NeN 00152 00153 v i r t u a l b o o l L o a d ( H A C * , c o n s t w c h a r _ t * , A F T = a f t N o n e ) ; / / / < NH A C S-NR} N*NeN 00154 00155 00156 00157 v i r t u a l v o i d P l a y ( b o o l = t r u e ) ; / / / < d>e 00158 00159 v i r t u a l v o i d S t o p ( ) ; / / / < \Pbkd>e 00160 00161 v i r t u a l v o i d P a u s e ( ) ; / / / < f\Pd>e 00162 00163 v i r t u a l v o i d R e s u m e ( ) ; / / / < ~~d>e 00164 00165 v i r t u a l v o i d C l e a r ( ) ; / / / < ndpenc 00166 00167 00168 00169 v i r t u a l d o u b l e G e t P l a y T i m e ( ) ; / / / < S_]d>ee( USMOy) 00170 00171 v i r t u a l v o i d S e t F a d e T i m e ( d o u b l e , d o u b l e ) ; / / / < nmeQmQe 00172 00173 00174 00175 v i r t u a l v o i d A u t o G a i n ( f l o a t , d o u b l e ) ; / / / < ꁨRϑ 00176 00177 } ; / / A u d i o P l a y e r 00178 00179 } / / n a m e s p a c e h g l 00180 00181 # e n d i f / / A U D I O _ P L A Y E R I N C L U D E 00182 00183