Bläddra i källkod

Added getLength() for mods.

Brucey 3 år sedan
förälder
incheckning
13910c909e
2 ändrade filer med 9 tillägg och 2 borttagningar
  1. 2 2
      modloader.mod/common.bmx
  2. 7 0
      modloader.mod/modloader.bmx

+ 2 - 2
modloader.mod/common.bmx

@@ -28,8 +28,7 @@ Import "../soloud.mod/soloud/include/*.h"
 
 ' audiosource - openmpt
 Import "../soloud.mod/soloud/src/audiosource/openmpt/soloud_openmpt.cpp"
-
-Import "openmptloader.cpp"
+Import "../soloud.mod/soloud/src/c_api/soloud_c_openmpt.cpp"
 
 Extern
 	' Openmpt
@@ -53,4 +52,5 @@ Extern
 	Function Openmpt_setInaudibleBehavior(aOpenmpt:Byte Ptr, aMustTick:Int, aKill:Int)
 	Function Openmpt_setFilter(aOpenmpt:Byte Ptr, aFilterId:Int, aFilter:Byte Ptr)
 	Function Openmpt_stop(aOpenmpt:Byte Ptr)
+	Function Openmpt_getLength:Double(aOpenmpt:Byte Ptr) 
 End Extern

+ 7 - 0
modloader.mod/modloader.bmx

@@ -169,6 +169,13 @@ Type TSLOpenmpt Extends TSLLoadableAudioSource
 		Openmpt_stop(asPtr)
 	End Method
 
+	Rem
+	bbdoc: Returns the length of the audio source, in seconds.
+	End Rem
+	Method getLength:Double() Override
+		Return Openmpt_getLength(asPtr)
+	End Method
+
 	Method destroy() Override
 		If asPtr Then
 			Openmpt_destroy(asPtr)