This URL has Read-Only access.

Statistics
| Branch: | Tag: | Revision:

root / src / spin / SoundSpace.cpp @ 9d70071e

History | View | Annotate | Download (3.3 kB)

1 1cd71ec4 Mike Wozniewski
// -----------------------------------------------------------------------------
2 1cd71ec4 Mike Wozniewski
// |    ___  ___  _  _ _     ___                                        _      |
3 1cd71ec4 Mike Wozniewski
// |   / __>| . \| || \ |   | __>_ _  ___ ._ _ _  ___  _ _ _  ___  _ _ | |__   |
4 1cd71ec4 Mike Wozniewski
// |   \__ \|  _/| ||   |   | _>| '_><_> || ' ' |/ ._>| | | |/ . \| '_>| / /   |
5 1cd71ec4 Mike Wozniewski
// |   <___/|_|  |_||_\_|   |_| |_|  <___||_|_|_|\___.|__/_/ \___/|_|  |_\_\   |
6 1cd71ec4 Mike Wozniewski
// |                                                                           |
7 1cd71ec4 Mike Wozniewski
// |---------------------------------------------------------------------------|
8 1cd71ec4 Mike Wozniewski
//
9 1cd71ec4 Mike Wozniewski
// http://spinframework.sourceforge.net
10 1cd71ec4 Mike Wozniewski
// Copyright (C) 2009 Mike Wozniewski, Zack Settel
11 1cd71ec4 Mike Wozniewski
//
12 1cd71ec4 Mike Wozniewski
// Developed/Maintained by:
13 1cd71ec4 Mike Wozniewski
//    Mike Wozniewski (http://www.mikewoz.com)
14 1cd71ec4 Mike Wozniewski
//    Zack Settel (http://www.sheefa.net/zack)
15 1cd71ec4 Mike Wozniewski
// 
16 1cd71ec4 Mike Wozniewski
// Principle Partners:
17 1cd71ec4 Mike Wozniewski
//    Shared Reality Lab, McGill University (http://www.cim.mcgill.ca/sre)
18 ee9dbbc4 Mike Wozniewski
//    La Societe des Arts Technologiques (http://www.sat.qc.ca)
19 1cd71ec4 Mike Wozniewski
//
20 1cd71ec4 Mike Wozniewski
// Funding by:
21 f4cf6bf7 Mike Wozniewski
//    NSERC/Canada Council for the Arts - New Media Initiative
22 1cd71ec4 Mike Wozniewski
//    Heritage Canada
23 1cd71ec4 Mike Wozniewski
//    Ministere du Developpement economique, de l'Innovation et de l'Exportation
24 f4cf6bf7 Mike Wozniewski
//
25 1cd71ec4 Mike Wozniewski
// -----------------------------------------------------------------------------
26 1cd71ec4 Mike Wozniewski
//  This file is part of the SPIN Framework.
27 f4cf6bf7 Mike Wozniewski
//
28 1cd71ec4 Mike Wozniewski
//  SPIN Framework is free software: you can redistribute it and/or modify
29 1cd71ec4 Mike Wozniewski
//  it under the terms of the GNU Lesser General Public License as published by
30 1cd71ec4 Mike Wozniewski
//  the Free Software Foundation, either version 3 of the License, or
31 1cd71ec4 Mike Wozniewski
//  (at your option) any later version.
32 f4cf6bf7 Mike Wozniewski
//
33 1cd71ec4 Mike Wozniewski
//  SPIN Framework is distributed in the hope that it will be useful,
34 1cd71ec4 Mike Wozniewski
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
35 1cd71ec4 Mike Wozniewski
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
36 1cd71ec4 Mike Wozniewski
//  GNU Lesser General Public License for more details.
37 1cd71ec4 Mike Wozniewski
//
38 1bafae5a Mike Wozniewski
//  You should have received a copy of the GNU Lesser General Public License
39 1cd71ec4 Mike Wozniewski
//  along with SPIN Framework. If not, see <http://www.gnu.org/licenses/>.
40 1cd71ec4 Mike Wozniewski
// -----------------------------------------------------------------------------
41 f4cf6bf7 Mike Wozniewski
42 f4cf6bf7 Mike Wozniewski
43 1bafae5a Mike Wozniewski
#include "SoundSpace.h"
44 1bafae5a Mike Wozniewski
#include "SceneManager.h"
45 37cf382e Tristan Matthews
#include "spinApp.h"
46 37cf382e Tristan Matthews
#include "spinBaseContext.h"
47 f4cf6bf7 Mike Wozniewski
48 f4cf6bf7 Mike Wozniewski
using namespace std;
49 f4cf6bf7 Mike Wozniewski
50 1bafae5a Mike Wozniewski
//extern SceneManager *sceneManager;
51 f4cf6bf7 Mike Wozniewski
52 b34988f6 Alexandre Quessy
namespace spin
53 b34988f6 Alexandre Quessy
{
54 f4cf6bf7 Mike Wozniewski
55 f4cf6bf7 Mike Wozniewski
// ===================================================================
56 f4cf6bf7 Mike Wozniewski
// constructor:
57 1bafae5a Mike Wozniewski
SoundSpace::SoundSpace (SceneManager *sceneManager, char *initID) : DSPNode(sceneManager, initID)
58 f4cf6bf7 Mike Wozniewski
{
59 1bafae5a Mike Wozniewski
        nodeType = "SoundSpace";
60 f4cf6bf7 Mike Wozniewski
        absorption = 0.6;
61 f4cf6bf7 Mike Wozniewski
        filterCoef = 0.0;
62 f4cf6bf7 Mike Wozniewski
        transition = 0.0;
63 f4cf6bf7 Mike Wozniewski
}
64 f4cf6bf7 Mike Wozniewski
65 f4cf6bf7 Mike Wozniewski
// ===================================================================
66 f4cf6bf7 Mike Wozniewski
// destructor
67 1bafae5a Mike Wozniewski
SoundSpace::~SoundSpace()
68 f4cf6bf7 Mike Wozniewski
{
69 f4cf6bf7 Mike Wozniewski
70 f4cf6bf7 Mike Wozniewski
}
71 f4cf6bf7 Mike Wozniewski
72 f4cf6bf7 Mike Wozniewski
// ===================================================================
73 f4cf6bf7 Mike Wozniewski
// ======================= DRAW METHODS: =============================
74 f4cf6bf7 Mike Wozniewski
// ===================================================================
75 f4cf6bf7 Mike Wozniewski
76 1bafae5a Mike Wozniewski
void SoundSpace::setAbsorption (t_floatarg newval)
77 f4cf6bf7 Mike Wozniewski
{
78 f4cf6bf7 Mike Wozniewski
        absorption = newval;
79 f4cf6bf7 Mike Wozniewski
        BROADCAST(this, "sf", "setAbsorption", absorption);
80 f4cf6bf7 Mike Wozniewski
}
81 f4cf6bf7 Mike Wozniewski
82 1bafae5a Mike Wozniewski
void SoundSpace::setFilterCoef (t_floatarg newval)
83 f4cf6bf7 Mike Wozniewski
{
84 f4cf6bf7 Mike Wozniewski
        filterCoef = newval;
85 f4cf6bf7 Mike Wozniewski
        BROADCAST(this, "sf", "setFilterCoef", filterCoef);
86 f4cf6bf7 Mike Wozniewski
}
87 f4cf6bf7 Mike Wozniewski
88 1bafae5a Mike Wozniewski
void SoundSpace::setTransition (t_floatarg newval)
89 f4cf6bf7 Mike Wozniewski
{
90 f4cf6bf7 Mike Wozniewski
        transition = newval;
91 f4cf6bf7 Mike Wozniewski
        BROADCAST(this, "sf", "setTransition", transition);
92 f4cf6bf7 Mike Wozniewski
}
93 f4cf6bf7 Mike Wozniewski
94 c14c8526 Tristan Matthews
std::vector<lo_message> SoundSpace::getState () const
95 f4cf6bf7 Mike Wozniewski
{
96 f4cf6bf7 Mike Wozniewski
        std::vector<lo_message> ret;
97 f4cf6bf7 Mike Wozniewski
        return ret;
98 f4cf6bf7 Mike Wozniewski
}
99 f4cf6bf7 Mike Wozniewski
100 b34988f6 Alexandre Quessy
} // end of namespace spin