Skip to content

Commit 6983811

Browse files
committed
live settings changes
1 parent 59f3c29 commit 6983811

File tree

6 files changed

+27
-4
lines changed

6 files changed

+27
-4
lines changed

mod.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,13 @@
294294
"default": true,
295295
"enable-if": "loaded:alk.better-touch-prio"
296296
},
297+
"showPlaybackProgressControlsSongList": {
298+
"name": "Song List: Show Playback Progress and Controls",
299+
"description": "<c-ff0000>***__IF THE \"BETTER TOUCH PRIO\" MOD BY UNDEFINED0 + ALK1M123 IS NOT INSTALLED, NO CONTROLS WILL APPEAR.__***</c>\n\nChoose if you want to show playback controls for the currently playing song in the Song List menu.",
300+
"type": "bool",
301+
"default": true,
302+
"enable-if": "loaded:alk.better-touch-prio"
303+
},
297304
"songIndicatorsInControlPanel": {
298305
"name": "Control Panel: Song Indicators",
299306
"description": "Apply the song indicators seen in the Song List menu into the Control Panel's song name text.\n\nAs a reminder, the song indicators are:\n- Gold = <cy>favorited</c>.\n- Green = <cg>current</c>.\n- Italics = NG/ML song stored in an unexpected place.\n- Dark gradients OR random letters/numbers = Jukebox/NONG, <c-ff0000>OR</c> someone else goofed up.\n\n<c-aaaaaa>For a number of reasons, the dark gradient and the green song name do not appear in the Control Panel.</c>",

src/SongControl.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#include "SongManager.hpp"
44

5-
#define CAN_USE_PLAYBACK_CONTROLS (songManager.getFinishedCalculatingSongLengths() && songManager.getUndefined0Alk1m123TouchPrio() && songManager.getShowPlaybackProgressAndControls())
5+
#define CAN_USE_PLAYBACK_CONTROLS (songManager.getFinishedCalculatingSongLengths() && songManager.getUndefined0Alk1m123TouchPrio())
66
#define INCREMENT_DECREMENT_AMOUNT songManager.getIncrementDecrementByMilliseconds()
77

88
namespace SongControl {

src/SongManager.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,14 @@ void SongManager::setFinishedCalculatingSongLengths(const bool value) {
323323
m_finishedCalculatingSongLengths = value;
324324
}
325325

326+
void SongManager::setShowPlaybackControlsSongList(const bool value) {
327+
m_showPlaybackControlsSongList = value;
328+
}
329+
330+
bool SongManager::getShowPlaybackControlsSongList() const {
331+
return m_showPlaybackControlsSongList;
332+
}
333+
326334
bool SongManager::getFinishedCalculatingSongLengths() const {
327335
return m_finishedCalculatingSongLengths;
328336
}

src/SongManager.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ class SongManager {
9797
bool getPauseSongPositionTracking() const;
9898
void setShowPlaybackProgressAndControls(const bool);
9999
bool getShowPlaybackProgressAndControls() const;
100+
void setShowPlaybackControlsSongList(const bool);
101+
bool getShowPlaybackControlsSongList() const;
100102
void setFinishedCalculatingSongLengths(const bool);
101103
bool getFinishedCalculatingSongLengths() const;
102104
void setIncrementDecrementByMilliseconds(const int);
@@ -123,6 +125,7 @@ class SongManager {
123125
bool m_advancedLogs = false;
124126
bool m_pausedSongPositionTracking = false;
125127
bool m_showPlaybackProgressAndControls = false;
128+
bool m_showPlaybackControlsSongList = false;
126129
bool m_shouldRestoreMenuLoopPoint = false;
127130
bool m_finishedCalculatingSongLengths = false;
128131
bool m_isUndefined0Alk1m123TouchPrio = false;

src/main.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,11 @@ bool originalOverrideWasEmpty = false;
201201
if (SongManager::get().getUndefined0Alk1m123TouchPrio() || !showPlaybackProgressAndControls) return;
202202
Utils::showMDPopup("Control Panel Playback Progress Controls", USE_BETTER_TOUCH_PRIO_DAMMIT, 20260105, "show-playback-progress-controls");
203203
});
204+
listenForSettingChanges<bool>("showPlaybackProgressControlsSongList", [](const bool showPlaybackProgressControlsSongList) {
205+
SongManager::get().setShowPlaybackControlsSongList(showPlaybackProgressControlsSongList);
206+
if (SongManager::get().getUndefined0Alk1m123TouchPrio() || !showPlaybackProgressControlsSongList) return;
207+
Utils::showMDPopup("Song List Playback Progress Controls", USE_BETTER_TOUCH_PRIO_DAMMIT, 20260105, "show-playback-progress-controls");
208+
});
204209
listenForSettingChanges<int64_t>("incrementDecrementByMilliseconds", [](const int64_t incrementDecrementByMilliseconds) {
205210
SongManager::get().setIncrementDecrementByMilliseconds(incrementDecrementByMilliseconds);
206211
if (SongManager::get().getUndefined0Alk1m123TouchPrio()) return;

src/ui/MLRSongCell.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ bool MLRSongCell::init(const SongData& songData, const bool isEven, const bool i
106106
playButton->setID("song-cell-play-button"_spr);
107107

108108
SongManager& songManager = SongManager::get();
109-
if (CAN_USE_PLAYBACK_CONTROLS) {
109+
if (songManager.getFinishedCalculatingSongLengths() && Utils::getBool("showPlaybackProgressControlsSongList") && songManager.getUndefined0Alk1m123TouchPrio()) {
110110
CCMenuItemSpriteExtra* skipBkwd = Utils::addButton("skip-bkwd", menu_selector(MLRSongCell::onSkipBkwdButton), menu, this, true);
111111
CCMenuItemSpriteExtra* skipFwrd = Utils::addButton("skip-fwrd", menu_selector(MLRSongCell::onSkipFwrdButton), menu, this, true);
112112
skipBkwd->setVisible(false);
@@ -215,9 +215,9 @@ void MLRSongCell::checkIfCurrentSongScheduler(float) {
215215
}
216216

217217
void MLRSongCell::onSkipBkwdButton(CCObject*) {
218-
SongControl::skipBackward();
218+
if (SongManager::get().getShowPlaybackControlsSongList()) SongControl::skipBackward();
219219
}
220220

221221
void MLRSongCell::onSkipFwrdButton(CCObject*) {
222-
SongControl::skipForward();
222+
if (SongManager::get().getShowPlaybackControlsSongList()) SongControl::skipForward();
223223
}

0 commit comments

Comments
 (0)