Just going back to the roots of this topic (since I haven't been keeping up with the mailing lists I'm on lately...) I think threading could possibly be an option almost as straightforward as selecting a different output channel. For example, a user (or host application) might decide to allocate a single thread to the processing of a particular range of tracks/channels. Obviously, additional threads would be needed for having a nice responsive GUI and also basic audio processing/signal routing, but it might be useful if you can group plugins into different threads, so you could have a reverb plugin working in one thread, while a delay plugin for a different source could be working in another thread. So the signal on channel 1 for example would have reverb applied while channel 2 has some delay applied. On a multi-processor system, this could be useful. However, if a particular channel had more than 1 effect on it, the signal would need to be processed in series - that is, reverb applied first, then delay (obviously, as there would be no output from the reverb to feed to the delay!) But maybe groups of channels could be assigned to different threads too? This would also aid in networking - as far as the host is concerned, the plugin is just "there". It feeds it a signal, and gets a signal back, and doesn't care where it goes to or where it came from, or how the signal was changed. Thus a second computer could be considered as a second processor. Personally, I prefer the idea of networking several machines (a DSP farm?!) rather than having a single machine with several processors. The only downside is bandwidth and latency, but for a LAN these aren't really issues. I can see the benefits of threading, but I'm not sure what an efficient implementation of multi-threading could be. From what I gather, threads are useful for doing processing while something else may be happening at the same time. But at the same time they have some overhead, I believe. So the idea I had a while ago about having a single thread for each mixer channel would probably be worse than just having a single thread for all channels :) -SB ----- Original Message ----- From: <RonKuper@xxxxxxxxxxxx> To: <gmpi@xxxxxxxxxxxxx> Sent: Thursday, April 10, 2003 4:11 PM Subject: [gmpi] Topic 5: Threading > 1. What kind of realtime guarantees are there, i.e., how do we handle > plugins that run at > 100% of realtime? > > 2. Does the host provide some kind of threading environment? > > > ---------------------------------------------------------------------- > Generalized Music Plugin Interface (GMPI) public discussion list > Participation in this list is contingent upon your abiding by the > following rules: Please stay on topic. You are responsible for your own > words. Please respect your fellow subscribers. Please do not > redistribute anyone else's words without their permission. > > Archive: //www.freelists.org/archives/gmpi > Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe > > > ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe