xref: /aosp_15_r20/external/walt/ios/WALT/MIDIEndpoint.h (revision bf47c6829f95be9dd55f4c5bbc44a71c90aad403)
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