Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 13, 2007, 5:58:14 PM (17 years ago)
Author:
nicolasc
Message:

added copyright notice
network still need to be done

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/FICN/src/audio/_AudioObject.cc

    r389 r513  
     1/*
     2 *   ORXONOX - the hottest 3D action shooter ever to exist
     3 *
     4 *
     5 *   License notice:
     6 *
     7 *   This program is free software; you can redistribute it and/or
     8 *   modify it under the terms of the GNU General Public License
     9 *   as published by the Free Software Foundation; either version 2
     10 *   of the License, or (at your option) any later version.
     11 *
     12 *   This program is distributed in the hope that it will be useful,
     13 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 *   GNU General Public License for more details.
     16 *
     17 *   You should have received a copy of the GNU General Public License
     18 *   along with this program; if not, write to the Free Software
     19 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
     20 *
     21 *   Author:
     22 *      ...
     23 *   Co-authors:
     24 *      ...
     25 *
     26 */
     27
     28
    129#include <iostream>
    230#include <string>
     
    3361
    3462                // Initialize OpenAL and clear the error bit.
    35        
     63
    3664                alutInit(NULL, 0);
    3765                alGetError();
    38        
     66
    3967                // Load the wav data.
    40        
     68
    4169                if(LoadALData() == AL_FALSE)
    4270                {
    4371                    printf("Error loading sound data.");
    44                        
     72
    4573                }
    4674
     
    4876                std::cout << "Play sone ambient background sound";
    4977        }
    50        
     78
    5179        AudioObject::~AudioObject()
    52         {       
     80        {
    5381                KillALData();
    5482        }
    55        
     83
    5684        ALboolean AudioObject::LoadALData()
    5785        {
     
    6189                ALsizei freq;
    6290                ALboolean loop;
    63        
    64        
     91
     92
    6593                alGenBuffers(1, &Buffer);
    66        
     94
    6795                if(alGetError() != AL_NO_ERROR)
    6896                        return AL_FALSE;
    69        
     97
    7098                alutLoadWAVFile((ALbyte*)audioFile_.c_str(), &format, &data, &size, &freq, &loop);
    7199                alBufferData(Buffer, format, data, size, freq);
    72100                alutUnloadWAV(format, data, size, freq);
    73        
     101
    74102                alGenSources(1, &Source);
    75        
     103
    76104                if(alGetError() != AL_NO_ERROR)
    77105                        return AL_FALSE;
    78        
     106
    79107                alSourcei (Source, AL_BUFFER,   Buffer   );
    80108                alSourcef (Source, AL_PITCH,    1.0      );
     
    83111                alSourcefv(Source, AL_VELOCITY, SourceVel);
    84112                alSourcei (Source, AL_LOOPING,  loop     );
    85        
     113
    86114                if(alGetError() == AL_NO_ERROR)
    87115                        return AL_TRUE;
    88        
    89        
     116
     117
    90118                return AL_FALSE;
    91         }       
     119        }
    92120
    93121        void AudioObject::SetListenerValues()
     
    97125                alListenerfv(AL_ORIENTATION, ListenerOri);
    98126        }
    99        
     127
    100128        void AudioObject::KillALData()
    101129        {
     
    108136        {
    109137                alSourcePlay(Source);
    110        
     138
    111139        }
    112140}
Note: See TracChangeset for help on using the changeset viewer.