草庐IT

c++ - 在 Windows 中,有没有办法在新的 MIDI 端口可用时收到通知?

在Windows中,有没有办法在新的MIDI端口可用时收到通知?轮询端口列表是否有更好的解决方案? 最佳答案 您的窗口可以监听WM_DEVICECHANGEmessages使用DBT_DEVICEARRIVAL事件,但该数据可能对您有用,也可能没有用。 关于c++-在Windows中,有没有办法在新的MIDI端口可用时收到通知?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/31

c++ - 在 Windows 中使用 MIDI 流时出现问题

我正在使用C++和WindowsAPI编写一个Windows程序,并且试图在MIDI流中对MIDI消息进行排队,但是当我尝试这样做时收到一个奇怪的错误。如果我使用midiOutShortMsg将非排队的MIDI消息发送到流,它可以正常工作。但是,midiStreamOut始终返回错误代码68,这是#defined到MCIERR_WAVE_OUTPUTUNSPECIFIED。midiOutGetErrorText给出了以下错误描述:ThecurrentMIDIMappersetupreferstoaMIDIdevicethatisnotinstalledonthesystem.UseMI

c# - 替代输入设备 (Midi) 不会阻止 Winforms 应用程序中的屏幕保护程序

我开发了一个C#WinForms应用程序,用户通过MIDI连接设备提供输入。用户将长时间不使用键盘或鼠标。当我收到一条MIDI消息时,我能做些什么来“告诉”系统这算作用户事件(即按键)。如果正在使用MIDI设备,我不希望出现屏幕保护程序或时间锁定。我认为我的请求与我见过的其他请求不同,因为他们希望在其应用程序的生命周期内禁用屏幕保护程序,因此我只希望我收到的MIDI输入算作用户交互。当我收到MIDI输入以表示系统用户事件时,我可以调用什么吗? 最佳答案 这是一个似乎是这样做的CodeProject项目:http://www.code

c++ - 在 Windows 上设置 midiIO 库

我已经下载了midiIO库,在自述文件中说:editthefileMakefile.libraryandsettheOSTYPEandOSSUBTYPEtomatchyourhardware/ossetup.type"makelibrary"tocompilethelibrary.Itwillbecreatedaslib/libmidiio.ainunix.editthefileMakefile.examplesandsettheOSTYPEandOSSUBTYPEtomatchyourhardware/ossetup.Also,ifyouareusingALSA,thenuncomm

c - 没有声音。通过 RubyDL 使用 Ruby 和 winmm

预期行为:中央C在一台MIDI乐器上演奏,然后在另一台上演奏。实际行为:DL弃用警告并且没有声音。运行Windows7。代码:require"dl/import"classLiveMIDION=0x90OFF=0x80PC=0xc0definitializeopenenddefnote_on(channel,note,velocity=64)message(ON|channel,note,velocity)enddefnote_off(channel,note,velocity=64)message(OFF|channel,note,velocity)enddefprogram_cha

windows - 64 位 Windows 8.1 和 Qt 上的 MIDI 应用程序 - 指针大小问题

我正在尝试开发一个C++Windows应用程序来处理来自某些MIDI设备的MIDI信息。我强制使用的操作系统是Windows8.164位。开发环境为Qt。在阅读了大量网页后,我发现Windows有一组低级函数来处理MIDI数据,允许将WindowsMIDI驱动程序与任何应用程序连接。这些功能在此处描述http://msdn.microsoft.com/en-us/library/windows/desktop/dd757277(v=vs.85).aspx到目前为止,我编写的软件工作正常,我能够在我的应用程序中处理传入的MIDI短消息。尽管如此,当涉及到将一些缓冲区从应用程序传递到驱动程

c# - 在结构中编码(marshal) IntPtr[] 会导致 midiStream 函数出现错误,但将数组展开到一堆字段是可行的

我正在尝试使用C#中的Windows多媒体MIDI函数。具体来说:MMRESULTmidiOutPrepareHeader(HMIDIOUThmo,LPMIDIHDRlpMidiOutHdr,UINTcbMidiOutHdr);MMRESULTmidiOutUnprepareHeader(HMIDIOUThmo,LPMIDIHDRlpMidiOutHdr,UINTcbMidiOutHdr);MMRESULTmidiStreamOut(HMIDISTRMhMidiStream,LPMIDIHDRlpMidiHdr,UINTcbMidiHdr);MMRESULTmidiStreamRest

c# - 如何在 C# 中将 midi 转换为 wav/mp3?

我开始了一个小项目,其中包括处理MIDI文件。我一直在想,是否有任何C#或VB.Net代码可以在MIDI和WAV文件之间转换? 最佳答案 您可以尝试以某种方式与Timidity进行交互,这是开源的:TiMidity++isasoftwaresynthesizer.ItcanplayMIDIfilesbyconvertingthemintoPCMwaveformdata;giveitaMIDIdataalongwithdigitalinstrumentdatafiles,thenitsynthesizestheminreal-time

c# - MIDI 音序器以微秒分辨率触发事件

有没有办法以几微秒的分辨率在C#中触发事件?我正在构建一个MIDI音序器,它需要在每个MIDI滴答声中触发一个事件,然后播放当时注册的任何音符。在每分钟120拍和120ppqn(每拍/四分音符脉冲数)分辨率下,该事件应每4.16666毫秒触发一次。现代音序器具有更高的分辨率,例如768ppqn,这要求该事件每651微秒触发一次。我发现的短时间事件的最佳分辨率是1毫秒。我怎样才能超越它?这个问题一定已经被任何C#MIDI音序器或MIDI文件播放器解决了。也许我只是没有从正确的角度看待问题。感谢您的帮助。 最佳答案 大多数MIDI音序器

javascript - 使用 javascript 连接 midi 键盘或其他实时 midi 输入?

我想创建一个简单的可视化工具,允许在屏幕上表示我正在弹奏midi键盘。我玩的是一种比较新颖的乐器,叫和声表:http://en.wikipedia.org/wiki/Harmonic_table_note_layouthttp://www.soundonsound.com/newspix/image/axis49.jpg并希望构建工具以方便使用并教其他人如何使用它们。但是,我无法找到一种好方法让midi进入javascript环境(或者,就此而言,Flash或Java,如果没有我力所能及的jiggery-pokery的大量帮助,以及使用来自看起来相当陈旧和废弃的开源项目。无论如何,我都