blip  0.1
AudioClip.hpp
Go to the documentation of this file.
1 #ifndef __blip_AudioClip_hpp
2 #define __blip_AudioClip_hpp
3 
4 #include <blip/Blip.hpp>
5 #include <blip/AudioFormat.hpp>
6 
7 namespace blip {
8 
13 class AudioClip
14 {
15  public:
16 
18  enum Format { Format_PCM };
19 
25  AudioClip(const AudioFormat& format, uint32_t maxSamples);
26 
28  ~AudioClip();
29 
31  inline const AudioFormat& getFormat() const
32  { return(_format); }
33 
35  inline uint32_t getMaxSamples() const
36  { return(_maxSamples); }
37 
39  inline uint32_t getNumSamples() const
40  { return(_numSamples); }
41 
48  void setNumSamples(uint32_t numSamples);
49 
51  inline const byte_t* getData() const
52  { return(_data); }
53 
55  inline byte_t* getData()
56  { return(_data); }
57 
59  inline const size_t getDataLength() const
60  { return(_dataLength); }
61 
63  bool isNull() const;
64 
66  void clear();
67 
68  private:
69 
70  AudioFormat _format;
71  uint32_t _maxSamples;
72  uint32_t _numSamples;
73  byte_t* _data;
74  size_t _dataLength;
75 
76  CCXX_COPY_DECLS(AudioClip);
77 };
78 
79 } // namespace blip
80 
81 #endif // __blip_AudioClip_hpp
Definition: AudioClip.hpp:18
Format
Supported audio formats.
Definition: AudioClip.hpp:18
~AudioClip()
Destructor.
Definition: AudioClip.cpp:24
bool isNull() const
Test if the AudioClip is null, that is, an AudioClip with 0 samples.
Definition: AudioClip.cpp:44
const size_t getDataLength() const
Get the length of the audio data, in bytes.
Definition: AudioClip.hpp:59
uint32_t getNumSamples() const
Get the number of audio samples currently in this AudioClip.
Definition: AudioClip.hpp:39
An object that describes an audio data format.
Definition: AudioFormat.hpp:12
const AudioFormat & getFormat() const
Get the audio format.
Definition: AudioClip.hpp:31
void setNumSamples(uint32_t numSamples)
Set the number of audio samples currently in this AudioClip.
Definition: AudioClip.cpp:33
byte_t * getData()
Get a pointer to the audio data.
Definition: AudioClip.hpp:55
WAV file format details at: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/.
Definition: AccelerometerSensorEvent.cpp:3
uint32_t getMaxSamples() const
Get the maximum number of audio samples that this AudioClip can hold.
Definition: AudioClip.hpp:35
const byte_t * getData() const
Get a pointer to the audio data.
Definition: AudioClip.hpp:51
void clear()
Clear the AudioClip.
Definition: AudioClip.cpp:52
A container for audio data.
Definition: AudioClip.hpp:13
AudioClip(const AudioFormat &format, uint32_t maxSamples)
Construct a new AudioClip with the given audio format and maximum size.
Definition: AudioClip.cpp:9