mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-18 16:41:14 +02:00
Update portmidi to SVN r227.
This commit is contained in:
53
lib-src/portmidi/pm_csharp/pm_managed/pm_managed.h
Executable file
53
lib-src/portmidi/pm_csharp/pm_managed/pm_managed.h
Executable file
@@ -0,0 +1,53 @@
|
||||
// pm_managed.h
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "portmidi.h"
|
||||
|
||||
using namespace System;
|
||||
|
||||
namespace pm_managed {
|
||||
|
||||
|
||||
public ref class MpmDeviceInfo
|
||||
{
|
||||
public:
|
||||
int structVersion;
|
||||
System::String^ interf; /* underlying MIDI API, e.g. MMSystem or DirectX */
|
||||
System::String^ name; /* device name, e.g. USB MidiSport 1x1 */
|
||||
bool input; /* true iff input is available */
|
||||
bool output; /* true iff output is available */
|
||||
int opened; /* used by generic PortMidi code to do error checking on arguments */
|
||||
|
||||
MpmDeviceInfo(const PmDeviceInfo* info)
|
||||
{
|
||||
structVersion = info->structVersion;
|
||||
input = (info->input != 0);
|
||||
output = (info->output != 0);
|
||||
opened = info->opened;
|
||||
|
||||
interf = gcnew System::String(info->interf);
|
||||
name = gcnew System::String(info->name);
|
||||
}
|
||||
};
|
||||
|
||||
public ref class ManagedPortMIDI
|
||||
{
|
||||
public:
|
||||
int Pm_Initialize()
|
||||
{
|
||||
::Pm_Initialize();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Pm_CountDevices()
|
||||
{
|
||||
return ::Pm_CountDevices();
|
||||
}
|
||||
|
||||
MpmDeviceInfo^ Pm_GetDeviceInfo(int id)
|
||||
{
|
||||
return gcnew MpmDeviceInfo(::Pm_GetDeviceInfo(id));
|
||||
}
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user