0

MIDI キーボードのキーを押したときにアクションを実行する Python スクリプトを作成しています。

# https://github.com/superquadratic/rtmidi-python/

import rtmidi_python as rtmidi

def callback(message, time_stamp):
    print message, time_stamp

midi_in = rtmidi.MidiIn()
midi_in.callback = callback
midi_in.open_port(0)

# do something else here (but don't quit)

では、ホイールを回転させて不要な CPU を消耗させずに、スクリプトがコールバックを応答的に処理できるようにするにはどうすればよいでしょうか?

初期の Visual Studio 時代から、'while( true ) { doevents(); ' を覚えています。}' タイプ コンストラクト -- オペレーティング システムはアクティブなプロセスを循環し、それぞれに特定のタイム スライスを割り当てます。このコマンドは単に制御をスケジューラに返します。

しかし、私は OSX を使用しており、プラットフォームに依存しない Python スクリプトを作成したいと考えています。

できますか?

4

1 に答える 1

0
while True:
    dance_the_merry_dance()
    if should_exit():
        break

a while true を使用します。イベントでブロックすることも、ファイルハンドルがある場合は select を使用することもできます。

于 2014-02-21T09:43:35.057 に答える