public RESULT loadBankFile(string name, LOAD_BANK_FLAGS flags, out Bank bank)
 {
     using (StringHelper.ThreadSafeEncoding threadSafeEncoding = StringHelper.GetFreeHelper())
     {
         return(FMOD_Studio_System_LoadBankFile(handle, threadSafeEncoding.byteFromStringUTF8(name), flags, out bank.handle));
     }
 }
        public RESULT loadBankMemory(byte[] buffer, LOAD_BANK_FLAGS flags, out Bank bank)
        {
            GCHandle gCHandle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
            IntPtr   buffer2  = gCHandle.AddrOfPinnedObject();
            RESULT   result   = FMOD_Studio_System_LoadBankMemory(handle, buffer2, buffer.Length, LOAD_MEMORY_MODE.LOAD_MEMORY, flags, out bank.handle);

            gCHandle.Free();
            return(result);
        }
예제 #3
0
        public RESULT loadBankFile(string name, LOAD_BANK_FLAGS flags, out Bank bank)
        {
            bank = null;
            IntPtr raw    = 0;
            RESULT rESULT = System.FMOD_Studio_System_LoadBankFile(this.rawPtr, Encoding.UTF8.GetBytes(name + '\0'), flags, out raw);

            if (rESULT != RESULT.OK)
            {
                return(rESULT);
            }
            bank = new Bank(raw);
            return(rESULT);
        }
예제 #4
0
        public RESULT loadBankMemory(byte[] buffer, LOAD_BANK_FLAGS flags, out Bank bank)
        {
            bank = null;
            IntPtr raw    = 0;
            RESULT rESULT = System.FMOD_Studio_System_LoadBankMemory(this.rawPtr, buffer, buffer.Length, LOAD_MEMORY_MODE.LOAD_MEMORY, flags, out raw);

            if (rESULT != RESULT.OK)
            {
                return(rESULT);
            }
            bank = new Bank(raw);
            return(rESULT);
        }
예제 #5
0
        public RESULT loadBankCustom(BANK_INFO info, LOAD_BANK_FLAGS flags, out Bank bank)
        {
            bank      = null;
            info.size = Marshal.SizeOf(info);
            IntPtr raw    = 0;
            RESULT rESULT = System.FMOD_Studio_System_LoadBankCustom(this.rawPtr, ref info, flags, out raw);

            if (rESULT != RESULT.OK)
            {
                return(rESULT);
            }
            bank = new Bank(raw);
            return(rESULT);
        }
예제 #6
0
        public RESULT loadBankMemory(byte[] buffer, LOAD_BANK_FLAGS flags, out Bank bank)
        {
            bank = null;
            IntPtr   raw      = 0;
            GCHandle gCHandle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
            IntPtr   buffer2  = gCHandle.AddrOfPinnedObject();
            RESULT   rESULT   = System.FMOD_Studio_System_LoadBankMemory(this.rawPtr, buffer2, buffer.Length, LOAD_MEMORY_MODE.LOAD_MEMORY, flags, out raw);

            gCHandle.Free();
            if (rESULT != RESULT.OK)
            {
                return(rESULT);
            }
            bank = new Bank(raw);
            return(rESULT);
        }
예제 #7
0
        public RESULT loadBankFile(string name, LOAD_BANK_FLAGS flags, out Bank bank)
        {
            bank = null;

            IntPtr newPtr = new IntPtr();
            RESULT result = FMOD_Studio_System_LoadBankFile(rawPtr, Encoding.UTF8.GetBytes(name + Char.MinValue), flags, out newPtr);
            if (result != RESULT.OK)
            {
                return result;
            }

            bank = new Bank(newPtr);
            return result;
        }
예제 #8
0
 private static extern RESULT FMOD_Studio_System_LoadBankCustom          (IntPtr studiosystem, ref BANK_INFO info, LOAD_BANK_FLAGS flags, out IntPtr bank);
예제 #9
0
 private static extern RESULT FMOD_Studio_System_LoadBankMemory(IntPtr studiosystem, IntPtr buffer, int length, LOAD_MEMORY_MODE mode, LOAD_BANK_FLAGS flags, out IntPtr bank);
예제 #10
0
 private static extern RESULT FMOD_Studio_System_LoadBankFile            (IntPtr studiosystem, byte[] filename, LOAD_BANK_FLAGS flags, out IntPtr bank);
예제 #11
0
            public RESULT loadBankMemory(byte[] buffer, LOAD_BANK_FLAGS flags, out Bank bank)
            {
                bank = null;

                IntPtr newPtr = new IntPtr();
                RESULT result = FMOD_Studio_System_LoadBankMemory(rawPtr, buffer, buffer.Length, LOAD_MEMORY_MODE.LOAD_MEMORY, flags, out newPtr);
                if (result != RESULT.OK)
                {
                return result;
                }

                bank = new Bank(newPtr);
                return result;
            }
예제 #12
0
 private static extern RESULT FMOD_Studio_System_LoadBankCustom(IntPtr studiosystem, ref BANK_INFO info, LOAD_BANK_FLAGS flags, out IntPtr bank);
예제 #13
0
 private static extern RESULT FMOD_Studio_System_LoadBankFile(IntPtr studiosystem, byte[] filename, LOAD_BANK_FLAGS flags, out IntPtr bank);
 public RESULT loadBankCustom(BANK_INFO info, LOAD_BANK_FLAGS flags, out Bank bank)
 {
     info.size = Marshal.SizeOf(info);
     return(FMOD_Studio_System_LoadBankCustom(handle, ref info, flags, out bank.handle));
 }
예제 #15
0
        public RESULT loadBankMemory(byte[] buffer, LOAD_BANK_FLAGS flags, out Bank bank)
        {
            bank = null;

            IntPtr newPtr = new IntPtr();

            // Manually pin the byte array. It's what the marshaller should do anyway but don't leave it to chance.
            GCHandle pinnedArray = GCHandle.Alloc(buffer, GCHandleType.Pinned);
            IntPtr pointer = pinnedArray.AddrOfPinnedObject();
            RESULT result = FMOD_Studio_System_LoadBankMemory(rawPtr, pointer, buffer.Length, LOAD_MEMORY_MODE.LOAD_MEMORY, flags, out newPtr);
            pinnedArray.Free();
            if (result != RESULT.OK)
            {
                return result;
            }

            bank = new Bank(newPtr);
            return result;
        }
예제 #16
0
        public RESULT loadBankCustom(BANK_INFO info, LOAD_BANK_FLAGS flags, out Bank bank)
        {
            bank = null;

            info.size = Marshal.SizeOf(info);

            IntPtr newPtr = new IntPtr();
            RESULT result = FMOD_Studio_System_LoadBankCustom(rawPtr, ref info, flags, out newPtr);
            if (result != RESULT.OK)
            {
                return result;
            }

            bank = new Bank(newPtr);
            return result;
        }
예제 #17
0
 private static extern RESULT FMOD_Studio_System_LoadBankMemory(IntPtr studiosystem, IntPtr buffer, int length, LOAD_MEMORY_MODE mode, LOAD_BANK_FLAGS flags, out IntPtr bank);