]> git.mxchange.org Git - flightgear.git/blobdiff - src/ATC/ATCVoice.cxx
Daniyar ATADJANOV:
[flightgear.git] / src / ATC / ATCVoice.cxx
index 82721f420a9881d4dc703e0d3e84666013ba55fb..682cd24a4ed72b4f70e321f26c05a8ef191686df 100644 (file)
@@ -16,7 +16,7 @@
 //
 // You should have received a copy of the GNU General Public License
 // along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
 
 #ifdef HAVE_CONFIG_H
 #include <stdlib.h>
 
 FGATCVoice::FGATCVoice() {
+  SoundData = 0;
+  rawSoundData = 0;
 }
 
 FGATCVoice::~FGATCVoice() {
-    free( rawSoundData );
+    if (rawSoundData)
+        free( rawSoundData );
     delete SoundData;
 }
 
 // Load the two voice files - one containing the raw sound data (.wav) and one containing the word positions (.vce).
 // Return true if successful.
-bool FGATCVoice::LoadVoice(string voice) {
+bool FGATCVoice::LoadVoice(const string& voice) {
     // FIXME CLO: disabled to try to see if this is causign problemcs
     // return false;
 
@@ -54,9 +57,9 @@ bool FGATCVoice::LoadVoice(string voice) {
 
         string file = voice + ".wav";
        
-       SoundData = new SGSoundSample( path.c_str(), file.c_str(), false );
+       SoundData = new SGSoundSample();
+        rawSoundData = (char *)SoundData->load_file(path.c_str(), file.c_str());
        rawDataSize = SoundData->get_size();
-       rawSoundData = SoundData->get_data();
        
        path = globals->get_fg_root();
        string wordPath = "ATC/" + voice + ".vce";