示例#1
0
		public RESULT getOutput(ref DSP output)
		{
			RESULT result = RESULT.OK;
			IntPtr dspraw = new IntPtr();
			DSP dspnew = null;

			try
			{
				result = FMOD_DSPConnection_GetOutput(dspconnectionraw, ref dspraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (output == null)
			{
				dspnew = new DSP();
				dspnew.setRaw(dspraw);
				output = dspnew;
			}
			else
			{
				output.setRaw(dspraw);
			}

			return result;
		}
示例#2
0
		public RESULT getInput(int index, ref DSP input, ref DSPConnection inputconnection)
		{
			RESULT result = RESULT.OK;
			IntPtr dsprawnew = new IntPtr();
			DSP dspnew = null;
			IntPtr dspconnectionraw = new IntPtr();
			DSPConnection dspconnectionnew = null;

			try
			{
				result = FMOD_DSP_GetInput(dspraw, index, ref dsprawnew, ref dspconnectionraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (input == null)
			{
				dspnew = new DSP();
				dspnew.setRaw(dsprawnew);
				input = dspnew;
			}
			else
			{
				input.setRaw(dsprawnew);
			}

			if (inputconnection == null)
			{
				dspconnectionnew = new DSPConnection();
				dspconnectionnew.setRaw(dspconnectionraw);
				inputconnection = dspconnectionnew;
			}
			else
			{
				inputconnection.setRaw(dspconnectionraw);
			}

			return result;
		}
示例#3
0
		public RESULT createDSPByType(DSP_TYPE type, ref DSP dsp)
		{
			RESULT result = RESULT.OK;
			IntPtr dspraw = new IntPtr();
			DSP dspnew = null;

			try
			{
				result = FMOD_System_CreateDSPByType(systemraw, type, ref dspraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (dsp == null)
			{
				dspnew = new DSP();
				dspnew.setRaw(dspraw);
				dsp = dspnew;
			}
			else
			{
				dsp.setRaw(dspraw);
			}

			return result;
		}
示例#4
0
		// DSP functionality only for channel groups playing sounds created with FMOD_SOFTWARE.
		public RESULT getDSPHead(ref DSP dsp)
		{
			RESULT result = RESULT.OK;
			IntPtr dspraw = new IntPtr();
			DSP dspnew = null;

			try
			{
				result = FMOD_ChannelGroup_GetDSPHead(channelgroupraw, ref dspraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (dsp == null)
			{
				dspnew = new DSP();
				dspnew.setRaw(dspraw);
				dsp = dspnew;
			}
			else
			{
				dsp.setRaw(dspraw);
			}

			return result;
		}
示例#5
0
		public RESULT createDSP(ref DSP_DESCRIPTION description, ref DSP dsp)
		{
			RESULT result = RESULT.OK;
			IntPtr dspraw = new IntPtr();
			DSP dspnew = null;

			try
			{
				result = FMOD_System_CreateDSP(systemraw, ref description, ref dspraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (dsp == null)
			{
				dspnew = new DSP();
				dspnew.setRaw(dspraw);
				dsp = dspnew;
			}
			else
			{
				dsp.setRaw(dspraw);
			}

			return result;
		}