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

Last change on this file since 319 was 319, checked in by epyon, 11 years ago
  • created core module and moved all free source files there
  • took the opportunity to update all copyright lines and minor cleanup
  • minor fixes
  • not all examples are up to date
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
25                class sound : public nv::sound
26                {
27                private:
28                        friend class nv::fmod::audio;
29                        sound( void* data ) : m_sound( data ) {}
30                public:
31                        virtual ~sound();
32                private:
33                        void* m_sound;
34                };
35
36                class channel : public nv::channel
37                {
38                private:
39                        friend class nv::fmod::audio;
40                        virtual ~channel() {}
41                };
42
43                class audio : public nv::audio
44                {
45                public:
46                        audio();
47                        virtual nv::channel* play_sound( nv::sound* a_sound );
48                        virtual nv::sound* load_sound( const std::string& a_path );
49                        virtual void update();
50                        virtual ~audio();
51                private:
52                        void* m_system;
53                };
54        }
55}
56
57#endif // NV_FMOD_AUDIO_HH
Note: See TracBrowser for help on using the repository browser.