mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2026-02-08 00:45:37 +00:00
Removed all text-related code from the core lib.
This removes: - "Toast" messages - The help text - Statistics - Preset name and (unimplemented) song title display - Preset selection list and search menu Some of the above functionality might later be added as an optional library, in a separate repository and with proper UTF-8 support.
This commit is contained in:
@ -68,175 +68,37 @@ void ProjectM::DefaultKeyHandler(projectMEvent event, projectMKeycode keycode) {
|
||||
|
||||
switch (keycode)
|
||||
{
|
||||
case PROJECTM_K_HOME:
|
||||
if (m_renderer->showmenu) {
|
||||
if (!TextInputActive()) {
|
||||
SelectPreset(0); // jump to top of presets.
|
||||
}
|
||||
else {
|
||||
m_renderer->m_activePresetID = 1; // jump to top of search results.
|
||||
SelectPresetByName(m_renderer->m_presetList[0].name, true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_END:
|
||||
if (m_renderer->showmenu) {
|
||||
if (!TextInputActive()) {
|
||||
SelectPreset(m_presetLoader->size() - 1); // jump to bottom of presets.
|
||||
}
|
||||
else {
|
||||
m_renderer->m_activePresetID = m_renderer->m_presetList.size(); // jump to top of search results.
|
||||
SelectPresetByName(m_renderer->m_presetList[m_renderer->m_activePresetID - 1].name, true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_PAGEUP:
|
||||
if (TextInputActive()) break; // don't handle this key if search menu is up.
|
||||
if (m_renderer->showmenu) {
|
||||
int upPreset = m_presetPos->lastIndex() - (m_renderer->textMenuPageSize / 2.0f); // jump up by page size / 2
|
||||
if (upPreset < 0) // handle lower boundary
|
||||
upPreset = m_presetLoader->size() - 1;
|
||||
SelectPreset(upPreset); // jump up menu half a page.
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_PAGEDOWN:
|
||||
if (TextInputActive()) break; // don't handle this key if search menu is up.
|
||||
if (m_renderer->showmenu) {
|
||||
int downPreset = m_presetPos->lastIndex() + (m_renderer->textMenuPageSize / 2.0f); // jump down by page size / 2
|
||||
if (static_cast<std::size_t>(downPreset) >= (m_presetLoader->size() - 1)) // handle upper boundary
|
||||
downPreset = 0;
|
||||
SelectPreset(downPreset); // jump down menu half a page.
|
||||
}
|
||||
break;
|
||||
|
||||
case PROJECTM_K_UP:
|
||||
if (m_renderer->showmenu) {
|
||||
SelectPrevious(true);
|
||||
}
|
||||
else {
|
||||
m_beatDetect->beatSensitivity += 0.01;
|
||||
if (m_beatDetect->beatSensitivity > 5.0)
|
||||
m_beatDetect->beatSensitivity = 5.0;
|
||||
m_renderer->setToastMessage("Beat Sensitivity: " + round_float(m_beatDetect->beatSensitivity));
|
||||
}
|
||||
m_beatDetect->beatSensitivity += 0.01;
|
||||
if (m_beatDetect->beatSensitivity > 5.0)
|
||||
{
|
||||
m_beatDetect->beatSensitivity = 5.0;
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_DOWN:
|
||||
if (m_renderer->showmenu) {
|
||||
SelectNext(true);
|
||||
}
|
||||
else {
|
||||
m_beatDetect->beatSensitivity -= 0.01;
|
||||
if (m_beatDetect->beatSensitivity < 0)
|
||||
m_beatDetect->beatSensitivity = 0;
|
||||
m_renderer->setToastMessage("Beat Sensitivity: " + round_float(m_beatDetect->beatSensitivity));
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_h:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
m_renderer->showhelp = !m_renderer->showhelp;
|
||||
m_renderer->showstats = false;
|
||||
m_renderer->showmenu = false;
|
||||
break;
|
||||
case PROJECTM_K_F1:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
m_renderer->showhelp = !m_renderer->showhelp;
|
||||
m_renderer->showstats = false;
|
||||
m_renderer->showmenu = false;
|
||||
m_beatDetect->beatSensitivity -= 0.01;
|
||||
if (m_beatDetect->beatSensitivity < 0)
|
||||
{
|
||||
m_beatDetect->beatSensitivity = 0;
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_y:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
this->SetShuffleEnabled(!this->ShuffleEnabled());
|
||||
if (this->ShuffleEnabled()) {
|
||||
m_renderer->setToastMessage("Shuffle Enabled");
|
||||
}
|
||||
else {
|
||||
m_renderer->setToastMessage("Shuffle Disabled");
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_F5:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
m_renderer->showfps = !m_renderer->showfps;
|
||||
// Initialize counters and reset frame count.
|
||||
m_renderer->lastTimeFPS = duration_cast<milliseconds>(system_clock::now().time_since_epoch());
|
||||
m_renderer->currentTimeFPS = duration_cast<milliseconds>(system_clock::now().time_since_epoch());
|
||||
m_renderer->totalframes = 0;
|
||||
// Hide preset name from screen and replace it with FPS counter.
|
||||
if (m_renderer->showfps)
|
||||
{
|
||||
m_renderer->showpreset = false;
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_F4:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
m_renderer->showstats = !m_renderer->showstats;
|
||||
if (m_renderer->showstats) {
|
||||
m_renderer->showhelp = false;
|
||||
m_renderer->showmenu = false;
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_F3: {
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
m_renderer->showpreset = !m_renderer->showpreset;
|
||||
// Hide FPS from screen and replace it with preset name.
|
||||
if (m_renderer->showpreset)
|
||||
{
|
||||
m_renderer->showsearch = false;
|
||||
m_renderer->showfps = false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PROJECTM_K_F2:
|
||||
m_renderer->showtitle = !m_renderer->showtitle;
|
||||
break;
|
||||
|
||||
case PROJECTM_K_ESCAPE: {
|
||||
m_renderer->showsearch = false; // hide input menu
|
||||
SetShuffleEnabled(m_renderer->shuffletrack); // restore shuffle
|
||||
m_renderer->showmenu = false; // hide input
|
||||
break;
|
||||
}
|
||||
case PROJECTM_K_f:
|
||||
|
||||
break;
|
||||
case PROJECTM_K_a:
|
||||
m_renderer->correction = !m_renderer->correction;
|
||||
break;
|
||||
case PROJECTM_K_b:
|
||||
break;
|
||||
case PROJECTM_K_H:
|
||||
case PROJECTM_K_m:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
m_renderer->showmenu = !m_renderer->showmenu;
|
||||
if (m_renderer->showmenu) {
|
||||
m_renderer->showfps = false;
|
||||
m_renderer->showhelp = false;
|
||||
m_renderer->showstats = false;
|
||||
PopulatePresetMenu();
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_M:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
m_renderer->showmenu = !m_renderer->showmenu;
|
||||
if (m_renderer->showmenu)
|
||||
{
|
||||
m_renderer->showhelp = false;
|
||||
m_renderer->showstats = false;
|
||||
PopulatePresetMenu();
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_n:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
SelectNext(true);
|
||||
break;
|
||||
case PROJECTM_K_N:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
SelectNext(false);
|
||||
break;
|
||||
case PROJECTM_K_r:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
SelectRandom(true);
|
||||
break;
|
||||
case PROJECTM_K_R:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
SelectRandom(false);
|
||||
break;
|
||||
case PROJECTM_K_p:
|
||||
@ -247,7 +109,6 @@ void ProjectM::DefaultKeyHandler(projectMEvent event, projectMKeycode keycode) {
|
||||
SelectPrevious(false);
|
||||
break;
|
||||
case PROJECTM_K_l:
|
||||
if (TextInputActive(true)) break; // disable when searching.
|
||||
SetPresetLocked(!PresetLocked());
|
||||
break;
|
||||
case PROJECTM_K_i:
|
||||
@ -255,33 +116,6 @@ void ProjectM::DefaultKeyHandler(projectMEvent event, projectMKeycode keycode) {
|
||||
case PROJECTM_K_d: // d stands for write DEBUG output.
|
||||
m_renderer->writeNextFrameToFile = true;
|
||||
break;
|
||||
case PROJECTM_K_RETURN:
|
||||
m_renderer->toggleSearchText();
|
||||
if (m_renderer->showsearch) {
|
||||
m_renderer->shuffletrack = this->ShuffleEnabled(); // track previous shuffle state.
|
||||
SetShuffleEnabled(false); // disable shuffle
|
||||
m_renderer->showhelp = false;
|
||||
m_renderer->showstats = false;
|
||||
m_renderer->showtitle = false;
|
||||
m_renderer->showpreset = false;
|
||||
m_renderer->showmenu = true;
|
||||
PopulatePresetMenu();
|
||||
} else {
|
||||
SetShuffleEnabled(m_renderer->shuffletrack); // restore shuffle
|
||||
m_renderer->showmenu = false;
|
||||
}
|
||||
break;
|
||||
case PROJECTM_K_0:
|
||||
// nWaveMode=0;
|
||||
break;
|
||||
case PROJECTM_K_6:
|
||||
// nWaveMode=6;
|
||||
break;
|
||||
case PROJECTM_K_7:
|
||||
// nWaveMode=7;
|
||||
break;
|
||||
case PROJECTM_K_t:
|
||||
break;
|
||||
case PROJECTM_K_EQUALS:
|
||||
case PROJECTM_K_PLUS:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user