andrew@0: /* andrew@0: * ofxSoundFileLoader.h andrew@0: * audioFileLoaderSVN1 andrew@0: * andrew@0: * Created by Andrew on 04/09/2011. andrew@0: * Copyright 2011 QMUL. All rights reserved. andrew@0: * andrew@0: */ andrew@0: andrew@0: #ifndef SOUND_FILE_LOADER_H andrew@0: #define SOUND_FILE_LOADER_H andrew@0: andrew@0: andrew@0: #include "ofMain.h" andrew@0: #include "sndfile.h" andrew@0: #include "AudioFile.h" andrew@0: #include "ofxAubioOnsetDetection.h" andrew@0: andrew@0: andrew@0: #define FRAMESIZE 512 andrew@0: andrew@0: andrew@0: andrew@0: class ofxSoundFileLoader{ andrew@0: andrew@0: public: andrew@0: ofxSoundFileLoader(); andrew@0: ~ofxSoundFileLoader(); andrew@0: float frame[FRAMESIZE]; andrew@0: andrew@0: void updateToAudioPosition(const float& audioPosition); andrew@0: void updateToMillisPosition(const double& millis); andrew@0: void drawFile(); andrew@0: void zoomOut(); andrew@0: void zoomIn(); andrew@0: andrew@0: void loadLibSndFile(const char *infilename); andrew@0: andrew@0: // void openNewFileWithDialogBox(); andrew@0: void loadNewAudio(std::string filename); andrew@0: andrew@0: typedef std::vector DoubleVector; andrew@0: // typedef std::vector DoubleMatrix; andrew@0: andrew@0: //0 draws audio vector samples andrew@0: //1 draws the onset fn, pitch and chroma data andrew@0: int screenToDraw; andrew@0: andrew@0: AudioFile audioHolder; andrew@0: andrew@0: ofxAubioOnsetDetection onsetDetect; andrew@0: //chromaOnsetHolder chromaHolder; - add in here andrew@0: andrew@0: int totalNumberOfSamples; andrew@0: andrew@0: void readAudio(); andrew@0: andrew@0: string soundFileName; andrew@0: SNDFILE *infile; // define input and output sound files andrew@0: SF_INFO sfinfo ; // struct to hold info about sound file andrew@0: andrew@0: void freeMemory(); andrew@0: andrew@0: andrew@0: }; andrew@0: #endif