_Lexa98_
Осваивающий
- Сообщения
- 551
- Репутация
- 25
Начал осваивать midi синтезаторы и тут вышла проблема при эмуляции Novation Launchpad к Ableton Live.
При таких параметрах на миди порт подается сигнал о нажатии (Note On) на ноту 60 выбранной в Ableton аудиодорожки, это работает.
Но сколько я не перебирал нот и значений, но код не хочет работать с Ableton в Perfomance режиме, он принимает нажатия, но не запускает дорожки.
Здесь (Пункт 2) есть описание MIDI message, которые нужно отправлять для воспроизведения дорожек на падах 0-120.
Нужно отправить такое сообщение на миди порт, чтобы Ableton воспринял его как нажатие кнопки 0 на Launchpad.
Поможет кто?
P.S: Знаю, что не совсем понятно объяснил, но главное в выделенном СИНИМ цветом
Код:
Structure MIDIDATA
Channel.b
Note.b
Velocity.b
Null.b
EndStructure
midi.MIDIOUTCAPS
devices = midiOutGetNumDevs_()
For devnum = -1 To devices-1
If midiOutGetDevCaps_(devnum, @midi, SizeOf(MIDIOUTCAPS)) = 0
If midi\wVoices > 0
midiport = devnum
EndIf
EndIf
Next
midiport = 1
*hMidiOut = 0
result = midiOutOpen_(@hMidiOut, midiport, 0, 0, 0)
Note.b = 60
Vel.b = 100
Channel.b = 1
Instrument.b = 90
dMsg.MIDIDATA\Note = Instrument
dMsg\Channel = $bf + Channel
result = midiOutShortMsg_(hMidiOut, PeekW(dMsg))
dMsg\Velocity = Vel
dMsg\Note = Note
dMsg\Channel = $8f + Channel ;Note On
result = midiOutShortMsg_(hMidiOut, PeekL(dMsg))
Delay(50)
dMsg\Channel = $7f + Channel ;Note Off
result = midiOutShortMsg_(hMidiOut, PeekL(dMsg))
result = midiOutClose_(hMidiOut)
При таких параметрах на миди порт подается сигнал о нажатии (Note On) на ноту 60 выбранной в Ableton аудиодорожки, это работает.
Но сколько я не перебирал нот и значений, но код не хочет работать с Ableton в Perfomance режиме, он принимает нажатия, но не запускает дорожки.
Здесь (Пункт 2) есть описание MIDI message, которые нужно отправлять для воспроизведения дорожек на падах 0-120.
Нужно отправить такое сообщение на миди порт, чтобы Ableton воспринял его как нажатие кнопки 0 на Launchpad.
Поможет кто?
P.S: Знаю, что не совсем понятно объяснил, но главное в выделенном СИНИМ цветом