Beispiel #1
0
        private void picKeyboard_MouseDown(object sender, MouseEventArgs e)
        {
            mMouseDownPos = mCtrl.PointToClient(Cursor.Position);
            var knobY = mMouseDownPos.Y / ChannelHeight;
            var knobX = -1;

            for (int i = 0; i < KnobPos.Length; i++)
            {
                var x = mMouseDownPos.X - KnobPos[i].X - 1.5;
                var y = mMouseDownPos.Y - knobY * ChannelHeight - KnobPos[i].Y;
                var r = Math.Sqrt(x * x + y * y);
                if (r <= KnobRadius + 5)
                {
                    knobX = i;
                }
            }
            mIsDrag = 0 <= knobX;

            mChannelNo = knobY;
            if (MuteButton.X <= mMouseDownPos.X && mMouseDownPos.X < MuteButton.X + MuteButton.Width)
            {
                if (e.Button == MouseButtons.Right)
                {
                    if (mPlayer.Channel(knobY).Enable)
                    {
                        for (int i = 0; i < 16; ++i)
                        {
                            if (knobY == i)
                            {
                                mSender.MuteChannel(i, true);
                            }
                            else
                            {
                                mSender.MuteChannel(i, false);
                            }
                        }
                    }
                    else
                    {
                        for (int i = 0; i < 16; ++i)
                        {
                            if (knobY == i)
                            {
                                mSender.MuteChannel(i, false);
                            }
                            else
                            {
                                mSender.MuteChannel(i, true);
                            }
                        }
                    }
                }
                else
                {
                    mSender.MuteChannel(knobY, mPlayer.Channel(knobY).Enable);
                }
            }
            mKnobNo = knobX;
        }