00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackCoreMidiPort__
00021 #define __JackCoreMidiPort__
00022
00023 #include <CoreMIDI/CoreMIDI.h>
00024 #include <set>
00025
00026 #include "JackConstants.h"
00027
00028 namespace Jack {
00029
00030 class JackCoreMidiPort {
00031
00032 private:
00033
00034 char alias[REAL_JACK_PORT_NAME_SIZE];
00035 bool initialized;
00036 char name[REAL_JACK_PORT_NAME_SIZE];
00037
00038 protected:
00039
00040 void
00041 Initialize(const char *alias_name, const char *client_name,
00042 const char *driver_name, int index,
00043 MIDIEndpointRef endpoint, bool is_output);
00044
00045 double time_ratio;
00046 MIDIEndpointRef endpoint;
00047
00048 MIDIEndpointRef
00049 GetEndpoint();
00050
00051 static std::set<MIDIEndpointRef> endpoint_list;
00052
00053 public:
00054
00055 JackCoreMidiPort(double time_ratio);
00056
00057 virtual
00058 ~JackCoreMidiPort();
00059
00060 const char *
00061 GetAlias();
00062
00063 const char *
00064 GetName();
00065
00066 static bool IsInternalPort(MIDIObjectRef port_aux);
00067
00068 };
00069
00070 }
00071
00072 #endif