  | 
  
    CUGL 1.3
    
   Cornell University Game Library 
   | 
 
 
 
 
   41 #ifndef __CU_AUDIO_WAVE_FORM_H__ 
   42 #define __CU_AUDIO_WAVE_FORM_H__ 
   44 #include <cugl/assets/CUJsonValue.h> 
  195 #pragma mark Constructors 
  230     bool init(Uint8 channels, Uint32 rate);
 
  250     bool init(Uint8 channels, Uint32 rate, 
Type type, 
float frequency);
 
  258     virtual void dispose() 
override;
 
  260 #pragma mark Static Constructors 
  269     static std::shared_ptr<AudioWaveform> 
alloc() {
 
  270         std::shared_ptr<AudioWaveform> result = std::make_shared<AudioWaveform>();
 
  271         return (result->init() ? result : 
nullptr);
 
  285     static std::shared_ptr<AudioWaveform> 
alloc(Uint8 channels, Uint32 rate) {
 
  286         std::shared_ptr<AudioWaveform> result = std::make_shared<AudioWaveform>();
 
  287         return (result->init(channels,rate) ? result : 
nullptr);
 
  308     static std::shared_ptr<AudioWaveform> 
alloc(Uint8 channels, Uint32 rate, 
Type type, 
float frequency) {
 
  309         std::shared_ptr<AudioWaveform> result = std::make_shared<AudioWaveform>();
 
  310         return (result->init(channels,rate,type,frequency) ? result : 
nullptr);
 
  336     static std::shared_ptr<AudioWaveform> 
allocWithData(
const std::shared_ptr<JsonValue>& data);
 
  338 #pragma mark Generator Attributes 
  404     virtual Sint64 
getLength() 
const override;
 
  447     Uint32 
generate(
float* buffer, Uint32 frames, Uint64 offset, 
float last);
 
  458     virtual std::shared_ptr<audio::AudioNode> 
createNode() 
override;