public void Apply(Audio.Window source, State resultState) {
				
				source.bypassEffect = resultState.bypassEffect;
				source.bypassListenerEffect = resultState.bypassListenerEffect;
				source.bypassReverbEffect = resultState.bypassReverbEffect;
				source.loop = resultState.loop;
				
				source.priority = resultState.priority;
				source.volume = resultState.volume;
				source.pitch = resultState.pitch;
				source.panStereo = resultState.panStereo;
				source.spatialBlend = resultState.spatialBlend;
				source.reverbZoneMix = resultState.reverbZoneMix;
				
				source.ApplySettings();

			}
			public void Apply(Audio.Window source, State startState, State resultState, float value) {
				
				source.bypassEffect = resultState.bypassEffect;
				source.bypassListenerEffect = resultState.bypassListenerEffect;
				source.bypassReverbEffect = resultState.bypassReverbEffect;
				source.loop = resultState.loop;
				
				source.priority = (int)Mathf.Lerp(startState.priority, resultState.priority, value);
				source.volume = Mathf.Lerp(startState.volume, resultState.volume, value);
				source.pitch = Mathf.Lerp(startState.pitch, resultState.pitch, value);
				source.panStereo = Mathf.Lerp(startState.panStereo, resultState.panStereo, value);
				source.spatialBlend = Mathf.Lerp(startState.spatialBlend, resultState.spatialBlend, value);
				source.reverbZoneMix = Mathf.Lerp(startState.reverbZoneMix, resultState.reverbZoneMix, value);
				
				source.ApplySettings();

			}