mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-11 06:31:07 +02:00
Ensures that all files that Git considers to be text will have normalized (LF) line endings in the repository. When core.eol is set to native (which is the default), Git will convert the line endings of normalized files in your working directory back to your platform's native line ending. See also https://git-scm.com/docs/gitattributes
54 lines
1.0 KiB
C++
Executable File
54 lines
1.0 KiB
C++
Executable File
// 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));
|
|
}
|
|
};
|
|
}
|