C++ MIDIインプットデバイスのリストアップ(Windows)

2013/09/10 21:00

WindowsでMIDIインプットデバイスをリストアップをするだけのC++プログラムのソースコードです。


#include <stdio.h> 

#include <windows.h> 
#include <mmsystem.h>

#pragma comment(lib, "winmm.lib")

int main(int argc, char** argv) 
{
    MMRESULT result;
    MIDIINCAPS midi_in_caps;
    const s32 BUFF_SIZE = 32;
    char device_name_buff[BUFF_SIZE];
    unsigned int num_devices =  midiInGetNumDevs();

    printf( "number of devices: %d\n", num_devices);

    for( unsigned int dev_id=0; dev_id<num_devices; ++dev_id )
    {
        UINT cbMidiInCaps;
        result = midiInGetDevCaps(
                        dev_id,
                        &midi_in_caps,
                        sizeof(midi_in_caps)
                    );
        if (result != MMSYSERR_NOERROR) { continue; }

        errno_t error = wcstombs_s( 
            NULL, device_name_buff, BUFF_SIZE, 
            midi_in_caps.szPname, sizeof(midi_in_caps.szPname));
        if( error!=0 ){ continue; }

        printf("ID=%d: %s\n", dev_id, device_name_buff);
    }
	return 0;
}

  このエントリーをはてなブックマークに追加    

<<「ソフトウェア開発」の記事一覧に戻る

関連記事