On Thu, March 1, 2007 13:35, Dmitry Baikov wrote: > Hi! > > > I nearly finished alsaseq driver for jackmidi, but have a problem. > Alsaseq reorders events in fast sequences, so note-on/note-off pairs got > mixed. > > The algorithm of sending is simple: > > > snd_seq_ev_schedule_real(&alsa_event, output_que, 1, ×tamp); > frame_time = jack_frame_time(self->jack); frame_offset = event.time - > frame_time; > > offset = ((long long)frame_offset) * 1000000000 / rate; timestamp.tv_sec = > (long) (offset / 1000000000); > timestamp.tv_nsec = (long) (offset % 1000000000); > snd_seq_event_output(self->seq, &alsa_event); > > Is the snd_seq_ev_schedule_real correct where it is? Or should you call _after_ you set the intended timestamp, like this: frame_time = jack_frame_time(self->jack); frame_offset = event.time - frame_time; offset = ((long long)frame_offset) * 1000000000 / rate; timestamp.tv_sec = (long) (offset / 1000000000); timestamp.tv_nsec = (long) (offset % 1000000000); snd_seq_ev_schedule_real(&alsa_event, output_que, 1, ×tamp); snd_seq_event_output(self->seq, &alsa_event); Cheers. -- rncbc aka Rui Nuno Capela rncbc@xxxxxxxxx ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-devel