> I agree with Sebastien, the semantics of multichannel audio formats > are more complicated than the hinting approach alone is able to > account for. We need to find a way for a plug to advertise to the In all the discussion, I haven't seen a SINGLE thing that well-hinted mono-streams can't do. If Someone gives me one solid reason, I'll shut up. I just thing hinted mono streams is a much more elegant, simple, and flexible basis for an API. > host what multichannel formats it supports, directly in terms like > mono, stereo, quad, 5.1, 7.1, 9.1, ambisonic, M/S, etc. While there > could be a role for hinting within each of those worlds, it seems > like matching hint tags is unnecessary -- why not just have > per-format rules, e.g. in 5.1 buffer 0 is LF, 1 is CF, 2 is RF, 3 is > LR, 4 is RR, 5 is Sub? This is efficient and unambiguous. Matching hints seems FAR easier than barfing if the target doesn't fully understand my stream. Suppose for example that I have a 5.1 sampler. It exports 6 mono streams. I want to do some processing to just the front L and R and some other processing to front C. If all the formats are bundled what do I do? I have to add some plugin that converst 5.1 into 6 streams, then add one that converts the L and R into a stereo stream. now I have a Stereo, a Mono, and 3 other Mono streams. I can process the stereo and mono. Then I have to add a plugin to convert 6 streams to 5.1. But first I have to decouple the stereo into 2 monos. When you atomically group channels together, you force something like this to happen. If you have a bunch of hinted streams, you can connect the L and R outs to the L and R ins of the the processor, the C out to the Mono in of some other processor, and have them meet their other 3 friends at the next 5.1 plugin. No bizarre channel conversions needed. > Once such an approach is chosen, the advantages of the > multiple-channels-per-pin approach become more apparent. The pin has > a property for its multichannel audio format (again mono, stereo, > quad, 5.1, 7.1, 9.1, ambisonic, M/S, etc.), and truly these are each Some of these are formats, and some are encodings - they are not the same. I'd argue that M/S and Lt,Rt etc have no place inside a GMPI graph. They are a way to encode N channels M channels. If you need to read an M/S source, convert it into whatever format you want a N mono channels. > of like formats. Otherwise how is a plug supposed to be able to tell > the difference between a stereo stream, an LtRt stream, and an M-S > stream? They're all two channels, after all, but they're not > interoperable. Again, Lt,Rt and M/S are encodings. Sorry for latency on my replies - been a busy week. ---------------------------------------------------------------------- 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