Esempio n. 1
0
        /// <summary>
        /// Hides the control and moves all other controls to fill the space
        /// </summary>
        private void Remove(NoteMessage c)
        {
            c.Visible = false;

            var y = c.Bottom;

            if (y == panelContent.Height)
            {
                if (c.Top > 0)
                {
                    panelContent.Height -= c.Height + 1;
                }
                else
                {
                    SetupControls();
                }
            }
            else
            {
                var offset = c.Height + 1;

                foreach (Control control in panelContent.Controls)
                {
                    if (control.Top > y)
                    {
                        control.Top -= offset;
                    }
                }

                panelContent.Height -= offset;
            }
        }
Esempio n. 2
0
 public void NoteOn(NoteMessage message)
 {
     if (mute == false)
     {
         bindChannel.NoteOn(message);
     }
 }
Esempio n. 3
0
 public void NoteOff(NoteMessage message)
 {
     if (playingSource.ContainsKey(message.pitch))
     {
         audioPool.StopSound(playingSource[message.pitch]);
         playingSource[message.pitch] = null;
     }
 }
Esempio n. 4
0
        public NoteEventEditDialog(Measure Measure, NoteMessage msg) : this(Measure) {
            nudVelocity.Value = msg.Velocity;

            StyleTime t = StyleTime.FromStyleTimestamp(msg.TotalTime, Measure);

            this.tbTimeBar.Text    = t.Bar.ToString();
            this.tbTimeBeat.Text   = t.Beat.ToString();
            this.tbTimeCPT.Text    = t.ClockPulseTime.ToString();
            this.nudVelocity.Value = msg.Velocity;
        }
Esempio n. 5
0
    public void NoteOn(NoteMessage message)
    {
        audioPool.PlayOneShot(GetClip(message.pitch), volume);

        /*
         * var source = audioPool.PlaySound(GetClip(message.pitch));
         * if(playingSource.ContainsKey(message.pitch))
         * {
         *      playingSource[message.pitch] = source;
         * }
         * else
         * {
         *      playingSource.Add(message.pitch,source);
         * }*/
    }
        private void lwMessages_DoubleClick(object sender, EventArgs e)
        {
            if (lwMessages.SelectedIndices.Count == 1)
            {
                StyleEntry entry = (StyleEntry)lwMessages.SelectedItems[0].Tag;

                switch (entry.Message.MessageType)
                {
                case MidiMessageType.Note:
                    NoteMessage         msg = (NoteMessage)entry.Message;
                    NoteEventEditDialog dlg = new NoteEventEditDialog(this.Data.Measure, msg);
                    if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                    }
                    break;
                }
            }
        }
        internal async Task SendDeviceToCloudMessageAsync(NoteMessage note)
        {
            if (_deviceClient == null)
            {
                return;
            }

            try
            {
                _logging.LogMessage($"Sending message to the cloud: {note.Note} for event {note.EventId}.", LoggingLevel.Verbose);
                var message = new Message(Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(note)));
                await _deviceClient.SendEventAsync(message);
            }
            catch (UnauthorizedException eu)
            {
                _logging.LogMessage($"SendDeviceToCloudMessageAsync: Unauthorized access. It can happen if the connection was lost.", LoggingLevel.Error);
                Connected = false;
            }
            catch (Exception e)
            {
                _logging.LogMessage($"SendDeviceToCloudMessageAsync: {e.Message}", LoggingLevel.Critical);
                Connected = false;
            }
        }
Esempio n. 8
0
 public NoteEvent(float beatStamp, NoteEventType type, NoteMessage message)
 {
     this.beatStamp = beatStamp;
     this.eventType = type;
     this.message   = message;
 }
Esempio n. 9
0
 public void NoteOff(NoteMessage message)
 {
     bindChannel.NoteOff(message);
 }
Esempio n. 10
0
        private void SetupControls()
        {
            var notes = account.Notes;
            var count = 0;

            if (notes != null && notes.Count > 0)
            {
                if (reusable == null)
                {
                    reusable = new Util.ReusableControls();
                }
                else
                {
                    reusable.ReleaseAll();
                }

                var controls = reusable.CreateOrAll <NoteMessage>(notes.Count,
                                                                  delegate
                {
                    var c = new NoteMessage()
                    {
                        Width  = panelContent.Width,
                        Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right,
                    };

                    c.DeleteClick += message_DeleteClick;
                    c.EditClick   += message_EditClick;

                    return(c);
                });

                var now = DateTime.UtcNow;

                var x = 0;
                var y = 0;

                var expired = selectedTab == buttonExpired;
                Settings.Notes.Note[] _notes;

                lock (notes)
                {
                    var index = notes.IndexOf(now);

                    if (expired)
                    {
                        _notes = new Settings.Notes.Note[index];
                    }
                    else
                    {
                        _notes = new Settings.Notes.Note[notes.Count - index];
                    }

                    ExpiredCount = index;
                    MessageCount = notes.Count - index;

                    if (_notes.Length > 0)
                    {
                        notes.CopyTo(expired ? 0 : index, _notes, 0, _notes.Length);
                    }
                }

                for (var i = 0; i < _notes.Length; i++)
                {
                    Settings.Notes.Note n;
                    if (expired)
                    {
                        n = _notes[_notes.Length - i - 1];
                    }
                    else
                    {
                        n = _notes[i];
                    }

                    var c = controls.GetNext();

                    c.Location = new Point(x, y);
                    c.Tag      = n;
                    c.Expires  = n.Expires;

                    string message;
                    strings.TryGetValue(n.SID, out message);
                    c.Message = message;

                    c.Visible = true;

                    y += c.Height + 1;

                    count++;
                }

                if (y > 0)
                {
                    y--;
                }

                panelContent.Height = y;

                while (controls.HasNext)
                {
                    controls.GetNext().Visible = false;
                }
                if (controls.New != null)
                {
                    panelContent.Controls.AddRange(controls.New);
                }
            }
            else
            {
                ExpiredCount = 0;
                MessageCount = 0;
            }

            if (count > 0)
            {
                panelContent.Visible = true;
                labelMessage.Visible = false;

                scrollV.Maximum = panelContent.Height - panelContainer.Height;
            }
            else
            {
                panelContent.Visible     = false;
                labelMessage.Text        = "No messages";
                labelMessage.MaximumSize = new Size(panelContainer.Width * 3 / 4, panelContainer.Height);
                labelMessage.Location    = new Point(panelContainer.Width / 2 - labelMessage.Width / 2, panelContainer.Height / 2 - labelMessage.Height / 2);
                labelMessage.Visible     = true;
            }
        }
 public void Add(NoteMessage note)
 {
     eventQueue.Enqueue(note);
 }
Esempio n. 12
0
 private void EnrichNoteMessage(NoteMessage msg, DtoMidiNoteMessage on)
 {
     EnrichChannelMessage(msg, on);
     on.Pitch    = Convert.ToByte(msg.Pitch);
     on.Velocity = Convert.ToByte(msg.Velocity);
 }
Esempio n. 13
0
 public void Notify(NoteMessage message)
 {
     PlayerCtrl.Control.Logger.Log("NoteOn\t{0}\t{1}", message.NoteNumber, message.Length);
 }
Esempio n. 14
0
 public bool IsSame(NoteMessage m)
 {
     return(Channel == m.Channel &&
            Note == m.Note);
 }