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

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