/[svn]/linuxsampler/trunk/src/drivers/DeviceParameter.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/drivers/DeviceParameter.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 123 by schoenebeck, Mon Jun 14 19:33:16 2004 UTC revision 214 by schoenebeck, Sat Aug 14 23:00:44 2004 UTC
# Line 25  Line 25 
25    
26  #include <map>  #include <map>
27  #include <vector>  #include <vector>
 #include <sstream>  
28    
29  #include "../common/global.h"  #include "../common/global.h"
30  #include "../common/optional.h"  #include "../common/optional.h"
31  #include "../common/LinuxSamplerException.h"  #include "../common/LinuxSamplerException.h"
32    #include "Device.h"
33    
34  namespace LinuxSampler {  namespace LinuxSampler {
35    
# Line 60  namespace LinuxSampler { Line 60  namespace LinuxSampler {
60              virtual void             SetValue(String val) throw (LinuxSamplerException);              virtual void             SetValue(String val) throw (LinuxSamplerException);
61    
62              virtual bool ValueAsBool();              virtual bool ValueAsBool();
63              virtual void SetValue(bool b);              virtual void SetValue(bool b) throw (LinuxSamplerException);
64    
65              virtual void OnSetValue(bool b) throw (LinuxSamplerException) = 0;              virtual void OnSetValue(bool b) throw (LinuxSamplerException) = 0;
66          protected:          protected:
# Line 79  namespace LinuxSampler { Line 79  namespace LinuxSampler {
79              virtual void             SetValue(String val) throw (LinuxSamplerException);              virtual void             SetValue(String val) throw (LinuxSamplerException);
80    
81              virtual int  ValueAsInt();              virtual int  ValueAsInt();
82              virtual void SetValue(int i);              virtual void SetValue(int i) throw (LinuxSamplerException);
83    
84              virtual optional<int>    RangeMinAsInt()      = 0;              virtual optional<int>    RangeMinAsInt()      = 0;
85              virtual optional<int>    RangeMaxAsInt()      = 0;              virtual optional<int>    RangeMaxAsInt()      = 0;
# Line 101  namespace LinuxSampler { Line 101  namespace LinuxSampler {
101              virtual void             SetValue(String val) throw (LinuxSamplerException);              virtual void             SetValue(String val) throw (LinuxSamplerException);
102    
103              virtual float ValueAsFloat();              virtual float ValueAsFloat();
104              virtual void  SetValue(float f);              virtual void  SetValue(float f) throw (LinuxSamplerException);
105    
106              virtual optional<float>     RangeMinAsFloat()      = 0;              virtual optional<float>     RangeMinAsFloat()      = 0;
107              virtual optional<float>     RangeMaxAsFloat()      = 0;              virtual optional<float>     RangeMaxAsFloat()      = 0;
# Line 122  namespace LinuxSampler { Line 122  namespace LinuxSampler {
122              virtual String           Value();              virtual String           Value();
123              virtual void             SetValue(String val) throw (LinuxSamplerException);              virtual void             SetValue(String val) throw (LinuxSamplerException);
124    
125                virtual String ValueAsString();
126                virtual void   SetValueAsString(String s) throw (LinuxSamplerException);
127    
128              virtual std::vector<String> PossibilitiesAsString() = 0;              virtual std::vector<String> PossibilitiesAsString() = 0;
129              virtual void                OnSetValue(String s)    = 0;              virtual void                OnSetValue(String s)    = 0;
130          protected:          protected:
# Line 140  namespace LinuxSampler { Line 143  namespace LinuxSampler {
143              virtual void             SetValue(String val) throw (LinuxSamplerException);              virtual void             SetValue(String val) throw (LinuxSamplerException);
144    
145              virtual std::vector<String> ValueAsStrings();              virtual std::vector<String> ValueAsStrings();
146              virtual void                SetValue(std::vector<String> vS);              virtual void                SetValue(std::vector<String> vS) throw (LinuxSamplerException);
147    
148              virtual std::vector<String> PossibilitiesAsString()            = 0;              virtual std::vector<String> PossibilitiesAsString()            = 0;
149              virtual void                OnSetValue(std::vector<String> vS) = 0;              virtual void                OnSetValue(std::vector<String> vS) = 0;
# Line 152  namespace LinuxSampler { Line 155  namespace LinuxSampler {
155    
156      class DeviceCreationParameter : public DeviceRuntimeParameter {      class DeviceCreationParameter : public DeviceRuntimeParameter {
157          public:          public:
158                DeviceCreationParameter ( void )                  { pDevice = NULL; }
159              virtual bool                                      Mandatory() = 0;              virtual bool                                      Mandatory() = 0;
160              virtual optional<String>                          Depends();              virtual optional<String>                          Depends();
161              virtual std::map<String,DeviceCreationParameter*> DependsAsParameters() = 0;              virtual std::map<String,DeviceCreationParameter*> DependsAsParameters() = 0;
# Line 163  namespace LinuxSampler { Line 167  namespace LinuxSampler {
167              virtual optional<String>                          RangeMax(std::map<String,String> Parameters) = 0;              virtual optional<String>                          RangeMax(std::map<String,String> Parameters) = 0;
168              virtual optional<String>                          Possibilities();              virtual optional<String>                          Possibilities();
169              virtual optional<String>                          Possibilities(std::map<String,String> Parameters) = 0;              virtual optional<String>                          Possibilities(std::map<String,String> Parameters) = 0;
170                void                                              Attach(Device* pDevice) { this->pDevice = pDevice; }
171            protected:
172                Device* pDevice;
173      };      };
174    
175      class DeviceCreationParameterBool : public DeviceCreationParameter {      class DeviceCreationParameterBool : public DeviceCreationParameter {
176          public:          public:
177              DeviceCreationParameterBool();              DeviceCreationParameterBool(bool bVal = false);
             DeviceCreationParameterBool(bool bVal);  
178              DeviceCreationParameterBool(String val) throw (LinuxSamplerException);              DeviceCreationParameterBool(String val) throw (LinuxSamplerException);
179              virtual String Type();              virtual String Type();
180              virtual bool   Multiplicity();              virtual bool   Multiplicity();
# Line 180  namespace LinuxSampler { Line 186  namespace LinuxSampler {
186              virtual void   SetValue(String val) throw (LinuxSamplerException);              virtual void   SetValue(String val) throw (LinuxSamplerException);
187    
188              virtual bool ValueAsBool();              virtual bool ValueAsBool();
189              virtual void SetValue(bool b);              virtual void SetValue(bool b) throw (LinuxSamplerException);
190    
191              virtual optional<bool> DefaultAsBool(std::map<String,String> Parameters) = 0;              virtual optional<bool> DefaultAsBool(std::map<String,String> Parameters) = 0;
192              virtual void OnSetValue(bool b) throw (LinuxSamplerException)  = 0;              virtual void OnSetValue(bool b) throw (LinuxSamplerException)  = 0;
193          protected:          protected:
194              bool bVal;              bool bVal;
         private:  
195              void InitWithDefault();              void InitWithDefault();
196            private:
197      };      };
198    
199      class DeviceCreationParameterInt : public DeviceCreationParameter {      class DeviceCreationParameterInt : public DeviceCreationParameter {
200          public:          public:
201              DeviceCreationParameterInt();              DeviceCreationParameterInt(int iVal = 0);
             DeviceCreationParameterInt(int iVal);  
202              DeviceCreationParameterInt(String val) throw (LinuxSamplerException);              DeviceCreationParameterInt(String val) throw (LinuxSamplerException);
203              virtual String Type();              virtual String Type();
204              virtual bool   Multiplicity();              virtual bool   Multiplicity();
# Line 205  namespace LinuxSampler { Line 210  namespace LinuxSampler {
210              virtual void   SetValue(String val) throw (LinuxSamplerException);              virtual void   SetValue(String val) throw (LinuxSamplerException);
211    
212              virtual int  ValueAsInt();              virtual int  ValueAsInt();
213              virtual void SetValue(int i);              virtual void SetValue(int i) throw (LinuxSamplerException);
214    
215              virtual optional<int>    DefaultAsInt(std::map<String,String> Parameters)  = 0;              virtual optional<int>    DefaultAsInt(std::map<String,String> Parameters)  = 0;
216              virtual optional<int>    RangeMinAsInt(std::map<String,String> Parameters) = 0;              virtual optional<int>    RangeMinAsInt(std::map<String,String> Parameters) = 0;
# Line 214  namespace LinuxSampler { Line 219  namespace LinuxSampler {
219              virtual void             OnSetValue(int i) throw (LinuxSamplerException)  = 0;              virtual void             OnSetValue(int i) throw (LinuxSamplerException)  = 0;
220          protected:          protected:
221              int iVal;              int iVal;
         private:  
222              void InitWithDefault();              void InitWithDefault();
223            private:
224      };      };
225    
226      class DeviceCreationParameterFloat : public DeviceCreationParameter {      class DeviceCreationParameterFloat : public DeviceCreationParameter {
227          public:          public:
228              DeviceCreationParameterFloat();              DeviceCreationParameterFloat(float fVal = 0.0);
             DeviceCreationParameterFloat(float fVal);  
229              DeviceCreationParameterFloat(String val) throw (LinuxSamplerException);              DeviceCreationParameterFloat(String val) throw (LinuxSamplerException);
230              virtual String Type();              virtual String Type();
231              virtual bool   Multiplicity();              virtual bool   Multiplicity();
# Line 233  namespace LinuxSampler { Line 237  namespace LinuxSampler {
237              virtual void   SetValue(String val) throw (LinuxSamplerException);              virtual void   SetValue(String val) throw (LinuxSamplerException);
238    
239              virtual float ValueAsFloat();              virtual float ValueAsFloat();
240              virtual void  SetValue(float f);              virtual void  SetValue(float f) throw (LinuxSamplerException);
241    
242              virtual optional<float>    DefaultAsFloat(std::map<String,String> Parameters)  = 0;              virtual optional<float>    DefaultAsFloat(std::map<String,String> Parameters)  = 0;
243              virtual optional<float>    RangeMinAsFloat(std::map<String,String> Parameters) = 0;              virtual optional<float>    RangeMinAsFloat(std::map<String,String> Parameters) = 0;
# Line 242  namespace LinuxSampler { Line 246  namespace LinuxSampler {
246              virtual void OnSetValue(float f) throw (LinuxSamplerException)  = 0;              virtual void OnSetValue(float f) throw (LinuxSamplerException)  = 0;
247          protected:          protected:
248              float fVal;              float fVal;
         private:  
249              void InitWithDefault();              void InitWithDefault();
250            private:
251      };      };
252    
253      class DeviceCreationParameterString : public DeviceCreationParameter {      class DeviceCreationParameterString : public DeviceCreationParameter {
254          public:          public:
255              DeviceCreationParameterString();              DeviceCreationParameterString(String sVal = String());
             DeviceCreationParameterString(String sVal);  
256              virtual String Type();              virtual String Type();
257              virtual bool   Multiplicity();              virtual bool   Multiplicity();
258                virtual optional<String> Default(std::map<String,String> Parameters);
259              virtual optional<String> RangeMin(std::map<String,String> Parameters);              virtual optional<String> RangeMin(std::map<String,String> Parameters);
260              virtual optional<String> RangeMax(std::map<String,String> Parameters);              virtual optional<String> RangeMax(std::map<String,String> Parameters);
261              virtual optional<String> Possibilities(std::map<String,String> Parameters);              virtual optional<String> Possibilities(std::map<String,String> Parameters);
262              virtual String Value();              virtual String Value();
263              virtual void   SetValue(String val) throw (LinuxSamplerException);              virtual void   SetValue(String val) throw (LinuxSamplerException);
264    
265                virtual String ValueAsString();
266                virtual void   SetValueAsString(String s) throw (LinuxSamplerException);
267    
268                virtual optional<String>    DefaultAsString(std::map<String,String> Parameters) = 0;
269              virtual std::vector<String> PossibilitiesAsString(std::map<String,String> Parameters) = 0;              virtual std::vector<String> PossibilitiesAsString(std::map<String,String> Parameters) = 0;
270              virtual void OnSetValue(String s) throw (LinuxSamplerException) = 0;              virtual void OnSetValue(String s) throw (LinuxSamplerException) = 0;
271          protected:          protected:
272              String sVal;              String sVal;
         private:  
273              void InitWithDefault();              void InitWithDefault();
274            private:
275      };      };
276    
277      class DeviceCreationParameterStrings : public DeviceCreationParameter {      class DeviceCreationParameterStrings : public DeviceCreationParameter {
# Line 273  namespace LinuxSampler { Line 281  namespace LinuxSampler {
281              DeviceCreationParameterStrings(String val) throw (LinuxSamplerException);              DeviceCreationParameterStrings(String val) throw (LinuxSamplerException);
282              virtual String Type();              virtual String Type();
283              virtual bool   Multiplicity();              virtual bool   Multiplicity();
284                virtual optional<String> Default(std::map<String,String> Parameters);
285              virtual optional<String> RangeMin(std::map<String,String> Parameters);              virtual optional<String> RangeMin(std::map<String,String> Parameters);
286              virtual optional<String> RangeMax(std::map<String,String> Parameters);              virtual optional<String> RangeMax(std::map<String,String> Parameters);
287              virtual optional<String> Possibilities(std::map<String,String> Parameters);              virtual optional<String> Possibilities(std::map<String,String> Parameters);
# Line 280  namespace LinuxSampler { Line 289  namespace LinuxSampler {
289              virtual void   SetValue(String val) throw (LinuxSamplerException);              virtual void   SetValue(String val) throw (LinuxSamplerException);
290    
291              virtual std::vector<String> ValueAsStrings();              virtual std::vector<String> ValueAsStrings();
292              virtual void                SetValue(std::vector<String> vS);              virtual void                SetValue(std::vector<String> vS) throw (LinuxSamplerException);
293    
294              virtual optional<std::vector<String> > DefaultAsStrings(std::map<String,String> Parameters) = 0;              virtual std::vector<String> DefaultAsStrings(std::map<String,String> Parameters) = 0;
295              virtual std::vector<String> PossibilitiesAsString(std::map<String,String> Parameters) = 0;              virtual std::vector<String> PossibilitiesAsString(std::map<String,String> Parameters) = 0;
296              virtual void OnSetValue(std::vector<String> vS) throw (LinuxSamplerException) = 0;              virtual void OnSetValue(std::vector<String> vS) throw (LinuxSamplerException) = 0;
297          protected:          protected:
298              std::vector<String> sVals;              std::vector<String> sVals;
         private:  
299              void InitWithDefault();              void InitWithDefault();
300            private:
301      };      };
302    
     template <class T>  
     inline String ToString(T o) {  
         std::stringstream ss;  
         ss << o;  
         return ss.str();  
     }  
   
303  } // namespace LinuxSampler  } // namespace LinuxSampler
304    
305  #endif // __LS_DEVICE_PARAMETER_H__  #endif // __LS_DEVICE_PARAMETER_H__

Legend:
Removed from v.123  
changed lines
  Added in v.214

  ViewVC Help
Powered by ViewVC