Click or drag to resize
MidiGremlin Namespace
Introductions guide for MidiGremlin

The MidiGremlin library has been established by the group A311b from the universsity of AAlborg. The purpose of the library is, to give the programmer an easy way to implement and creat their own music. MidiGremlin is a benchmark from an exicting popular library named MIDI.net. The idee behind the MidiGremlin structure is based on the MIDI.net, but unlike MIDI.net´s confusing format and structure is this new library quite more simpler. MidiGremlin is an abstraction from MIDI.net. The abstraction makes the notations and syntaxes a lot easier for the programmer. Enjoy the library

Classes
  ClassDescription
Public classChordVariety
Used to construct and define the different chords.
Public classInstrument
The Instrument class implements the method Play which plays the saved music from the class MusicObject.
Public classInstrumentTypeExtensions
This class contains extension methods for the InstrumentType enum.
Public classKeystroke
The Keystroke class consists of a tone and its duration. Note that two keystrokes are played with the same start-time unless a pause is added between them.
Public classMusicObject
The MusicObject is an abstract class that represents several different music structures. It handles the individual tones, pauses and chords. It also handles groups containing other MusicObjects, to be played either in sequence or in parallel.
Public classNote
Contains a Keystroke and a Pause.
Public classOrchestra
The Orchestra class creates and manages new instances of the instrument class.
Public classParallelMusicCollection
The class ParallelMusicCollection inherits from the class MusicObject. It consists of a list of MusicObjects that will be played with the same start-time.
Public classPause
The class Pause inherits from the class MusicObject. It represents an amount of time(in beats) before the next MusicObject in the list should be played.
Public classScale
The class represents a scale as a list of tones from the cromatic scale. This is used when determining Chords.
Public classSequentialMusicList
The class SequentialMusicList inherits from the class MusicObject. The class consists of an ordered list of MusicObjects, each played after the last pause of the previous one.
Public classToneNotFoundException
A simple class which handles exceptions that could happen when trying to get the index of a note that does not exist.
Public classToneOutOfRangeException
Exception thrown when the tone contained in a Keystroke class is not supported by the MIDI standard because it is out of range. A rising or falling sequence of tones will be outside normal human hearing(and perhaps speaker capacity) long before this exception is thrown.
Public classWinmmOut
The class Winmm Windows Multi Media Output. This class communicates with winmm which outputs to the speaker using the specified device.
Interfaces
  InterfaceDescription
Public interfaceIMidiOut
An interface that manages output of the music.
Enumerations
  EnumerationDescription
Public enumerationInstrumentType
The enumeration InstrumentType is an enumeration which represents and gives the different instruments types certain values.
Public enumerationTone
An enumeration which represents the tones by their names. Starts at C. Values outside the ones enumerated are interpreted as part being a different octave.