public MidiKeyHandler(MidiKey key) { this.key = key; Size = new Vector2(50); InternalChildren = new[] { background = new Container { RelativeSizeAxes = Axes.Both, Colour = Color4.DarkGreen, Alpha = 0, Child = new Box { RelativeSizeAxes = Axes.Both } }, new SpriteText { Anchor = Anchor.Centre, Origin = Anchor.Centre, Text = key.ToString().Replace("Sharp", "#") } }; }
/// <summary> /// Get the <see cref="MidiKeyEventManager"/> responsible for a specified midi key. /// </summary> /// <param name="key">The key to find the manager for.</param> /// <returns>The <see cref="MidiKeyEventManager"/>.</returns> public MidiKeyEventManager GetButtonEventManagerFor(MidiKey key) { if (midiKeyEventManagers.TryGetValue(key, out var existing)) { return(existing); } var manager = CreateButtonEventManagerFor(key); manager.GetInputQueue = () => NonPositionalInputQueue; return(midiKeyEventManagers[key] = manager); }
public TestSceneMidi() { var keyFlow = new FillFlowContainer { RelativeSizeAxes = Axes.X, AutoSizeAxes = Axes.Y, }; for (MidiKey k = MidiKey.A0; k < MidiKey.C8; k++) { keyFlow.Add(new MidiKeyHandler(k)); } Child = keyFlow; }
public static InputKey FromMidiKey(MidiKey key) => (InputKey)((int)InputKey.MidiA0 + key - MidiKey.A0);
/// <summary> /// Create a <see cref="MidiKeyEventManager"/> for a specified midi key. /// </summary> /// <param name="key">The key to be handled by the returned manager.</param> /// <returns>The <see cref="MidiKeyEventManager"/>.</returns> protected virtual MidiKeyEventManager CreateButtonEventManagerFor(MidiKey key) => new MidiKeyEventManager(key);
public MidiUpEvent([NotNull] InputState state, MidiKey key) : base(state, key, 0) { }
public MidiDownEvent([NotNull] InputState state, MidiKey key, byte velocity) : base(state, key, velocity) { }
protected MidiEvent([NotNull] InputState state, MidiKey key, byte velocity) : base(state) { Key = key; Velocity = velocity; }
public bool IsPressed(MidiKey key) => CurrentState.Midi.Keys.IsPressed(key);