[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Om-synth] midi split
From: |
Atte André Jensen |
Subject: |
[Om-synth] midi split |
Date: |
Wed, 07 Dec 2005 10:40:37 +0100 |
User-agent: |
Debian Thunderbird 1.0.7 (X11/20051017) |
Hi
I desperately need to set up midi splits:
1) What's the status of the splitting functionality in (the New Midi
Stuff in) om?
2) In the mean time, I tried starting the attached pythonscript (needs
pyseq). Unfortunately connecting something to its ports screws up lash;
things get loaded with completely wrong connections... What did I miss
here?
--
peace, love & harmony
Atte
http://www.atte.dk
#!/usr/bin/env python
# -*- coding: latin-1 -*-
from pyseq import *
class MidiSplit(PySeq):
def init(self, sp=None):
if sp:
self.splitPoints=sp[:]
else:
self.splitPoints=[60]
self.inport=self.createInPort()
self.outports=[]
for i in range(len(self.splitPoints)+1):
self.outports.append(self.createOutPort())
def callback(self, ev):
if ev.type==SND_SEQ_EVENT_NOTEON or ev.type==SND_SEQ_EVENT_NOTEOFF:
note=ev.getData().note
index=len([x for x in self.splitPoints if note>=x])
ev.sendNow(self, self.outports[index])
else:
ev.sendNow(self, self.outports[0])
return 1
if __name__=='__main__':
# keyboard is 36 - 84
import sys
seq1=MidiSplit('MidiSplit_2way_1', [60])
seq2=MidiSplit('MidiSplit_2way_2', [60])
seq3=MidiSplit('MidiSplit_2way_3', [60])
seq4=MidiSplit('MidiSplit_4way_1', [48,60,72])
seq5=MidiSplit('MidiSplit_4way_2', [48,60,72])
seq6=MidiSplit('MidiSplit_4way_3', [48,60,72])
seq7=MidiSplit('MidiSplit_chro_1',
[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83])
seq8=MidiSplit('MidiSplit_chro_2',
[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83])
seq9=MidiSplit('MidiSplit_chro_3',
[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83])
# seq3=MidiSplit('MidiSplit3', [int(s) for s in sys.argv[1:]])
MidiThread(seq1).start()
MidiThread(seq2).start()
MidiThread(seq3).start()
MidiThread(seq4).start()
MidiThread(seq5).start()
MidiThread(seq6).start()
MidiThread(seq7).start()
MidiThread(seq8).start()
MidiThread(seq9).start()
# while 1==1:
time.sleep(10000000)
# dummy = 1
# raw_input('press return to finish')
- [Om-synth] midi split,
Atte André Jensen <=