MIDI制御スクリプト逆引き
Transport
再生と停止を交互に切り替える
import transport # FLのTransport(Play, Stop, Pause & Record)を操作する.
def toggle_between_play_and_pause(event):
print("play/stop") # 再生/停止する.
if transport.isPlaying(): # 再生中
transport.stop() # 停止.
else: # 停止している.
transport.start() # 再生.
event.handled = True # FLに処理させる.
Pattern(ステップ)モード・Loopモード切り替え
import transport # FLのTransport(Play, Stop, Pause & Record)を操作する.
def change_loopmode(event):
# ループモード切り替え.
transport.setLoopMode()
event.handled = True # FLに処理させる
録音モードの切替
import transport # FLのTransport(Play, Stop, Pause & Record)を操作する.
def toggle_record(event):
# 録音状態の切り替え
print("record") # 録音切り替え.
transport.record()
event.handled = True # FLに処理させる.
再生位置をノブの位置に移動する
import transport # FLのTransport(Play, Stop, Pause & Record)を操作する.
import patterns # FLのパターン操作.
# 定義が見つからないのでここで定義してみる...
SONGLENGTH_MS = 0 # SONGモードの長さをMSで取得.
VAL_MIN = 0 # 値の最小.
VAL_MAX = 127 # 値は0〜127まで.
def move_song_pos(event):
# ノブの位置で再生位置を移動してみる.
if transport.getLoopMode() == 0:
# パターンモード.
idx = patterns.patternNumber() # 現在選択しているパターン.
total = patterns.getPatternLength(idx) # パターンの長さ.
pos = int(total * event.data2 / VAL_MAX)
print("pos:", pos , " total:", total)
transport.setSongPos(1.0 * pos / total)
else:
# ソングモード.
total = transport.getSongLength(SONGLENGTH_MS) # 曲の長さ.
pos = total * event.data2 / VAL_MAX
print("pos:", pos , " total:", total)
transport.setSongPos(pos, SONGLENGTH_MS)
event.handled = True # FLに処理させる.
Plugins
プリセットの切り替え
import channels # FLのチャンネルラック操作.
import patterns # FLのパターン操作.
import plugins # FLのプラグイン操作.
# プリセット変更(1つ前).
def prev_preset():
# 選択しているチャンネル番号を取得する.
channel_idx = channels.channelNumber()
print("prevPreset")
plugins.prevPreset(channel_idx)
event.handled = True # FLに処理させる.
# プリセット変更(1つ先).
def next_preset():
# 選択しているチャンネル番号を取得する.
channel_idx = channels.channelNumber()
print("nextPreset")
plugins.nextPreset(channel_idx)
event.handled = True # FLに処理させる.
参考
最終更新:2024年01月07日 11:15