source: trunk/nv/fmod/fmod_audio.hh @ 347

Last change on this file since 347 was 347, checked in by epyon, 10 years ago
  • entity_store was a misnomer -> handle_store
  • index_store had two functions, and entity_store double functionality: handle_manager added for pure handle management without index handle_manager+packed_index_array is handle_store (old entity_store) removed old entity_store and index_store
File size: 1.1 KB
RevLine 
[319]1// Copyright (C) 2012-2014 ChaosForge Ltd
[194]2// http://chaosforge.org/
3//
4// This file is part of NV Libraries.
5// For conditions of distribution and use, see copyright notice in nv.hh
6/**
7 * @file fmod_audio.hh
8 * @author Kornel Kisielewicz epyon@chaosforge.org
9 * @brief FMOD Audio interface
10 */
11
12#ifndef NV_FMOD_AUDIO_HH
13#define NV_FMOD_AUDIO_HH
14
[319]15#include <nv/core/common.hh>
[194]16#include <nv/interface/audio.hh>
17
18namespace nv
19{
20
21        namespace fmod
22        {
23                class audio;
24
[329]25                struct sound_info
[194]26                {
[329]27                        void* fmod_sound;
[194]28                };
29
30                class audio : public nv::audio
31                {
32                public:
33                        audio();
[330]34                        virtual channel play_sound( sound a_sound, float volume = 1.0f, float pan = 0.0f );
35                        virtual channel play_sound( sound a_sound, vec3 position );
[329]36                        virtual sound load_sound( const std::string& a_path );
37                        virtual void release( sound a_sound );
[330]38                        virtual void set_orientation( vec3 forward, vec3 up );
39                        virtual void update( vec3 position );
[194]40                        virtual ~audio();
41                private:
[347]42                        handle_store< sound_info, sound >     m_sounds;
[330]43                        vec3                                  m_position;
[194]44                        void* m_system;
45                };
46        }
47}
48
49#endif // NV_FMOD_AUDIO_HH
Note: See TracBrowser for help on using the repository browser.