00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_SOUNDFILEDEFAULT_HPP
00026 #define SFML_SOUNDFILEDEFAULT_HPP
00027
00029
00031 #include <SFML/Audio/SoundFile.hpp>
00032 #include <sndfile.h>
00033
00034
00035 namespace sf_private
00036 {
00041 class sfSoundFileDefault : public sfSoundFile
00042 {
00043 public :
00044
00049 sfSoundFileDefault();
00050
00055 ~sfSoundFileDefault();
00056
00061 virtual bool OpenRead(const std::string& Filename, std::size_t& NbSamples, unsigned int& ChannelsCount, unsigned int& SampleRate);
00062
00067 virtual bool OpenWrite(const std::string& Filename, unsigned int ChannelsCount, unsigned int SampleRate);
00068
00073 virtual std::size_t Read(sfInt16* Data, std::size_t NbSamples);
00074
00079 virtual void Write(const sfInt16* Data, std::size_t NbSamples);
00080
00081 private :
00082
00084
00086 SNDFILE* myFile;
00087 };
00088
00089 }
00090
00091 #endif // SFML_SOUNDFILEDEFAULT_HPP