56 lines
1.6 KiB
Objective-C
56 lines
1.6 KiB
Objective-C
//
|
|
// MIKMIDIChannelVoiceCommand.h
|
|
// MIDI Testbed
|
|
//
|
|
// Created by Andrew Madsen on 6/2/13.
|
|
// Copyright (c) 2013 Mixed In Key. All rights reserved.
|
|
//
|
|
|
|
#import "MIKMIDICommand.h"
|
|
#import "MIKMIDICompilerCompatibility.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
* MIKMIDIChannelVoiceCommand is used to represent MIDI messages whose type is
|
|
* any of the channel voice command subtypes. Specific support for channel voice command
|
|
* subtypes is provided by subclasses of MIKMIDIChannelVoiceCommand (e.g.
|
|
* MIKMIDIControlChangeCommand, MIKMIDINoteOnCommand, etc.)
|
|
*/
|
|
@interface MIKMIDIChannelVoiceCommand : MIKMIDICommand
|
|
|
|
/**
|
|
* The MIDI channel the message was or should be sent on. Valid
|
|
* values are from 0-15.
|
|
*/
|
|
@property (nonatomic, readonly) UInt8 channel;
|
|
|
|
/**
|
|
* The value of the command. The meaning of this property is
|
|
* different for different subtypes. For example, for a control change command,
|
|
* this is the controllerValue. For a note on command, this is the
|
|
* velocity.
|
|
*/
|
|
@property (nonatomic, readonly) NSUInteger value;
|
|
|
|
@end
|
|
|
|
/**
|
|
* The mutable counterpart of MIKMIDIChannelVoiceCommand.
|
|
*/
|
|
@interface MIKMutableMIDIChannelVoiceCommand : MIKMIDIChannelVoiceCommand
|
|
|
|
@property (nonatomic, readwrite) UInt8 channel;
|
|
@property (nonatomic, readwrite) NSUInteger value;
|
|
|
|
@property (nonatomic, strong, readwrite) NSDate *timestamp;
|
|
@property (nonatomic, readwrite) MIKMIDICommandType commandType;
|
|
@property (nonatomic, readwrite) UInt8 dataByte1;
|
|
@property (nonatomic, readwrite) UInt8 dataByte2;
|
|
|
|
@property (nonatomic, readwrite) MIDITimeStamp midiTimestamp;
|
|
@property (nonatomic, copy, readwrite, null_resettable) NSData *data;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END |