00001 00002 // 00003 // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved 00004 // 00006 00007 // AkMusicEngine.h 00008 00011 00012 00013 #ifndef _AK_MUSICENGINE_H_ 00014 #define _AK_MUSICENGINE_H_ 00015 00016 #include <AK/SoundEngine/Common/AkSoundEngineExport.h> 00017 #include <AK/SoundEngine/Common/AkTypes.h> 00018 00023 struct AkMusicSettings 00024 { 00025 AkReal32 fStreamingLookAheadRatio; 00026 }; 00027 00029 struct AkSegmentInfo 00030 { 00031 AkTimeMs iCurrentPosition; 00032 AkTimeMs iPreEntryDuration; 00033 AkTimeMs iActiveDuration; 00034 AkTimeMs iPostExitDuration; 00035 AkTimeMs iRemainingLookAheadTime; 00036 }; 00037 00038 // Audiokinetic namespace 00039 namespace AK 00040 { 00043 namespace MusicEngine 00044 { 00047 00048 00055 AK_EXTERNAPIFUNC( AKRESULT, Init )( 00056 AkMusicSettings * in_pSettings 00057 ); 00058 00063 AK_EXTERNAPIFUNC( void, GetDefaultInitSettings )( 00064 AkMusicSettings & out_settings 00065 ); 00066 00071 AK_EXTERNAPIFUNC( void, Term )( 00072 ); 00073 00095 AK_EXTERNAPIFUNC( AKRESULT, GetPlayingSegmentInfo )( 00096 AkPlayingID in_PlayingID, 00097 AkSegmentInfo & out_segmentInfo, 00098 bool in_bExtrapolate = true 00099 ); 00100 00102 } 00103 } 00104 00105 #endif // _AK_MUSICENGINE_H_ 00106