예제 #1
0
        public int GetTotalMilliseconds(TIMEUNIT un = TIMEUNIT.MS)
        {
            uint pos = 0;

            songChannel1.getPosition(ref pos, un);
            return((int)pos);
        }
 public RESULT addSyncPoint(uint offset, TIMEUNIT offsettype, string name, out IntPtr point)
 {
     using (StringHelper.ThreadSafeEncoding threadSafeEncoding = StringHelper.GetFreeHelper())
     {
         return(FMOD5_Sound_AddSyncPoint(handle, offset, offsettype, threadSafeEncoding.byteFromStringUTF8(name), out point));
     }
 }
예제 #3
0
        //private static uint GetLengthSamples(Sound fmodSound)
        //{
        //    return GetLength(fmodSound, TIMEUNIT.PCM);
        //}

        private static uint GetLength(Sound fmodSound, TIMEUNIT unit)
        {
            uint length = 0;
            var  result = fmodSound.getLength(ref length, unit);

            if (RESULT.OK != result)
            {
                throw FMODPlayer.GetException("Unable to get length of sound", result);
            }
            return(length);
        }
예제 #4
0
        public RESULT getPosition(ref uint position, TIMEUNIT postype)
        {
            RESULT result;

            if (VERSION.platform == Platform.X64)
            {
                result = Channel.FMOD_Channel_GetPosition_64(channelraw, ref position, postype);
            }
            else
            {
                result = Channel.FMOD_Channel_GetPosition_32(channelraw, ref position, postype);
            }
            return(result);
        }
예제 #5
0
        public RESULT getLength(ref uint length, TIMEUNIT lengthtype)
        {
            RESULT result;

            if (VERSION.platform == Platform.X64)
            {
                result = Sound.FMOD_Sound_GetLength_64(soundraw, ref length, lengthtype);
            }
            else
            {
                result = Sound.FMOD_Sound_GetLength_32(soundraw, ref length, lengthtype);
            }
            return(result);
        }
예제 #6
0
 public RESULT setLoopPoints(uint loopstart, TIMEUNIT loopstarttype, uint loopend, TIMEUNIT loopendtype)
 {
     return FMOD5_Channel_SetLoopPoints(getRaw(), loopstart, loopstarttype, loopend, loopendtype);
 }
예제 #7
0
 public RESULT addSyncPoint(uint offset, TIMEUNIT offsettype, string name, out IntPtr point)
 {
     return(Sound.FMOD5_Sound_AddSyncPoint(this.rawPtr, offset, offsettype, name, out point));
 }
예제 #8
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 private static extern RESULT FMOD_Sound_SetLoopPoints(IntPtr sound, uint loopstart, TIMEUNIT loopstarttype, uint loopend, TIMEUNIT loopendtype);
예제 #9
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 public RESULT setLoopPoints(uint loopstart, TIMEUNIT loopstarttype, uint loopend, TIMEUNIT loopendtype)
 {
     return FMOD_Sound_SetLoopPoints(soundraw, loopstart, loopstarttype, loopend, loopendtype);
 }
예제 #10
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 public RESULT addSyncPoint(uint offset, TIMEUNIT offsettype, string name, ref IntPtr point)
 {
     return FMOD_Sound_AddSyncPoint(soundraw, offset, offsettype, name, ref point);
 }
예제 #11
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 public RESULT setLoopPoints(uint loopstart, TIMEUNIT loopstarttype, uint loopend, TIMEUNIT loopendtype)
 {
     return FMOD_Channel_SetLoopPoints(channelraw, loopstart, loopstarttype, loopend, loopendtype);
 }
예제 #12
0
 public RESULT getPosition           (out uint position, TIMEUNIT postype)
 {
     return FMOD_Channel_GetPosition(getRaw(), out position, postype);
 }
예제 #13
0
 private static extern RESULT FMOD_Sound_AddSyncPoint(IntPtr sound, int offset, TIMEUNIT offsettype, string name, ref IntPtr point);
 public RESULT getSyncPointInfo(IntPtr point, out uint offset, TIMEUNIT offsettype)
 {
     return(FMOD5_Sound_GetSyncPointInfo(handle, point, IntPtr.Zero, 0, out offset, offsettype));
 }
        public RESULT getSyncPointInfo(IntPtr point, out string name, int namelen, out uint offset, TIMEUNIT offsettype)
        {
            IntPtr intPtr = Marshal.AllocHGlobal(namelen);
            RESULT result = FMOD5_Sound_GetSyncPointInfo(handle, point, intPtr, namelen, out offset, offsettype);

            using (StringHelper.ThreadSafeEncoding threadSafeEncoding = StringHelper.GetFreeHelper())
            {
                name = threadSafeEncoding.stringFromNative(intPtr);
            }
            Marshal.FreeHGlobal(intPtr);
            return(result);
        }
예제 #16
0
 public RESULT getLength(out uint length, TIMEUNIT lengthtype)
 {
     return(Sound.FMOD5_Sound_GetLength(this.rawPtr, out length, lengthtype));
 }
예제 #17
0
 //following function is not from original author
 /// <summary>
 /// set the time position
 /// </summary>
 /// <param name="time">time in milliseconds</param>
 public void SetTimePosition(uint time, TIMEUNIT un = TIMEUNIT.MS)
 {
     songChannel1.setPosition(time, un);
 }
예제 #18
0
 public RESULT getLoopPoints(out uint loopstart, TIMEUNIT loopstarttype, out uint loopend, TIMEUNIT loopendtype)
 {
     return(Sound.FMOD5_Sound_GetLoopPoints(this.rawPtr, out loopstart, loopstarttype, out loopend, loopendtype));
 }
예제 #19
0
 public RESULT setLoopPoints(uint loopstart, TIMEUNIT loopstarttype, uint loopend, TIMEUNIT loopendtype)
 {
     return(Sound.FMOD5_Sound_SetLoopPoints(this.rawPtr, loopstart, loopstarttype, loopend, loopendtype));
 }
예제 #20
0
 public RESULT getLength               (out uint length, TIMEUNIT lengthtype)
 {
     return FMOD_Sound_GetLength(rawPtr, out length, lengthtype);
 }
예제 #21
0
 public RESULT addSyncPoint            (uint offset, TIMEUNIT offsettype, string name, out IntPtr point)
 {
     return FMOD_Sound_AddSyncPoint(rawPtr, offset, offsettype, name, out point);
 }
 public RESULT setLoopPoints(uint loopstart, TIMEUNIT loopstarttype, uint loopend, TIMEUNIT loopendtype)
 {
     return(FMOD5_Sound_SetLoopPoints(handle, loopstart, loopstarttype, loopend, loopendtype));
 }
예제 #23
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 public RESULT getLoopPoints(ref uint loopstart, TIMEUNIT loopstarttype, ref uint loopend, TIMEUNIT loopendtype)
 {
     return FMOD_Channel_GetLoopPoints(channelraw, ref loopstart, loopstarttype, ref loopend, loopendtype);
 }
 public RESULT getLoopPoints(out uint loopstart, TIMEUNIT loopstarttype, out uint loopend, TIMEUNIT loopendtype)
 {
     return(FMOD5_Sound_GetLoopPoints(handle, out loopstart, loopstarttype, out loopend, loopendtype));
 }
예제 #25
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 private static extern RESULT FMOD_Channel_SetLoopPoints(IntPtr channel, uint  loopstart, TIMEUNIT loopstarttype, uint  loopend, TIMEUNIT loopendtype);
 private static extern RESULT FMOD5_Sound_GetLength(IntPtr sound, out uint length, TIMEUNIT lengthtype);
예제 #27
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 public RESULT getLoopPoints(ref uint loopstart, TIMEUNIT loopstarttype, ref uint loopend, TIMEUNIT loopendtype)
 {
     return FMOD_Sound_GetLoopPoints(soundraw, ref loopstart, loopstarttype, ref loopend, loopendtype);
 }
 private static extern RESULT FMOD5_Sound_GetSyncPointInfo(IntPtr sound, IntPtr point, IntPtr name, int namelen, out uint offset, TIMEUNIT offsettype);
예제 #29
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 private static extern RESULT FMOD_Sound_GetLength(IntPtr sound, ref uint length, TIMEUNIT lengthtype);
 private static extern RESULT FMOD5_Sound_AddSyncPoint(IntPtr sound, uint offset, TIMEUNIT offsettype, byte[] name, out IntPtr point);
예제 #31
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 public RESULT setStreamBufferSize(uint filebuffersize, TIMEUNIT filebuffersizetype)
 {
     return FMOD_System_SetStreamBufferSize(systemraw, filebuffersize, filebuffersizetype);
 }
 private static extern RESULT FMOD5_Sound_GetLoopPoints(IntPtr sound, out uint loopstart, TIMEUNIT loopstarttype, out uint loopend, TIMEUNIT loopendtype);
예제 #33
0
 public RESULT setPosition           (uint position, TIMEUNIT postype)
 {
     return FMOD5_Channel_SetPosition(getRaw(), position, postype);
 }
 public RESULT getLength(out uint length, TIMEUNIT lengthtype)
 {
     return(FMOD5_Sound_GetLength(handle, out length, lengthtype));
 }
예제 #35
0
 public RESULT getStreamBufferSize(out uint filebuffersize, out TIMEUNIT filebuffersizetype)
 {
     return FMOD_System_GetStreamBufferSize(rawPtr, out filebuffersize, out filebuffersizetype);
 }
예제 #36
0
 public RESULT setPosition(uint position, TIMEUNIT postype)
 {
     return(FMOD_Channel_SetPosition(channelraw, position, postype));
 }
예제 #37
0
        public RESULT getSyncPointInfo        (IntPtr point, StringBuilder name, int namelen, out uint offset, TIMEUNIT offsettype)
        {
            IntPtr stringMem = Marshal.AllocHGlobal(name.Capacity);

            RESULT result = FMOD_Sound_GetSyncPointInfo(rawPtr, point, stringMem, namelen, out offset, offsettype);

            StringMarshalHelper.NativeToBuilder(name, stringMem);
            Marshal.FreeHGlobal(stringMem);

            return result;
        }
예제 #38
0
 public RESULT getPosition(ref uint position, TIMEUNIT postype)
 {
     return(FMOD_Channel_GetPosition(channelraw, ref position, postype));
 }
예제 #39
0
 public RESULT getLoopPoints           (out uint loopstart, TIMEUNIT loopstarttype, out uint loopend, TIMEUNIT loopendtype)
 {
     return FMOD_Sound_GetLoopPoints(rawPtr, out loopstart, loopstarttype, out loopend, loopendtype);
 }
예제 #40
0
 public RESULT setLoopPoints(uint loopstart, TIMEUNIT loopstarttype, uint loopend, TIMEUNIT loopendtype)
 {
     return(FMOD_Channel_SetLoopPoints(channelraw, loopstart, loopstarttype, loopend, loopendtype));
 }
예제 #41
0
 public RESULT getLoopPoints(out uint loopstart, TIMEUNIT loopstarttype, out uint loopend, TIMEUNIT loopendtype)
 {
     return FMOD_Channel_GetLoopPoints(getRaw(), out loopstart, loopstarttype, out loopend, loopendtype);
 }
예제 #42
0
 public RESULT getLoopPoints(ref uint loopstart, TIMEUNIT loopstarttype, ref uint loopend, TIMEUNIT loopendtype)
 {
     return(FMOD_Channel_GetLoopPoints(channelraw, ref loopstart, loopstarttype, ref loopend, loopendtype));
 }
예제 #43
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 public RESULT getPosition(ref uint position, TIMEUNIT postype)
 {
     return FMOD_Channel_GetPosition(channelraw, ref position, postype);
 }
예제 #44
0
 private static extern RESULT FMOD_Channel_GetPosition(IntPtr channel, ref uint position, TIMEUNIT postype);
예제 #45
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 public RESULT setPosition(uint position, TIMEUNIT postype)
 {
     return FMOD_Channel_SetPosition(channelraw, position, postype);
 }
예제 #46
0
 private static extern RESULT FMOD_Channel_GetLoopPoints(IntPtr channel, ref uint loopstart, TIMEUNIT loopstarttype, ref uint loopend, TIMEUNIT loopendtype);
예제 #47
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 private static extern RESULT FMOD_Channel_SetPosition(IntPtr channel, uint position, TIMEUNIT postype);
예제 #48
0
 public RESULT setStreamBufferSize(uint filebuffersize, TIMEUNIT filebuffersizetype)
 {
     return System.FMOD5_System_SetStreamBufferSize(this.rawPtr, filebuffersize, filebuffersizetype);
 }
예제 #49
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 public RESULT getLength(ref uint length, TIMEUNIT lengthtype)
 {
     return FMOD_Sound_GetLength(soundraw, ref length, lengthtype);
 }
예제 #50
0
 public RESULT setStreamBufferSize(uint filebuffersize, TIMEUNIT filebuffersizetype)
 {
     return(System.FMOD5_System_SetStreamBufferSize(this.rawPtr, filebuffersize, filebuffersizetype));
 }
예제 #51
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 public RESULT getSyncPointInfo(IntPtr point, StringBuilder name, int namelen, ref uint offset, TIMEUNIT offsettype)
 {
     return FMOD_Sound_GetSyncPointInfo(soundraw, point, name, namelen, ref offset, offsettype);
 }
예제 #52
0
 public RESULT getStreamBufferSize(out uint filebuffersize, out TIMEUNIT filebuffersizetype)
 {
     return(System.FMOD5_System_GetStreamBufferSize(this.rawPtr, out filebuffersize, out filebuffersizetype));
 }
예제 #53
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 private static extern RESULT FMOD_Sound_AddSyncPoint(IntPtr sound, uint offset, TIMEUNIT offsettype, string name, ref IntPtr point);
예제 #54
0
 private static extern RESULT FMOD5_System_GetStreamBufferSize(IntPtr system, out uint filebuffersize, out TIMEUNIT filebuffersizetype);
예제 #55
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 private static extern RESULT FMOD_Sound_GetSyncPointInfo(IntPtr sound, IntPtr point, StringBuilder name, int namelen, ref uint offset, TIMEUNIT offsettype);
예제 #56
0
 private static extern RESULT FMOD5_System_GetStreamBufferSize    (IntPtr system, out uint filebuffersize, out TIMEUNIT filebuffersizetype);
예제 #57
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 public RESULT getStreamBufferSize(ref uint filebuffersize, ref TIMEUNIT filebuffersizetype)
 {
     return FMOD_System_GetStreamBufferSize(systemraw, ref filebuffersize, ref filebuffersizetype);
 }
예제 #58
0
 private static extern RESULT FMOD5_Sound_GetSyncPointInfo        (IntPtr sound, IntPtr point, IntPtr name, int namelen, out uint offset, TIMEUNIT offsettype);
예제 #59
0
파일: fmod.cs 프로젝트: huming2207/ghgame
 private static extern RESULT FMOD_System_SetStreamBufferSize(IntPtr system, uint filebuffersize, TIMEUNIT filebuffersizetype);
예제 #60
0
        public RESULT getSyncPointInfo(IntPtr point, StringBuilder name, int namelen, out uint offset, TIMEUNIT offsettype)
        {
            IntPtr intPtr = Marshal.AllocHGlobal(name.Capacity);
            RESULT result = Sound.FMOD5_Sound_GetSyncPointInfo(this.rawPtr, point, intPtr, namelen, out offset, offsettype);

            StringMarshalHelper.NativeToBuilder(name, intPtr);
            Marshal.FreeHGlobal(intPtr);
            return(result);
        }