public RESULT getCategory(ref EventCategory category)
        {
            RESULT result             = RESULT.OK;
            IntPtr categoryraw        = new IntPtr();
            EventCategory categorynew = null;

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

            if (category == null)
            {
                categorynew = new EventCategory();
                categorynew.setRaw(categoryraw);
                category = categorynew;
            }
            else
            {
                category.setRaw(categoryraw);
            }

            return result;
        }
        public RESULT getMusicCategory(ref EventCategory category)
        {
            RESULT result = RESULT.OK;
            IntPtr musiccategoryraw = new IntPtr();
            EventCategory musiccategorynew = null;

            try
            {
                result = FMOD_EventSystem_GetMusicCategory(eventsystemraw, ref musiccategoryraw);
            }
            catch
            {
                result = RESULT.ERR_INVALID_PARAM;
            }
            if (result != RESULT.OK)
            {
                return result;
            }

            if (category == null)
            {
                musiccategorynew = new EventCategory();
                musiccategorynew.setRaw(musiccategoryraw);
                category = musiccategorynew;
            }
            else
            {
                category.setRaw(musiccategoryraw);
            }

            return result;
        }
 public RESULT includeDuckingCategory(EventCategory category, float ducked_volume, float unducked_volume, uint duck_time, uint unduck_time)
 {
     return FMOD_EventQueue_IncludeDuckingCategory(eventqueueraw, category.getRaw(), ducked_volume, unducked_volume, duck_time, unduck_time);
 }
        public RESULT getCategoryByIndex(int index, ref EventCategory category)
        {
            RESULT result                    = RESULT.OK;
            IntPtr eventcategoryraw          = new IntPtr();
            EventCategory eventcategorynew   = null;

            try
            {
                result = FMOD_EventSystem_GetCategoryByIndex(eventsystemraw, index, ref eventcategoryraw);
            }
            catch
            {
                result = RESULT.ERR_INVALID_PARAM;
            }
            if (result != RESULT.OK)
            {
                return result;
            }

            if (category == null)
            {
                eventcategorynew = new EventCategory();
                eventcategorynew.setRaw(eventcategoryraw);
                category = eventcategorynew;
            }
            else
            {
                category.setRaw(eventcategoryraw);
            }

            return result;
        }
 public RESULT excludeDuckingCategory(EventCategory category)
 {
     return FMOD_EventQueue_ExcludeDuckingCategory(eventqueueraw, category.getRaw());
 }