blip  0.1
Vibrator.hpp
Go to the documentation of this file.
1 #ifndef __blip_Vibrator_hpp
2 #define __blip_Vibrator_hpp
3 
4 #include <blip/Blip.hpp>
6 
7 #include <commonc++/ScopedPtr.h++>
8 
9 namespace blip {
10 
11 class AudioContext;
12 class AudioEngine;
13 
22 class Vibrator
23 {
24  friend class AudioEngine;
25 
26  public:
27 
29  ~Vibrator();
30 
36  void setVibrating(bool on);
37 
43  bool isVibrating();
44 
50  void setFrequency(uint_t milliHertz);
51 
57  uint_t getFrequency();
58 
60  inline bool supportsFrequency() const
61  { return(_supportsFrequency); }
62 
67  inline uint_t getMinFrequency() const
68  { return(_minFrequency); }
69 
74  inline uint_t getMaxFrequency() const
75  { return(_maxFrequency); }
76 
82  void setIntensity(uint_t perMille);
83 
89  uint_t getIntensity();
90 
92  inline bool supportsIntensity() const
93  { return(_supportsFrequency); }
94 
99  inline uint_t getMinIntensity() const
100  { return(0); }
101 
106  inline uint_t getMaxIntensity() const
107  { return(1000); }
108 
109  private:
110 
111  Vibrator(AudioContext* context, uint32_t deviceID);
112  void init();
113 
114  void checkResult(uint32_t result, const char* call);
115 
116  struct Private;
117 
118  ccxx::ScopedPtr<Private> _private;
119  AudioContext* _context;
120  uint32_t _deviceID;
121  uint_t _minFrequency;
122  uint_t _maxFrequency;
123  bool _supportsFrequency;
124  bool _supportsIntensity;
125 
126  CCXX_COPY_DECLS(Vibrator);
127 };
128 
129 } // namespace blip
130 
131 #endif // __blip_Vibrator_hpp
bool supportsFrequency() const
Test if the device supports changing the vibration frequency.
Definition: Vibrator.hpp:60
uint_t getIntensity()
Get the vibration intensity.
Definition: Vibrator.cpp:145
uint_t getMaxIntensity() const
Get the maximum intensity supported by the device.
Definition: Vibrator.hpp:106
void setFrequency(uint_t milliHertz)
Set the vibration frequency.
Definition: Vibrator.cpp:109
uint_t getMinIntensity() const
Get the minimum intensity supported by the device.
Definition: Vibrator.hpp:99
uint_t getMinFrequency() const
Get the minimum frequency supported by the device.
Definition: Vibrator.hpp:67
void setVibrating(bool on)
Turn the vibration function on or off.
Definition: Vibrator.cpp:85
bool supportsIntensity() const
Test if the device supports changing the vibration intensity.
Definition: Vibrator.hpp:92
WAV file format details at: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/.
Definition: AccelerometerSensorEvent.cpp:3
uint_t getFrequency()
Get the vibration frequency.
Definition: Vibrator.cpp:120
uint_t getMaxFrequency() const
Get the maximum frequency supported by the device.
Definition: Vibrator.hpp:74
An audio playback engine.
Definition: AudioEngine.hpp:30
bool isVibrating()
Test if the vibration function is currently on.
Definition: Vibrator.cpp:96
~Vibrator()
Destructor.
Definition: Vibrator.cpp:41
A class representing a vibration (haptic feedback) device.
Definition: Vibrator.hpp:22
void setIntensity(uint_t perMille)
Set the vibration intensity.
Definition: Vibrator.cpp:134