1*bf47c682SAndroid Build Coastguard Worker /* 2*bf47c682SAndroid Build Coastguard Worker * Copyright (C) 2016 The Android Open Source Project 3*bf47c682SAndroid Build Coastguard Worker * 4*bf47c682SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*bf47c682SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*bf47c682SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*bf47c682SAndroid Build Coastguard Worker * 8*bf47c682SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*bf47c682SAndroid Build Coastguard Worker * 10*bf47c682SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*bf47c682SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*bf47c682SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*bf47c682SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*bf47c682SAndroid Build Coastguard Worker * limitations under the License. 15*bf47c682SAndroid Build Coastguard Worker */ 16*bf47c682SAndroid Build Coastguard Worker 17*bf47c682SAndroid Build Coastguard Worker #include <CoreMIDI/CoreMIDI.h> 18*bf47c682SAndroid Build Coastguard Worker #import <Foundation/Foundation.h> 19*bf47c682SAndroid Build Coastguard Worker 20*bf47c682SAndroid Build Coastguard Worker /** An abstract MIDI endpoint (input source or output destination). */ 21*bf47c682SAndroid Build Coastguard Worker @interface MIDIEndpoint : NSObject 22*bf47c682SAndroid Build Coastguard Worker @property (readonly, nonatomic) MIDIEndpointRef endpoint; 23*bf47c682SAndroid Build Coastguard Worker @property (readonly, nonatomic) NSString *name; 24*bf47c682SAndroid Build Coastguard Worker @property (readonly, nonatomic, getter=isOnline) BOOL online; 25*bf47c682SAndroid Build Coastguard Worker @end 26*bf47c682SAndroid Build Coastguard Worker 27*bf47c682SAndroid Build Coastguard Worker @interface MIDIDestination : MIDIEndpoint 28*bf47c682SAndroid Build Coastguard Worker /** Returns an NSArray of all MIDI output destinations currently available on the system. */ 29*bf47c682SAndroid Build Coastguard Worker + (NSArray<MIDIDestination *> *)allDestinations; 30*bf47c682SAndroid Build Coastguard Worker @end 31*bf47c682SAndroid Build Coastguard Worker 32*bf47c682SAndroid Build Coastguard Worker @interface MIDISource : MIDIEndpoint 33*bf47c682SAndroid Build Coastguard Worker /** Returns an NSArray of all MIDI input sources currently available on the system. */ 34*bf47c682SAndroid Build Coastguard Worker + (NSArray<MIDISource *> *)allSources; 35*bf47c682SAndroid Build Coastguard Worker @end 36