mc.function interpolation output

Parmerud's icon

I was hoping that mc.function would offer an output mode where all envelopes were output as a list from the left most interpolation output. Seems not to be. Even setting lineout to different channel numbers still only output channel 1. Hidden trick anyone?

Martin Beck's icon

https://cycling74.com/forums/mc-function-multiple-envelopes-generator
....maybe this helps.It does only output the points in line format and these lists might be interpolated after this.

Parmerud's icon

Well not really. The point is that with the list you get from the output to line is of little use for interpolation unless you use line. The cool thing with x interpolation is that you can do things like "scrubbing" through the envelope. After checking the output from mc.function using "dump" there are no indicators as to which envelope the data belongs. Seems like a hidden thing that can only be resolved by using mc.line with the voice attribute (which seems to be invisible when you make a printout from dump). Feels to me like Cycling has done this object a bit half ways. Too bad because it would have been great to have a UI that saves some screen estate....

testcase's icon

like this?

Max Patch
Copy patch and select New From Clipboard in Max.

Parmerud's icon

Yes! Except mc.target 0 does not work (at least not for me) but three separate mc.target (1 2 3) does :) Thanx a lot for bringing insight. I still need to wrap my head around the mc stuff...

Aaron Wharton's icon

So I have interpolation for multiple mc.targets functioning as desired, BUT I'm curious to know if there's a way to set domains and ranges per channel. (ie. first channel = a domain of 6.5, second channel = a domain of 8, etc)

If not through MC, I assume this could be achieved with poly~, but I'm not sure on how to go about that.

Aaron Wharton's icon

Semi-related: Does anyone have any insight as to why [function] shouldn't have a mode similar to that of "vexpr @scalarmode 1"?

Roman Thilenius's icon


because it is not so really useful to display 2 channels of different time domains to the user in the same canvas?

Aaron Wharton's icon

Re: it is not so useful to display 2 channels of different time domains to the user in the same canvas?

I mean, I personally think it'd be reasonable to give the option to have domain/ range values that update depending on the selected channel tab. To me, this would be preferable to having to juggle multiple [function] objects.

This isn't to say that I don't realize you could just scale the output of each channel afterward, but still.

Re: a mode similar to vexpr's @scalarmode 1

I'd personally love the option to use [function] for processing lists via it's x to y interpolation. I know you can iter into it, but I can't see why you shouldn't be able to work with lists without the extra steps before and after.