45 lines
1.3 KiB
Objective-C
45 lines
1.3 KiB
Objective-C
//
|
|
// MIKMIDIInputPort.h
|
|
// MIDI Testbed
|
|
//
|
|
// Created by Andrew Madsen on 3/8/13.
|
|
// Copyright (c) 2013 Mixed In Key. All rights reserved.
|
|
//
|
|
|
|
#import "MIKMIDIPort.h"
|
|
#import "MIKMIDISourceEndpoint.h"
|
|
#import "MIKMIDICompilerCompatibility.h"
|
|
|
|
@class MIKMIDIEndpoint;
|
|
@class MIKMIDICommand;
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
* MIKMIDIInputPort is an Objective-C wrapper for CoreMIDI's MIDIPort class, and is only for source ports.
|
|
* It is not intended for use by clients/users of of MIKMIDI. Rather, it should be thought of as an
|
|
* MIKMIDI private class.
|
|
*/
|
|
@interface MIKMIDIInputPort : MIKMIDIPort
|
|
|
|
- (id _Nullable)connectToSource:(MIKMIDISourceEndpoint *)source
|
|
error:(NSError **)error
|
|
eventHandler:(MIKMIDIEventHandlerBlock)eventHandler;
|
|
- (void)disconnectConnectionForToken:(id)token;
|
|
|
|
@property (nonatomic, strong, readonly) MIKArrayOf(MIKMIDIEndpoint *) *connectedSources;
|
|
|
|
@property (nonatomic) BOOL coalesces14BitControlChangeCommands; // Default is YES
|
|
|
|
/**
|
|
* Time before sysex transmissions are considered over.
|
|
*
|
|
* This takes care of interruption in the data (devices being turned off or unplugged) as well as
|
|
* ill-behaved devices which don't terminate their sysex messages with 0xF7.
|
|
*/
|
|
@property (assign) NSTimeInterval sysexTimeOut;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|