diff --git a/VACS.cs b/VACS.cs index 8cd87d0bc45282e942a4bcc628d296ae63fecf46..ce9d234b50c0bcc8b898019959d5106fb6c5a4e4 100644 --- a/VACS.cs +++ b/VACS.cs @@ -111,9 +111,9 @@ namespace VA NativeFreeHRIRDataset(_NetClient, HRIR); } - public void SetAudiofileSignalSourcePlaybackAction(string sSignalSourceID, int iPlayState) + public void SetAudiofileSignalSourcePlaybackAction(string sSignalSourceID, string sPlayState) { - NativeSetAudiofileSignalSourcePlaybackAction(_NetClient, sSignalSourceID, iPlayState); + NativeSetAudiofileSignalSourcePlaybackAction(_NetClient, sSignalSourceID, sPlayState); } public void SetAudiofileSignalSourcePlaybackPosition(string sSignalSourceID, double dPlaybackPosition) @@ -286,7 +286,7 @@ namespace VA //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSignalSourceInfo( IntPtr pClient, string sSignalSourceID, CVASignalSourceInfo& ); //[ DllImport( "VANetCSWrapper" ) ] private static extern void NativeGetSignalSourceInfos( IntPtr pClient, std::vector<CVASignalSourceInfo>& vssiDest ); [ DllImport( "VANetCSWrapper" ) ] private static extern int NativeGetAudiofileSignalSourcePlaybackState( IntPtr pClient, string sSignalSourceID ); - [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetAudiofileSignalSourcePlaybackAction( IntPtr pClient, string sSignalSourceID, int iPlayState ); + [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetAudiofileSignalSourcePlaybackAction( IntPtr pClient, string sSignalSourceID, string sPlayState ); [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetAudiofileSignalSourcePlaybackPosition( IntPtr pClient, string sSignalSourceID, double dPlaybackPosition ); [ DllImport( "VANetCSWrapper" ) ] private static extern bool NativeGetAudiofileSignalSourceIsLooping( IntPtr pClient, string sSignalSourceID ); [ DllImport( "VANetCSWrapper" ) ] private static extern void NativeSetAudiofileSignalSourceIsLooping( IntPtr pClient, string sSignalSourceID, bool bLooping ); diff --git a/VAUListener.cs b/VAUListener.cs index 687794621c75a95135f88b18bda59c35beda43ca..706d0f4d0a965f6082268f60aaf50007fb2cc710 100644 --- a/VAUListener.cs +++ b/VAUListener.cs @@ -25,7 +25,7 @@ public class VAUListener : MonoBehaviour { { _VA = VAUAdapter.VA; Listener = _VA.CreateListener(listenername, 0, VAUAdapter.DefaultHRIR); - _VA.SetSoundSourceAuralizationMode(Listener, "all"); + _VA.SetListenerAuralizationMode(Listener, "all"); Debug.Log("Listener " + Listener + " created"); _VA.SetListenerHRIRDataset(Listener, VAUAdapter.DefaultHRIR); if (GetComponent<VAUAuralizationMode>() != null) @@ -59,4 +59,11 @@ public class VAUListener : MonoBehaviour { if (GetComponent<VAUAuralizationMode>() != null) GetComponent<VAUAuralizationMode>().AuraStringChanged -= OnListenerAuralizationModeChanged; } + void OnDestroy() + { + if (_VA.IsConnected()) + { + _VA.DeleteListener(Listener); + } + } } diff --git a/VAUReverbZone.cs b/VAUReverbZone.cs new file mode 100644 index 0000000000000000000000000000000000000000..45e3230ae24a6b77e8f76addbbf478b560e2ca92 --- /dev/null +++ b/VAUReverbZone.cs @@ -0,0 +1,10 @@ +using UnityEngine; +using System.Collections; + +public class VAUReverbZone : MonoBehaviour { + + void OnTriggerEnter(Collider col) + { + Debug.Log("ReverbZone aktualisiert."); + } +} diff --git a/VAUSoundSource.cs b/VAUSoundSource.cs index 0f3e5a6c640888d80db0980b9118fbdf531c50ae..5d69ae04a0b88e39b0ce3e70b6edd2338923fe01 100644 --- a/VAUSoundSource.cs +++ b/VAUSoundSource.cs @@ -9,7 +9,7 @@ public class VAUSoundSource : MonoBehaviour { public string directivitypath = ""; private int directivity; private int Gain = 1; - public string SignalSource = ""; + private string SignalSource = ""; private VANet _VA = null; private int SoundSource; private Quaternion q; @@ -24,6 +24,13 @@ public class VAUSoundSource : MonoBehaviour { return SoundSource; } } + public string SignalSourceID + { + get + { + return SignalSource; + } + } // Use this for initialization void Start() @@ -41,7 +48,7 @@ public class VAUSoundSource : MonoBehaviour { SignalSource = _VA.CreateAudiofileSignalSource( AssetDatabase.GetAssetPath(GetComponent<AudioSource>().clip), this.name + "_signal"); _VA.SetSoundSourceSignalSource(SoundSource, SignalSource); Debug.Log(SignalSource + " connected to SoundSource " + SoundSource); - _VA.SetAudiofileSignalSourcePlaybackAction(SignalSource, 2); + _VA.SetAudiofileSignalSourcePlaybackAction(SignalSource, "PLAYING"); _VA.SetAudiofileSignalSourceIsLooping(SignalSource, islooping); } if (GetComponent<VAUAuralizationMode>() != null) @@ -52,6 +59,15 @@ public class VAUSoundSource : MonoBehaviour { // Update is called once per frame void Update() + { + + SetSoundSourcePosition(); + SetSoundSourcePlaybackState(); + //_VA.SetSoundSourceVolume(SoundSource, Volume); <- flaot ändern + + } + + void SetSoundSourcePosition() { //position and oritentation -> VA t = GetComponent<Transform>(); @@ -60,22 +76,28 @@ public class VAUSoundSource : MonoBehaviour { Vector3 view = q * Vector3.forward; Vector3 view_ogl = new Vector3(view.x, view.y, -view.z); Vector3 up_ogl = new Vector3(up.x, up.y, -up.z); - _VA.SetSoundSourcePositionOrientationVU(SoundSource, t.transform.position.x, t.transform.position.y, -t.transform.position.z, view_ogl.x, view_ogl.y, view_ogl.z, up_ogl.x, up_ogl.y, up_ogl.z); - //_VA.SetSoundSourceOrientationVU(SoundSource, view_ogl.x, view_ogl.y, view_ogl.z, up_ogl.x, up_ogl.y, up_ogl.z); - //_VA.SetSoundSourcePosition(SoundSource, t.transform.position.x, t.transform.position.y, -t.transform.position.z); - ismuted = GetComponent<AudioSource>().mute; - _VA.SetSoundSourceMuted(SoundSource, ismuted); - //_VA.SetSoundSourceVolume(SoundSource, Volume); <- flaot ändern - } + + void SetSoundSourcePlaybackState() + { + _VA.SetSoundSourceMuted(SoundSource, GetComponent<AudioSource>().mute); + } + void OnSoundSourceAuralizationModeChanged(string AuraMode) { _VA.SetSoundSourceAuralizationMode(SoundSource, AuraMode); } - void OnDisable() + public void OnDisable() { if (GetComponent<VAUAuralizationMode>() != null) GetComponent<VAUAuralizationMode>().AuraStringChanged -= OnSoundSourceAuralizationModeChanged; } + void OnDestroy() + { + if (_VA.IsConnected()) + { + _VA.DeleteSoundSource(SoundSource); + } + } }