Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* problems howto send simple 'noteon' event with pyalsa...
@ 2008-03-13 11:58 ki.ber.kom.uni.st
  2008-03-13 12:34 ` Jaroslav Kysela
  0 siblings, 1 reply; 4+ messages in thread
From: ki.ber.kom.uni.st @ 2008-03-13 11:58 UTC (permalink / raw)
  To: alsa-devel

e,
i was happy user of PySeq [1] and it was easy to send directly
'noteon' event.. more or less in python interactoin session:
import pyseq

seq = pyseq.PySeq()
seq.createOutPort()
event = snd_seq_event()
event.setSource(0)
event.setSubscribers()
event.setNoteOn(ch, note, velocity)
event.sendAsIs(seq)

it seems that pyalsa will go along alsa development so i tried pyalsa.. but....

i tried this:

from pyalsa import alsaseq

seq = alsaseq.Sequencer()
seq.create_simple_port("myPort", alsaseq.SEQ_PORT_TYPE_APPLICATION,
alsaseq.SEQ_PORT_CAP_SUBS_READ | alsaseq.SEQ_PORT_CAP_READ |
alsaseq.SEQ_PORT_CAP_WRITE | alsaseq.SEQ_PORT_CAP_SUBS_WRITE)

event = alsaseq.SeqEvent(alsaseq.SEQ_EVENT_NOTE)
event.set_data({'note.note' : 0x40, 'note.velocity' : 127,
'note.duration' : 1, 'note.off_velocity' : 0})
event.dest = (20, 0)
seq.output_event(event)
seq.drain_output()

after drain it says:
"SequencerError: Failed to drain output: Invalid argument"
i can connect and disconnect ports around and (20,0) is functional
port where i send events with no problems from PySeq...

any ideas? do i have to use queues to be able to send 'noteon'.. for
my purposes it seems to me that that's overkill....

thanx..

[1] http://www.sci.ccny.cuny.edu/~brinkman/software/pyseq/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-03-13 23:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-13 11:58 problems howto send simple 'noteon' event with pyalsa ki.ber.kom.uni.st
2008-03-13 12:34 ` Jaroslav Kysela
2008-03-13 18:07   ` Aldrin Martoq
2008-03-13 23:24     ` ki.ber.kom.uni.st

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox