From: Larry T. <lt...@we...> - 2003-06-08 20:03:58
|
On Sunday 08 June 2003 13:39, Chris Cannam wrote: > On Sunday 08 Jun 2003 2:26 pm, Larry Troxler wrote: > > It's an ALSA driver that works as a MIDI pipe. > > http://linux-sound.org/quick-toots/4-sequencers_and_softsynths/quick-toot-m >idisynth_howto.html > > That looks like the sort of doc that might have been handy when we > were first writing this application. > > But what it doesn't explain (to add my voice to the growing chorus of > people working on this ALSA sequencer application without knowing > anything worthwhile about ALSA) is why you need to use a virtual MIDI > port to achieve the things he's describing. Well that's nice, because I can let now let my guard down as well and admit that I'm not grasping the ALSA concept entirely either, (actually I'm sure I'm grasping it much, much less then you, a developer). If I understand correctly, an ALSA application instantiates and ALSA midi client, which can then subscribe to and send MIDI events to other ALSA clients that have been created by either other ALSA apps or by device drivers. Is this more or less correct? > I mean, I use soft > synths all the time with Rosegarden and I just do it by connecting > Rosegarden to the soft synth. > > Is this something to do with soft synths that are ALSA sequencer > clients vs soft synths that are "raw midi" clients? What exactly is > the distinction between those things? > I have no idea. I know I need it in the case of PD, because PD still uses the OSS API, and there are an awful lot of apps out there that haven't yet moved their MIDI to ALSA. I guess now the question is, is the virmidi client _only_ needed for legacy OSS apps? As far as Alsa "raw midi" vs. "sequencer" goes, I'm not yet entirely clear on this. From what I understand, in "raw mode" you simply write and read MIDI messages when you want to read or send them. In sequencer mode, you use the ALSA scheduler to send or receive timestamped queues of messages. On important thing to keep in mind, is that even if the remaining OSS apps eventually move to ALSA, a lot of them will be using raw mode. As far as I can tell, using a sequencer client makes sense only for a MIDI sequencer, when you know in advance what events need to be sent when. It does not make sense for something like PD, which generates MIDI messages in real-time based on incoming events or timers. So no, I have no answers, just a few data points. I guess I should google and read more. Larry > > Chris |