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

            try
            {
                result = FMOD_EventSystem_GetGroup(eventsystemraw, 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;
        }
        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 getGroupByIndex(int index, bool cacheevents, ref EventGroup group)
        {
            RESULT      result        = RESULT.OK;
            IntPtr      eventgroupraw = new IntPtr();
            EventGroup  eventgroupnew = null;

            try
            {
                result = FMOD_EventProject_GetGroupByIndex(eventprojectraw, index, (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;
        }