diff --git a/assets/languages/en/Editors.xml b/assets/languages/en/Editors.xml index c36b63b5e1..9c23c3e445 100644 --- a/assets/languages/en/Editors.xml +++ b/assets/languages/en/Editors.xml @@ -262,6 +262,7 @@ Subtract sustain length Select all Select measure + Select Strumline Note Types List Edit Note Types List diff --git a/source/funkin/editors/charter/Charter.hx b/source/funkin/editors/charter/Charter.hx index a1c39bf891..b26886507f 100644 --- a/source/funkin/editors/charter/Charter.hx +++ b/source/funkin/editors/charter/Charter.hx @@ -2280,6 +2280,14 @@ class Charter extends UIState { if (note.step > Conductor.curMeasure*Conductor.getMeasureLength() && note.step < (Conductor.curMeasure+1)*Conductor.getMeasureLength()) note ]; } + + function _note_selectstrumline(_) { + if (strumLines.members.length == 0) return; + var strumId = Math.floor(FlxG.mouse.getWorldPosition(charterCamera).x / 40); + if (strumId < 0 || strumId >= strumLines.totalKeyCount) return; + var hoveredStrum = strumLines.members.indexOf(strumLines.getStrumlineFromID(strumId)); + if (hoveredStrum != -1) selection = [for (note in notesGroup.members) if (note.strumLineID == hoveredStrum) note]; + } #end function changeNoteSustain(change:Float) { @@ -2344,6 +2352,11 @@ class Charter extends UIState { keybind: [CONTROL, SHIFT, A], onSelect: _note_selectmeasure }, + { + label: translate("note.selectStrumline"), + keybind: [CONTROL, SHIFT, L], + onSelect: _note_selectstrumline + }, null ];