public RESULT getGroupByIndex(int index, bool cacheevents, ref EventGroup group)
		{
			RESULT result = RESULT.OK;
			IntPtr groupraw = new IntPtr();
			EventGroup groupnew = null;

			try
			{
				result = FMOD_EventGroup_GetGroupByIndex(eventgroupraw, index, (cacheevents ? 1 : 0), ref groupraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (group == null)
			{
				groupnew = new EventGroup();
				groupnew.setRaw(groupraw);
				group = groupnew;
			}
			else
			{
				group.setRaw(groupraw);
			}

			return result;
		}
		public RESULT getParentGroup(ref EventGroup group)
		{
			RESULT result = RESULT.OK;
			IntPtr eventgroupraw = new IntPtr();
			EventGroup eventgroupnew = null;

			try
			{
				result = FMOD_Event_GetParentGroup(eventraw, ref eventgroupraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (group == null)
			{
				eventgroupnew = new EventGroup();
				eventgroupnew.setRaw(eventgroupraw);
				group = eventgroupnew;
			}
			else
			{
				group.setRaw(eventgroupraw);
			}

			return result;
		}
		public RESULT getGroup(string name, bool cacheevents, ref EventGroup group)
		{
			RESULT result = RESULT.OK;
			IntPtr eventgroupraw = new IntPtr();
			EventGroup eventgroupnew = null;

			try
			{
				result = FMOD_EventProject_GetGroup(eventprojectraw, name, (cacheevents ? 1 : 0), ref eventgroupraw);
			}
			catch
			{
				result = RESULT.ERR_INVALID_PARAM;
			}
			if (result != RESULT.OK)
			{
				return result;
			}

			if (group == null)
			{
				eventgroupnew = new EventGroup();
				eventgroupnew.setRaw(eventgroupraw);
				group = eventgroupnew;
			}
			else
			{
				group.setRaw(eventgroupraw);
			}

			return result;
		}