few additions to sounds

This commit is contained in:
2026-05-27 02:23:17 +03:00
parent 008ce7f5f7
commit ab9e5f47b3
3 changed files with 41 additions and 4 deletions

View File

@@ -15,9 +15,14 @@ public:
virtual double GetPlayTime() override; virtual double GetPlayTime() override;
virtual double Stop() override; virtual double Stop() override;
virtual void Continue() override; virtual void Continue() override;
virtual bool BIsPlaying() override;
virtual void SetIs3D( bool b ) override;
virtual void SetIsLooping( bool b ) override;
virtual void SetDirection( Vector v ) override; virtual void SetDirection( Vector v ) override;
virtual void SetTimeScale( float fValue ) override;
virtual void SetVolume( float fValue ) override; virtual void SetVolume( float fValue ) override;
virtual void SetPitch( float fValue ) override;
ma_sound m_sound; ma_sound m_sound;
CMiniAudio *m_pAudio; CMiniAudio *m_pAudio;
@@ -70,19 +75,48 @@ double CMiniAudioPlayer::Stop()
void CMiniAudioPlayer::Continue() void CMiniAudioPlayer::Continue()
{ {
ma_sound_start(&m_sound);
}
bool CMiniAudioPlayer::BIsPlaying()
{
return ma_sound_is_playing(&m_sound);
}
void CMiniAudioPlayer::SetIs3D( bool b )
{
ma_sound_set_spatialization_enabled(&m_sound, b);
}
void CMiniAudioPlayer::SetIsLooping( bool b )
{
ma_sound_set_looping(&m_sound, b);
} }
void CMiniAudioPlayer::SetDirection( Vector v ) void CMiniAudioPlayer::SetDirection( Vector v )
{
ma_sound_set_position(&m_sound, v.x, v.y, v.z);
}
void CMiniAudioPlayer::SetTimeScale( float fValue )
{ {
} }
void CMiniAudioPlayer::SetVolume( float fValue ) void CMiniAudioPlayer::SetVolume( float fValue )
{ {
ma_sound_set_volume(&m_sound, fValue);
} }
void CMiniAudioPlayer::SetPitch( float fValue )
{
ma_sound_set_pitch(&m_sound, fValue);
}
IAudioPlayer *CMiniAudio::SpawnPlayer() IAudioPlayer *CMiniAudio::SpawnPlayer()
{ {
CMiniAudioPlayer *pPlayer; CMiniAudioPlayer *pPlayer;
@@ -110,6 +144,7 @@ void CMiniAudioManager::Init()
V_printf("ma_engine_init failed\n"); V_printf("ma_engine_init failed\n");
} }
r = ma_engine_start(&m_engine); r = ma_engine_start(&m_engine);
ma_engine_listener_set_position(&m_engine, 0, 0, 0, 0);
if ( r != MA_SUCCESS ) if ( r != MA_SUCCESS )
{ {
V_printf("ma_engine_start failed\n"); V_printf("ma_engine_start failed\n");

View File

@@ -74,9 +74,6 @@ void CFunnyGameBridge::Init()
g_pKotUI = (IKotUIManager*)fnEngineFactory(KOT_UI_INTEFACE_VERSION, NULL); g_pKotUI = (IKotUIManager*)fnEngineFactory(KOT_UI_INTEFACE_VERSION, NULL);
g_pAudioManager = (IAudioManager*)fnEngineFactory(AUDIO_MANAGER_INTERFACE_VERSION, NULL); g_pAudioManager = (IAudioManager*)fnEngineFactory(AUDIO_MANAGER_INTERFACE_VERSION, NULL);
g_pAudioManager->Init(); g_pAudioManager->Init();
IAudio *pAudio = g_pAudioManager->CreateAudio("game/core/sounds/bonk.wav");
IAudioPlayer *pAudioPlayer = pAudio->SpawnPlayer();
pAudioPlayer->StartAt(0.35);
g_pKotUI->ConnectInterface(g_pRenderContext, RENDER_CONTEXT_INTERFACE_VERSION); g_pKotUI->ConnectInterface(g_pRenderContext, RENDER_CONTEXT_INTERFACE_VERSION);
g_pKotUI->Init(); g_pKotUI->Init();

View File

@@ -12,9 +12,14 @@ public:
virtual double GetPlayTime() = 0; virtual double GetPlayTime() = 0;
virtual double Stop() = 0; virtual double Stop() = 0;
virtual void Continue() = 0; virtual void Continue() = 0;
virtual bool BIsPlaying() = 0;
virtual void SetIs3D( bool b ) = 0;
virtual void SetIsLooping( bool b ) = 0;
virtual void SetDirection( Vector v ) = 0; virtual void SetDirection( Vector v ) = 0;
virtual void SetTimeScale( float fValue ) = 0;
virtual void SetVolume( float fValue ) = 0; virtual void SetVolume( float fValue ) = 0;
virtual void SetPitch( float fValue ) = 0;
}; };
abstract_class IAudio abstract_class IAudio