private void InitDictionary(int keyNoteOctave) { string charset = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!? ,."; Console.WriteLine("[INFO] Number of characters in dic: " + charset.Length); int noteCounter = 0; int octaveCounter = keyNoteOctave % MAX_OCTAVE; for (int i = 0; i < charset.Length; i++) { NoteOctave n = new NoteOctave(); switch (noteCounter) { case 0: n.note = NoteName.C; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; case 1: n.note = NoteName.CSharp; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; case 2: n.note = NoteName.D; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; case 3: n.note = NoteName.DSharp; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; case 4: n.note = NoteName.E; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; case 5: n.note = NoteName.F; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; case 6: n.note = NoteName.FSharp; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; case 7: n.note = NoteName.G; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; case 8: n.note = NoteName.GSharp; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; case 9: n.note = NoteName.A; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; case 10: n.note = NoteName.ASharp; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; case 11: n.note = NoteName.B; n.octave = octaveCounter; noteCounter++; noteEncoderDictionary.Add(charset[i], n); break; default: noteCounter = 0; octaveCounter++; octaveCounter = octaveCounter % MAX_OCTAVE; Console.WriteLine("[INFO] OctaveCounter = " + octaveCounter); i -= 1; //Repeat the loop iteration break; } } Console.WriteLine("[INFO] Loaded Encoder Dictionary"); }
internal OnNoteEvent(uint ticks, byte channel, NoteName noteName, NoteOctave noteOctave, byte velocity) : base( ticks, channel, noteName, noteOctave) { Velocity = velocity; }
internal NoteEvent(uint ticks, byte channel, NoteName noteName, NoteOctave noteOctave) : this(ticks, channel, (noteName, noteOctave).ToNoteNumber()) { }
internal OffNoteEvent(uint ticks, byte channel, NoteName noteName, NoteOctave noteOctave) : base(ticks, channel, noteName, noteOctave) { }