Skip to content

Commit ce890f2

Browse files
committed
gpddammit
1 parent af2c1f3 commit ce890f2

File tree

2 files changed

+9
-14
lines changed

2 files changed

+9
-14
lines changed

src/FMODAudioEngine.cpp

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,19 @@ float stupidAccmulatorTooLazyToPutElsewhere = 0;
1010

1111
class $modify(MenuLoopFMODHook, FMODAudioEngine) {
1212
void update(float dt) {
13-
constexpr int channelNumber = 0;
14-
15-
FMOD::Channel* menuLoopChannelProbably = FMODAudioEngine::get()->getActiveMusicChannel(channelNumber);
16-
SongManager& songManager = SongManager::get();
17-
18-
bool isPlaying = false;
19-
menuLoopChannelProbably->isPlaying(&isPlaying);
20-
songManager.setWasPlaying(isPlaying);
21-
2213
FMODAudioEngine::update(dt);
23-
24-
menuLoopChannelProbably->isPlaying(&isPlaying);
25-
if ((!isPlaying && isPlaying != songManager.getWasPlaying()) || GJBaseGameLayer::get() || VANILLA_GD_MENU_LOOP_DISABLED) {
14+
SongManager& songManager = SongManager::get();
15+
if (GJBaseGameLayer::get() || VANILLA_GD_MENU_LOOP_DISABLED) {
2616
if (stupidAccmulatorTooLazyToPutElsewhere != 0) stupidAccmulatorTooLazyToPutElsewhere = 0;
2717
return;
2818
}
2919

3020
if (SongManager::get().getAdvancedLogs()) stupidAccmulatorTooLazyToPutElsewhere += dt;
3121
else if (stupidAccmulatorTooLazyToPutElsewhere != 0) stupidAccmulatorTooLazyToPutElsewhere = 0;
3222

23+
constexpr int channelNumber = 0;
24+
25+
FMOD::Channel* menuLoopChannelProbably = FMODAudioEngine::get()->getActiveMusicChannel(channelNumber);
3326
const auto activeSong = FMODAudioEngine::get()->getActiveMusic(channelNumber);
3427
const auto songManagerSong = songManager.getCurrentSong();
3528
const bool isSongManagerSong = activeSong == songManagerSong;
@@ -66,9 +59,11 @@ class $modify(MenuLoopFMODHook, FMODAudioEngine) {
6659
if (!songManager.getConstantShuffleMode() || songManager.isOverride()) return;
6760
if (GJBaseGameLayer::get() || songManager.isOriginalMenuLoop() || songManager.getSongsSize() < 2) return;
6861

62+
bool isPlaying = true;
6963
FMOD::Sound* sound;
7064
unsigned int length = 0;
7165
menuLoopChannelProbably->getCurrentSound(&sound);
66+
menuLoopChannelProbably->isPlaying(&isPlaying);
7267
sound->getLength(&length, 1);
7368

7469
if (SongManager::get().getAdvancedLogs() && stupidAccmulatorTooLazyToPutElsewhere > SECS_BETWEEN_LOGS) {

src/ui/SongControlMenu.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,8 +361,8 @@ void SongControlMenu::onSkipBkwdButton(CCObject*) {
361361
fmod->getActiveMusicChannel(0)->setPosition(0, FMOD_TIMEUNIT_MS);
362362
} else if (fullLength > 0 && fullLength < std::numeric_limits<unsigned int>::max()) {
363363
const int newPosition = ((((lastPosition % fullLength) + fullLength) % fullLength) - (5000 % fullLength) + fullLength) % fullLength;
364-
fmod->getActiveMusicChannel(0)->setPosition(newPosition, FMOD_TIMEUNIT_MS);
365364
songManager.setPauseSongPositionTracking(true);
365+
fmod->getActiveMusicChannel(0)->setPosition(newPosition, FMOD_TIMEUNIT_MS);
366366
songManager.setLastMenuLoopPosition(newPosition);
367367
songManager.setPauseSongPositionTracking(false);
368368
}
@@ -388,8 +388,8 @@ void SongControlMenu::onSkipFwrdButton(CCObject*) {
388388
SongControlMenu::updateCurrentLabel();
389389
} else if (fullLength > 0 && fullLength < std::numeric_limits<unsigned int>::max()) {
390390
const int newPosition = ((((lastPosition % fullLength) + fullLength) % fullLength) + (5000 % fullLength)) % fullLength;
391-
fmod->getActiveMusicChannel(0)->setPosition(newPosition, FMOD_TIMEUNIT_MS);
392391
songManager.setPauseSongPositionTracking(true);
392+
fmod->getActiveMusicChannel(0)->setPosition(newPosition, FMOD_TIMEUNIT_MS);
393393
songManager.setLastMenuLoopPosition(newPosition);
394394
songManager.setPauseSongPositionTracking(false);
395395
}

0 commit comments

Comments
 (0)