Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jan 1, 2008, 2:00:08 PM (16 years ago)
Author:
rgrieder
Message:
  • removed warnings on msvc compiler
  • on msvc: loader is now built with orxonox, not as a separate library
File:
1 edited

Legend:

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

    r560 r782  
    11/*
    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  */
     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*/
    2727
    2828
    2929#include <iostream>
    3030#include <string>
     31
     32#include "core/Debug.h"
    3133#include "AudioObject.h"
    32 #include "../orxonox/core/Debug.h"
    3334
    3435namespace audio
    3536{
    36         AudioObject::AudioObject(std::string audioFile)
    37         {
    38                 audioFile_ = audioFile;
    39                 SourcePos[0]=0;
    40                 SourcePos[1]=0;
    41                 SourcePos[2]=0;
     37  AudioObject::AudioObject(std::string audioFile)
     38  {
     39    audioFile_ = audioFile;
     40    SourcePos[0]=0;
     41    SourcePos[1]=0;
     42    SourcePos[2]=0;
    4243
    43                 SourceVel[0]=0;
    44                 SourceVel[1]=0;
    45                 SourceVel[2]=0;
     44    SourceVel[0]=0;
     45    SourceVel[1]=0;
     46    SourceVel[2]=0;
    4647
    47                 ListenerPos[0]=0;
    48                 ListenerPos[1]=0;
    49                 ListenerPos[2]=0;
     48    ListenerPos[0]=0;
     49    ListenerPos[1]=0;
     50    ListenerPos[2]=0;
    5051
    51                 ListenerVel[0]=0;
    52                 ListenerVel[1]=0;
    53                 ListenerVel[2]=0;
     52    ListenerVel[0]=0;
     53    ListenerVel[1]=0;
     54    ListenerVel[2]=0;
    5455
    55                 ListenerOri[0]=0;
    56                 ListenerOri[1]=0;
    57                 ListenerOri[2]=-1;
    58                 ListenerOri[3]=0;
    59                 ListenerOri[4]=1;
    60                 ListenerOri[5]=0;
     56    ListenerOri[0]=0;
     57    ListenerOri[1]=0;
     58    ListenerOri[2]=-1;
     59    ListenerOri[3]=0;
     60    ListenerOri[4]=1;
     61    ListenerOri[5]=0;
    6162
    6263
    63                 // Initialize OpenAL and clear the error bit.
     64    // Initialize OpenAL and clear the error bit.
    6465
    65                 alutInit(NULL, 0);
    66                 alGetError();
     66    alutInit(NULL, 0);
     67    alGetError();
    6768
    68                 // Load the wav data.
     69    // Load the wav data.
    6970
    70                 if(LoadALData() == AL_FALSE)
    71                 {
    72                     printf("Error loading sound data.");
     71    if(LoadALData() == AL_FALSE)
     72    {
     73      printf("Error loading sound data.");
    7374
    74                 }
     75    }
    7576
    76                 SetListenerValues();
    77                 COUT(3) << "Info: Play sone ambient background sound";
    78         }
     77    SetListenerValues();
     78    COUT(3) << "Info: Play sone ambient background sound";
     79  }
    7980
    80         AudioObject::~AudioObject()
    81         {
    82                 KillALData();
    83         }
     81  AudioObject::~AudioObject()
     82  {
     83    KillALData();
     84  }
    8485
    85         ALboolean AudioObject::LoadALData()
    86         {
    87                 ALenum format;
    88                 ALsizei size;
    89                 ALvoid* data;
    90                 ALsizei freq;
    91                 ALboolean loop;
     86  ALboolean AudioObject::LoadALData()
     87  {
     88    ALenum format;
     89    ALsizei size;
     90    ALvoid* data;
     91    ALsizei freq;
     92    ALboolean loop;
    9293
    9394
    94                 alGenBuffers(1, &Buffer);
     95    alGenBuffers(1, &Buffer);
    9596
    96                 if(alGetError() != AL_NO_ERROR)
    97                         return AL_FALSE;
     97    if(alGetError() != AL_NO_ERROR)
     98      return AL_FALSE;
    9899
    99                 alutLoadWAVFile((ALbyte*)audioFile_.c_str(), &format, &data, &size, &freq, &loop);
    100                 alBufferData(Buffer, format, data, size, freq);
    101                 alutUnloadWAV(format, data, size, freq);
     100    alutLoadWAVFile((ALbyte*)audioFile_.c_str(), &format, &data, &size, &freq, &loop);
     101    alBufferData(Buffer, format, data, size, freq);
     102    alutUnloadWAV(format, data, size, freq);
    102103
    103                 alGenSources(1, &Source);
     104    alGenSources(1, &Source);
    104105
    105                 if(alGetError() != AL_NO_ERROR)
    106                         return AL_FALSE;
     106    if(alGetError() != AL_NO_ERROR)
     107      return AL_FALSE;
    107108
    108                 alSourcei (Source, AL_BUFFER,   Buffer   );
    109                 alSourcef (Source, AL_PITCH,    1.0      );
    110                 alSourcef (Source, AL_GAIN,     1.0      );
    111                 alSourcefv(Source, AL_POSITION, SourcePos);
    112                 alSourcefv(Source, AL_VELOCITY, SourceVel);
    113                 alSourcei (Source, AL_LOOPING,  loop     );
     109    alSourcei (Source, AL_BUFFER,   Buffer   );
     110    alSourcef (Source, AL_PITCH,    1.0      );
     111    alSourcef (Source, AL_GAIN,     1.0      );
     112    alSourcefv(Source, AL_POSITION, SourcePos);
     113    alSourcefv(Source, AL_VELOCITY, SourceVel);
     114    alSourcei (Source, AL_LOOPING,  loop     );
    114115
    115                 if(alGetError() == AL_NO_ERROR)
    116                         return AL_TRUE;
     116    if(alGetError() == AL_NO_ERROR)
     117      return AL_TRUE;
    117118
    118119
    119                 return AL_FALSE;
    120         }
     120    return AL_FALSE;
     121  }
    121122
    122         void AudioObject::SetListenerValues()
    123         {
    124                 alListenerfv(AL_POSITION,    ListenerPos);
    125                 alListenerfv(AL_VELOCITY,    ListenerVel);
    126                 alListenerfv(AL_ORIENTATION, ListenerOri);
    127         }
     123  void AudioObject::SetListenerValues()
     124  {
     125    alListenerfv(AL_POSITION,    ListenerPos);
     126    alListenerfv(AL_VELOCITY,    ListenerVel);
     127    alListenerfv(AL_ORIENTATION, ListenerOri);
     128  }
    128129
    129         void AudioObject::KillALData()
    130         {
    131                 alDeleteBuffers(1, &Buffer);
    132                 alDeleteSources(1, &Source);
    133                 alutExit();
    134         }
     130  void AudioObject::KillALData()
     131  {
     132    alDeleteBuffers(1, &Buffer);
     133    alDeleteSources(1, &Source);
     134    alutExit();
     135  }
    135136
    136         void AudioObject::play()
    137         {
    138                 alSourcePlay(Source);
     137  void AudioObject::play()
     138  {
     139    alSourcePlay(Source);
     140  }
    139141
    140         }
    141142}
    142 
Note: See TracChangeset for help on using the changeset viewer.