コード例 #1
0
            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", "#")
                    }
                };
            }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        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;
        }
コード例 #4
0
 public static InputKey FromMidiKey(MidiKey key) => (InputKey)((int)InputKey.MidiA0 + key - MidiKey.A0);
コード例 #5
0
 /// <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);
コード例 #6
0
 public MidiUpEvent([NotNull] InputState state, MidiKey key)
     : base(state, key, 0)
 {
 }
コード例 #7
0
 public MidiDownEvent([NotNull] InputState state, MidiKey key, byte velocity)
     : base(state, key, velocity)
 {
 }
コード例 #8
0
 protected MidiEvent([NotNull] InputState state, MidiKey key, byte velocity)
     : base(state)
 {
     Key      = key;
     Velocity = velocity;
 }
コード例 #9
0
 public bool IsPressed(MidiKey key) => CurrentState.Midi.Keys.IsPressed(key);