public static DrumSequence.DrumKey ReadDrumKeyDown() { DrumSequence.DrumKey hit = DrumSequence.DrumKey.NONE; //Note -- MidiJack is not included with this sample project, but is the creation of Keijiro Takahashi //https://github.com/keijiro/MidiJack //if (MidiJack.MidiMaster.GetKeyDown(0x1F)) // hit = DrumSequence.DrumKey.One; //if (MidiJack.MidiMaster.GetKeyDown(0x30)) // hit = DrumSequence.DrumKey.Two; //if (MidiJack.MidiMaster.GetKeyDown(0x2F)) // hit = DrumSequence.DrumKey.Three; //if (MidiJack.MidiMaster.GetKeyDown(0x2D)) // hit = DrumSequence.DrumKey.Four; //if (MidiJack.MidiMaster.GetKeyDown(0x2B)) // hit = DrumSequence.DrumKey.Five; //if (MidiJack.MidiMaster.GetKeyDown(0x33)) // hit = DrumSequence.DrumKey.Six; //if (MidiJack.MidiMaster.GetKeyDown(0x31) || MidiJack.MidiMaster.GetKeyDown(0x37)) // hit = DrumSequence.DrumKey.Seven; return hit; }
public override void OnGUI(Rect rect) { //GUILayout.Label("Popup Options Example", EditorStyles.boldLabel); startIndex = EditorGUILayout.IntField("Insert at index", startIndex); numElements = EditorGUILayout.IntField("Num Elements", numElements); startCoord = EditorGUILayout.Vector3Field("Initial position", startCoord); spacing = EditorGUILayout.Vector3Field("Spacing", spacing); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Key", GUILayout.MinWidth(30)); key = (DrumSequence.DrumKey)EditorGUILayout.EnumPopup(key); EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Autofill to build from last coord")) { startIndex = sequence.keys.Count; startCoord = sequence.coords[startIndex - 1] + spacing; } if (GUILayout.Button("Generate!")) { sequence = GenerateAtIndex(startIndex); //Some sort of callback to reassign the new Sequence to the asset it came from? //Nope! since it's a reference type, } }
private void CheckDrumHit() { DrumSequence.DrumKey hit = DrumSequence.DrumKey.NONE; if (Input.GetKeyDown(KeyCode.Alpha1)) { hit = DrumSequence.DrumKey.One; } else if (Input.GetKeyDown(KeyCode.Alpha2)) { hit = DrumSequence.DrumKey.Two; } else if (Input.GetKeyDown(KeyCode.Alpha3)) { hit = DrumSequence.DrumKey.Three; } else if (Input.GetKeyDown(KeyCode.Alpha4)) { hit = DrumSequence.DrumKey.Four; } else if (Input.GetKeyDown(KeyCode.Alpha5)) { hit = DrumSequence.DrumKey.Five; } else if (Input.GetKeyDown(KeyCode.Alpha6)) { hit = DrumSequence.DrumKey.Six; } else if (Input.GetKeyDown(KeyCode.Alpha7)) { hit = DrumSequence.DrumKey.Seven; } if (hit != DrumSequence.DrumKey.NONE) { if (hit == reactiveSequence.Value.GetCurrentDrumKey(sequenceIndex.Value)) { AdvanceSequence(); } else { onMistakeCallback.Invoke(); ResetSequence(); } } }
private void AddPromptUnderCursor(DrumSequence.DrumKey keyNum) { Vector3 mouseWorldPos = UnityHelper.GetWorldSpaceMousePosition(); mouseWorldPos.z = 0; if (gridSnapping) { Vector3 gridPosition = GetGridSnappedPosition(mouseWorldPos); mouseWorldPos = gridPosition; } currentSequence.keys.Add(keyNum); currentSequence.coords.Add(mouseWorldPos); currentSequence.showLine.Add(true); onMovePrompt.Invoke(); }
private void CheckDrumHitMidi() { DrumSequence.DrumKey hit = DrumSequence.DrumKey.NONE; hit = DrumInputMIDIMap.ReadDrumKeyDown(); if (hit != DrumSequence.DrumKey.NONE) { if (hit == reactiveSequence.Value.GetCurrentDrumKey(sequenceIndex.Value)) { AdvanceSequence(); } else { ResetSequence(); } } }
public Color GetColorForKey(DrumSequence.DrumKey key) { int keyCode = (int)key - 1; //Enum is 1-indexed return(colorMap[keyCode]); }