From 34b9aa17e9e86b36ea7c55cb1e6de24605bd9ae4 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Tue, 14 Mar 2006 22:07:56 +0000 Subject: [PATCH] use the same Play key mappings for all EditModes If selection start is set, have "play" start at the selection, not at the current beat --- stepmania/Themes/default/Languages/de.ini | 3 +- stepmania/Themes/default/Languages/en.ini | 4 +- stepmania/Themes/default/Languages/es.ini | 3 +- stepmania/Themes/default/Languages/fr.ini | 3 +- stepmania/Themes/default/Languages/it.ini | 3 +- stepmania/src/EditMenu.cpp | 10 ++-- stepmania/src/ScreenEdit.cpp | 61 ++++++++++++----------- stepmania/src/ScreenEdit.h | 1 + 8 files changed, 48 insertions(+), 40 deletions(-) diff --git a/stepmania/Themes/default/Languages/de.ini b/stepmania/Themes/default/Languages/de.ini index 79b427857b..29dba0c025 100644 --- a/stepmania/Themes/default/Languages/de.ini +++ b/stepmania/Themes/default/Languages/de.ini @@ -803,7 +803,7 @@ OnlyDedicatedMenuButtons=MenüButtons OsMountPlayer1=OS Aufstellen\nSpieler 1 OsMountPlayer2=OS Aufstellen\nSpieler 2 Other Options=Andere Optionen -P: Play selection=P: Auswahl Spielen +P: Play=P: Spielen Paste at begin marker=Am Anfangsmarker einfügen Paste at current beat=Am aktuellen Beat einfügen Persp=Persp @@ -873,6 +873,7 @@ SongsPerPlay=Songs Pro\nSpiel Sound Options=Klang Optionen SoundResampleQuality=Resampling\nQualität SoundVolume=Klang\nLautstärke +Space: Set selection=Leerzeichen: Bilden sie vorwähler Speed=Geschwindigkeit Steps=Schritte Stream=Stream diff --git a/stepmania/Themes/default/Languages/en.ini b/stepmania/Themes/default/Languages/en.ini index 1fd752947b..63354ddf55 100644 --- a/stepmania/Themes/default/Languages/en.ini +++ b/stepmania/Themes/default/Languages/en.ini @@ -855,8 +855,8 @@ PgUp, PgDn: Jump measure=PgUp, PgDn: Jump measure Home, End: Jump to first/last beat=Home, End: Jump to first/last beat Hold Shift: Select region=Hold Shift: Select region Left, Right: Zoom=Left, Right: Zoom -Enter: Play selection=Enter: Play selection -P: Play from cursor=P: Play from cursor +P: Play=P: Play +Space: Set selection=Space: Set selection [PaneDisplay] EmptyMachineHighScoreName=Best diff --git a/stepmania/Themes/default/Languages/es.ini b/stepmania/Themes/default/Languages/es.ini index e92cdafc86..043394429c 100644 --- a/stepmania/Themes/default/Languages/es.ini +++ b/stepmania/Themes/default/Languages/es.ini @@ -802,7 +802,7 @@ OnlyDedicatedMenuButtons=Botones del menú OsMountPlayer1=Soporte OS\njugador 1 OsMountPlayer2=Soporte OS\njugador 2 Other Options=Otras Opciones -P: Play selection=P: Reproducir Selección +P: Play=P: Reproducir Paste at begin marker=Pegar en el marcador de inicio Paste at current beat=Pegar en el ritmo actual Persp=Perspectiva @@ -872,6 +872,7 @@ SongsPerPlay=Canciones Por\nJuego Sound Options=Opciones de Sonido SoundResampleQuality=Volver a mostrar\nCalidad SoundVolume=Volumen\nDe sonido +Space: Set selection=Espacio: Fije selección Speed=Celocidad Steps=Pasos Stream=Secuencia diff --git a/stepmania/Themes/default/Languages/fr.ini b/stepmania/Themes/default/Languages/fr.ini index 0c9e8be0cc..3c7c209558 100644 --- a/stepmania/Themes/default/Languages/fr.ini +++ b/stepmania/Themes/default/Languages/fr.ini @@ -802,7 +802,7 @@ OnlyDedicatedMenuButtons=BoutonsMenu OsMountPlayer1=Montage OS\nJoueur 1 OsMountPlayer2=Montage OS\nJoueur 2 Other Options=Autres options -P: Play selection=J: Jouer sélection +P: Play=P: Jouer Paste at begin marker=Coller au marqueur de départ Paste at current beat=Coller au rythme actuel Persp=Persp. @@ -872,6 +872,7 @@ SongsPerPlay=Chansons Par\nPartie Sound Options=Options Sons SoundResampleQuality=Qualité\nResampling SoundVolume=Volume\nSonore +Space: Set selection=Espace: Placez sélection Speed=Vitesse Steps=Pas Stream=Flux diff --git a/stepmania/Themes/default/Languages/it.ini b/stepmania/Themes/default/Languages/it.ini index 5b67120b11..3d5a83f2ec 100644 --- a/stepmania/Themes/default/Languages/it.ini +++ b/stepmania/Themes/default/Languages/it.ini @@ -802,7 +802,7 @@ OnlyDedicatedMenuButtons=MenuButtons OsMountPlayer1=OS Mount\nPlayer1 OsMountPlayer2=OS Mount\nPlayer2 Other Options=Altre opzioni -P: Play selection=P: suona selezione +P: Play=P: Suona Paste at begin marker=Incolla al segno di inizio Paste at current beat=Incolla a questo ritmo Persp=Persp @@ -872,6 +872,7 @@ SongsPerPlay=Songs Per\nPlay Sound Options=Opzioni suono SoundResampleQuality=Resampling\nQuality SoundVolume=Sound\nVolume +Space: Set selection=Spazio: Regoli selezione Speed=Velocità Steps=Passi Stream=Stream diff --git a/stepmania/src/EditMenu.cpp b/stepmania/src/EditMenu.cpp index 861bb6079a..40541b3d4c 100644 --- a/stepmania/src/EditMenu.cpp +++ b/stepmania/src/EditMenu.cpp @@ -252,13 +252,13 @@ int EditMenu::GetRowSize( EditMenuRow er ) const { switch( er ) { - case ROW_GROUP: return m_sGroups.size(); - case ROW_SONG: return m_pSongs.size(); + case ROW_GROUP: return m_sGroups.size(); + case ROW_SONG: return m_pSongs.size(); case ROW_STEPS_TYPE: return m_StepsTypes.size(); - case ROW_STEPS: return m_vpSteps.size(); - case ROW_SOURCE_STEPS_TYPE: return m_StepsTypes.size(); + case ROW_STEPS: return m_vpSteps.size(); + case ROW_SOURCE_STEPS_TYPE: return m_StepsTypes.size(); case ROW_SOURCE_STEPS: return m_vpSourceSteps.size(); - case ROW_ACTION: return m_Actions.size(); + case ROW_ACTION: return m_Actions.size(); default: FAIL_M( ssprintf("%i", er) ); } } diff --git a/stepmania/src/ScreenEdit.cpp b/stepmania/src/ScreenEdit.cpp index 7fa4eb79f1..be388e514b 100644 --- a/stepmania/src/ScreenEdit.cpp +++ b/stepmania/src/ScreenEdit.cpp @@ -96,7 +96,9 @@ void ScreenEdit::InitEditMappings() { m_EditMappingsDeviceInput.Clear(); - // Global mappings: + // + // Common mappings: + // switch( EDIT_MODE.GetValue() ) { case EditMode_Practice: @@ -125,6 +127,17 @@ void ScreenEdit::InitEditMappings() m_EditMappingsDeviceInput.button[EDIT_BUTTON_LAY_SELECT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_SPACE); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_PLAY_FROM_START][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cp); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_PLAY_FROM_START][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_PLAY_FROM_START][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_PLAY_FROM_CURSOR][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cp); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_PLAY_FROM_CURSOR][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT); + m_EditMappingsDeviceInput.hold[EDIT_BUTTON_PLAY_FROM_CURSOR][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RSHIFT); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_PLAY_SELECTION][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cp); + + // + // EditMode-specific mappings + // switch( EDIT_MODE.GetValue() ) { case EditMode_Practice: @@ -133,11 +146,6 @@ void ScreenEdit::InitEditMappings() m_EditMappingsDeviceInput.button [EDIT_BUTTON_SCROLL_SPEED_DOWN][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LEFT); m_EditMappingsDeviceInput.button [EDIT_BUTTON_SCROLL_SPEED_UP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_RIGHT); - // Enter = Play selection - // P = Play current beat to end - m_EditMappingsDeviceInput.button [EDIT_BUTTON_PLAY_SELECTION][0] = DeviceInput(DEVICE_KEYBOARD, KEY_ENTER); - m_EditMappingsDeviceInput.button [EDIT_BUTTON_PLAY_FROM_CURSOR][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cp); - // F1 = Show help popup m_EditMappingsDeviceInput.button [EDIT_BUTTON_OPEN_INPUT_HELP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_F1); @@ -161,11 +169,6 @@ void ScreenEdit::InitEditMappings() m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_COURSE_ATTACK_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cv); m_EditMappingsDeviceInput.button[EDIT_BUTTON_ADD_COURSE_MODS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cm); - // Enter = Play selection - // P = Play current beat to end - m_EditMappingsDeviceInput.button [EDIT_BUTTON_PLAY_SELECTION][0] = DeviceInput(DEVICE_KEYBOARD, KEY_ENTER); - m_EditMappingsDeviceInput.button [EDIT_BUTTON_PLAY_FROM_CURSOR][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cp); - // F1 = Show help popup m_EditMappingsDeviceInput.button [EDIT_BUTTON_OPEN_INPUT_HELP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_F1); @@ -262,13 +265,6 @@ void ScreenEdit::InitEditMappings() m_EditMappingsDeviceInput.hold[EDIT_BUTTON_BAKE_RANDOM_FROM_SONG_GROUP_AND_GENRE][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); m_EditMappingsDeviceInput.hold[EDIT_BUTTON_BAKE_RANDOM_FROM_SONG_GROUP_AND_GENRE][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); - m_EditMappingsDeviceInput.button[EDIT_BUTTON_PLAY_FROM_START][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cp); - m_EditMappingsDeviceInput.hold[EDIT_BUTTON_PLAY_FROM_START][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); - m_EditMappingsDeviceInput.hold[EDIT_BUTTON_PLAY_FROM_START][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); - m_EditMappingsDeviceInput.button[EDIT_BUTTON_PLAY_FROM_CURSOR][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cp); - m_EditMappingsDeviceInput.hold[EDIT_BUTTON_PLAY_FROM_CURSOR][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT); - m_EditMappingsDeviceInput.hold[EDIT_BUTTON_PLAY_FROM_CURSOR][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RSHIFT); - m_EditMappingsDeviceInput.button[EDIT_BUTTON_PLAY_SELECTION][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cp); m_EditMappingsDeviceInput.button[EDIT_BUTTON_RECORD_SELECTION][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cr); m_EditMappingsDeviceInput.hold[EDIT_BUTTON_RECORD_SELECTION][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); m_EditMappingsDeviceInput.hold[EDIT_BUTTON_RECORD_SELECTION][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); @@ -480,10 +476,11 @@ static MenuDef g_EditHelp( MenuRowDef( -1, "PgUp/PgDn: jump measure", false, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( -1, "Home/End: jump to first/last beat", false, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( -1, "Ctrl + Up/Down: Change zoom", false, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef( -1, "Space: Set selection", false, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( -1, "Shift + Up/Down: Drag area marker", false, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( -1, "P: Play selection", false, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( -1, "Ctrl + P: Play whole song", false, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef( -1, "P: Play", false, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( -1, "Shift + P: Play current beat to end", false, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef( -1, "Ctrl + P: Play whole song", false, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( -1, "Ctrl + R: Record", false, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( -1, "F4: Toggle assist tick", false, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( -1, "F5/F6: Next/prev steps of same StepsType", false, EditMode_Full, true, true, 0, NULL ), @@ -515,8 +512,8 @@ static MenuDef g_PracticeHelp( MenuRowDef( -1, "Home, End: Jump to first/last beat", false, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( -1, "Hold Shift: Select region", false, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( -1, "Left, Right: Zoom", false, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( -1, "Enter: Play selection", false, EditMode_Practice, true, true, 0, NULL ), - MenuRowDef( -1, "P: Play from cursor", false, EditMode_Practice, true, true, 0, NULL ) + MenuRowDef( -1, "P: Play", false, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef( -1, "Space: Set selection", false, EditMode_Practice, true, true, 0, NULL ) ); static MenuDef g_MainMenu( @@ -1849,14 +1846,13 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) break; case EDIT_BUTTON_PLAY_SELECTION: - if( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ) - HandleAreaMenuChoice( play ); - else - HandleMainMenuChoice( play_current_beat_to_end ); + HandleMainMenuChoice( play_selection ); break; case EDIT_BUTTON_RECORD_SELECTION: if( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ) + { HandleAreaMenuChoice( record ); + } else { if( g_iDefaultRecordLength.Get() == -1 ) @@ -2687,16 +2683,24 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector &iAns case play_selection: if( m_NoteFieldEdit.m_iBeginMarker!=-1 && m_NoteFieldEdit.m_iEndMarker!=-1 ) HandleAreaMenuChoice( play ); + else if( m_NoteFieldEdit.m_iBeginMarker!=-1 ) + HandleMainMenuChoice( play_selection_start_to_end ); else HandleMainMenuChoice( play_current_beat_to_end ); - break; case play_whole_song: { m_iStartPlayingAt = 0; m_iStopPlayingAt = m_NoteDataEdit.GetLastRow(); m_iStopPlayingAt += BeatToNoteRow(4); // give a one measure lead out - + TransitionEditState( STATE_PLAYING ); + } + break; + case play_selection_start_to_end: + { + m_iStartPlayingAt = m_NoteFieldEdit.m_iBeginMarker; + m_iStopPlayingAt = m_NoteDataEdit.GetLastRow(); + m_iStopPlayingAt += BeatToNoteRow(4); // give a one measure lead out TransitionEditState( STATE_PLAYING ); } break; @@ -2705,7 +2709,6 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector &iAns m_iStartPlayingAt = BeatToNoteRow(GAMESTATE->m_fSongBeat); m_iStopPlayingAt = m_NoteDataEdit.GetLastRow(); m_iStopPlayingAt += BeatToNoteRow(4); // give a one measure lead out - TransitionEditState( STATE_PLAYING ); } break; diff --git a/stepmania/src/ScreenEdit.h b/stepmania/src/ScreenEdit.h index 3d300e1157..f88605cdc7 100644 --- a/stepmania/src/ScreenEdit.h +++ b/stepmania/src/ScreenEdit.h @@ -278,6 +278,7 @@ public: set_selection_end, edit_steps_information, play_whole_song, + play_selection_start_to_end, play_current_beat_to_end, save, revert_to_last_save,