MKNote.h File Reference

#import <Foundation/Foundation.h>
#import <Foundation/NSObject.h>
#import "MKConductor.h"
#import "params.h"

Go to the source code of this file.

Classes

class  MKNote
 A MKNote object represents a musical sound or event by describing its attributes. More...

Typedefs

typedef enum _MKNoteType MKNoteType
 This enumeration defines the types of MKNote objects. The types are as follows.
typedef enum _MKDataType MKDataType
 This enumeration defines the types of parameters in MKNote objects.

Enumerations

enum  _MKNoteType {
  MK_noteDur = 257, MK_noteOn, MK_noteOff, MK_noteUpdate,
  MK_mute
}
 This enumeration defines the types of MKNote objects. The types are as follows. More...
enum  _MKDataType {
  MK_noType = ((int)MK_sysReset + 1), MK_double, MK_string, MK_int,
  MK_object, MK_envelope, MK_waveTable
}
 This enumeration defines the types of parameters in MKNote objects. More...

Functions

unsigned MKNoteTag (void)
 Create note tags. MKNoteTag() returns a note tag value that's guaranteed to be unique across your entire application.
unsigned MKNoteTags (unsigned n)
 Create note tags. MKNoteTags() returns the first of a block of n unique, contiguous note tags.
double MKdB (double dB)
 Convert decibels to amplitude.
double MKMidiToAmp (int midiValue)
 Translate loudness from the MusicKit to MIDI. Maps MIDI value (such as velocity) onto an amplitude scaler such that 64->1.0, 127->10.0, and 0->0.
double MKMidiToAmpWithSensitivity (int midiValue, double sensitivity)
 Translate loudness from the MusicKit to MIDI. Same as MKMidiToAmp, but uses sensitivity to control how much effect midiValue has.
int MKAmpToMidi (double amp)
 Translate loudness from the MusicKit to MIDI. Maps an amplitude scaler onto velocity such that MKAmpToMidi(MKMidiToAmp(x)) == x.
double MKMidiToAmpAttenuation (int midiValue)
 Translate loudness from the MusicKit to MIDI. Maps MIDI controller values (e.g. volume pedal) onto an amplitude scaler such that 64->0.1, 127->1.0, and 0->0.
double MKMidiToAmpAttenuationWithSensitivity (int midiValue, double sensitivity)
 Translate loudness from the MusicKit to MIDI. Maps MIDI controller values (e.g. volume pedal) onto an amplitude scaler such that 64->0.1, 127->1.0, and 0->0. Uses sensitivity to control how much effect midiValue has.
int MKAmpAttenuationToMidi (double amp)
 Translate loudness from the MusicKit to MIDI. Maps an amplitude scaler onto velocity such that MKAmpAttenuationToMidi(MKMidiToAmpAttenuation(x)) == x.
int MKHighestPar (void)
 Returns the parameter tag of the highest numbered parameter.
NSHashEnumerator * MKInitParameterIteration (MKNote *aNote)
 Query for a MKNote's parameters.
int MKNextParameter (MKNote *aNote, NSHashEnumerator *iterationState)
 Retrieve the next parameter.
id MKSetNoteParToDouble (MKNote *aNote, int par, double value)
 Set a MKNote's parameter to a double value.
id MKSetNoteParToInt (MKNote *aNote, int par, int value)
 Set a MKNote's parameter to an integer value.
id MKSetNoteParToString (MKNote *aNote, int par, NSString *value)
 Set a MKNote's parameter to a NSString value.
id MKSetNoteParToEnvelope (MKNote *aNote, int par, id envObj)
 Set a MKNote's parameter to a MKEnvelope value.
id MKSetNoteParToWaveTable (MKNote *aNote, int par, id waveObj)
 Set a MKNote's parameter to a MKWaveTable value.
id MKSetNoteParToObject (MKNote *aNote, int par, id anObj)
 Set a MKNote's parameter to an Object value.
double MKGetNoteParAsDouble (MKNote *aNote, int par)
 Retrieve an MKNote's parameter as a double value.
int MKGetNoteParAsInt (MKNote *aNote, int par)
 Retrieve an MKNote's parameter as an integer value.
NSString * MKGetNoteParAsString (MKNote *aNote, int par)
 Retrieve an MKNote's parameter as a NSString value.
NSString * MKGetNoteParAsStringNoCopy (MKNote *aNote, int par)
 Retrieve an MKNote's parameter as a NSString value.
id MKGetNoteParAsEnvelope (MKNote *aNote, int par)
 Retrieve an MKNote's parameter as an MKEnvelope value.
id MKGetNoteParAsWaveTable (MKNote *aNote, int par)
 Retrieve an MKNote's parameter as an MKWaveTable value.
id MKGetNoteParAsObject (MKNote *aNote, int par)
 Retrieve an MKNote's parameter as an object value.
BOOL MKIsNoteParPresent (MKNote *aNote, int par)
 Query for a MKNote's parameters.


Detailed Description


Enumeration Type Documentation

This enumeration defines the types of parameters in MKNote objects.

Enumerator:
MK_noType  Invalid type.
MK_double  C Double value.
MK_string  Character string value.
MK_int  C int value.
MK_object  Generic object value. Object must implement scorefile object protocol.
MK_envelope  MKEnvelope object value. Object must implement MKEnvelope protocol.
MK_waveTable  MKWaveTable object value. Object must implement MKWaveTable protocol.

This enumeration defines the types of MKNote objects. The types are as follows.

Enumerator:
MK_noteDur  A MKNote with a duration. Can have a noteTag.
MK_noteOn  The start of a musical note. Must have a noteTag.
MK_noteOff  The onset of the ending portion of a musical note. Must have a noteTag.
MK_noteUpdate  An update to an already-playing musical note. Can have a noteTag.
MK_mute  A MKNote that makes no sound. May not have a noteTag.


Generated on Sat Dec 5 17:01:14 2009 for MusicKit by  doxygen 1.5.6