I need improved Router Actor with several Inputs.
-
Each of input must be connected to corresponding group of outputs,
I.e. Input1->G1_Out1 or G2_Out1 or G3_Out1 and so on...Input2->G1_Out2 or G2_Out2 or G3_Out2 and so on........................."Select" parameter will determine group to output(G1 or G2 or G3 and so on). -
Please let me know if you know how to solve it! It still doesn't solved!
How to route several inputs(not single, as current Router Actor does) to output group?Thanks!
-
Connect a selector to a router. With the selector you can choose your input. And with the router you can choose the output.
-
@DusX: Suppose, that you still don't understand me.
I will try to explain more clearer. Look at attached picts. Suppose, that i have 7 inputs which control each of movie player parameters. I have 2 Movie Players.**Look at Second picture**(with two routers). It shows how i solve this task now: i connect each input channel through router which redirect input to one of movie player(determined by ChannelSelector output value). I didn't complete this actor, just shows you how i connect only first two inputs.In case of three or more movie players this scheme became unreadable!**Look at First Picture**: It Shows how suggested Actor will looks like(try to imagine, that it is single Actor on pict). All Of 7 inputs connected to one of inputs of new router. Outputs connected to each of movie player in same order, as inputs."Select" parameter of suggested Router will determine which of media player will recieve inputs.Of course it must have "inputs" parameter(which determine how many inputs will be."output" parameter will determine quantity of group to output (inputs x output).I hope now everything is clear. -
I know what you mean but it looks like you have to do this the "messy" and hard way. Maybe this would be possible with JavaScript but I am not an expert for that.
Best Michel
-
See attached image, I guess this is what you want. For example have 7 inputs and output them to output 1-7 or 8-14 or 15-21 or 22-28 or 29-35. Now the question is how the JavaScript for that goes :-(.
Best Michel
-
@Michel: Thanks for answer! I also try to understand how to use Java. Are there examples which use several inputs and outputs on Java?
I think that code will be very simple. But i don't know how to use several inputs and outputs on Java code.
I send feature request also. I think that Router(maybe Selector also) Actor improvement will be very useful and much more comfortable to create Isadora projects. If such improvement possible, i hope that it will be included in future version of Isadora. -
Don't confuse Java and JavaScript. They are completely different languages.
-
I agree with Michel, Javascript would be the good choice, You just need 1 more input, to choose the output…I made a quick sample, 4 inputs, 3 x 4 outputs.Here is the javascript, easy to extend for more inputs/outputs and easy to make the code more compact… And also the izzy patchfunction main() { var00 = arguments[0]; var01 = arguments[1]; var02 = arguments[2]; var03 = arguments[3]; var04 = arguments[4]; out = []; switch (var00) { case 1 : out[0] = var01; out[1] = var02; out[2] = var03; out[3] = var04; break; case 2 : out[4] = var01; out[5] = var02; out[6] = var03; out[7] = var04; break; case 3 : out[8] = var01; out[9] = var02; out[10] = var03; out[11] = var04; break; } return out; }
-
Thanks @jhoepffner
I knew it wasn't to complicated but if you don't know JavaScript its not so easy. To learn JavaScript is on my list for this year :-)
Best Michel
-
Try using the Set Global Value and Get Gobal Value actor. It has multiple ins and outs and would be a good way to clear up some patch cord cludder. You may need to use the Number To Text actor with the name input to select using number values.
Does that help? Let me know if you need an example patch. -
Thanks for all recomendations.
I will try to use all methods you are suggested. After, I will give a comments. But I believe, that [jhoepffner](http://troikatronix.com/troikatronixforum/profile/15/jhoepffner)'s comment will be best solution for this task.Anyway, I hope that router improvements will be included in future version of isadora. By the way, It can be updated with "backward campatibility", because in simple conditions(1 Input) it will be operate as current router Actor! -
@Mikhael
I think it's not a router improvement but another task.For me what you want is not very clear, principally what append to the not choosed output? Old value? Zero (as I made with javascript)?To help you, we need a little bit more about how you want to use the "superRouter".Jacques -
I made another proposition with global values 47b364-multirouter02.izz
-
As I described before try to do simple task:* I have 5 movie players in project.* I have Bin Selector, Play, stop, Speed buttons. Also I have RadioButton Control, which select movie player to operate(only selected player will be recieve commands from these buttons). Only this group of controls will operates all of these 5 movie players, by selecting one of player in radiobutton control.Try to do this now. Very simple way is to do this by Router Actors for each control, which does same operation. It will be "messy" of connectors and actors in your project.I suggest update Router Actor, to route several inputs to several outputs. **It will be compact & plain! **Each inputs will be connected to appropriate control, "Select" parameter wil be connected to Radiobutton Control.1-5 outputs will be connected to appropriate parameters(with same order as inputs) of first movie player, 6-10 Outputs - to second player, 11-15 - to third, and so on till 21-25 outputs, which will be connected to fifth movie player.Here I also have explained all in pictures: http://troikatronix.com/troikatronixforum/discussion/comment/16054/#Comment_16054Also i made additional pics(see attachment) of control group, i mentioned above(which control all af thes 5 movie players).@[jhoepffner](http://troikatronix.com/troikatronixforum/profile/15/jhoepffner) >>>For me what you want is not very clear, principally what append to the not choosed output? Old value? Zero (as I made with javascript)?Not selected outputs haven't to change at all! They will store last changed values. **Same logic as current Router Actor** -
I think Router Improvement will be better, because, i suppose, that Java-based script can't route GPU or CPU video, but i also can give you example for such task.
-
If such improvement is possible for Isadora Router Actor, please note the same improvement for Selector actor also.
-
I believe the best solution is to create a User Actor, that you can reuse for your purpose.
Its a great way to simplify a patch, and create reusable modules.If you take a look thru my tutorial on creating a video sequencer, you will see how I create custom User Actors that contain the Router actor and accomplish another similar function as you have inquired about.http://www.dusxproductions.com/blog/create-a-video-sequencer/ -
I am not an Izzy Guru, but I think your task is very specific and, as said by DusX, User actor is the perfect object to do what you want and to reuse it. As you can see, even in javascript or user actor, it's difficult to have mixed input/output (int, float, video etc.) and different persons would need different in/out.I think also Data Array can be a perfect way to do the task. -
to DusX : I've wached your tutorial, thanks. I'm already have made user actor, but drawback of this method is low flexibility. I have to create defferent User Actor for each count of Inputs.
Actually i wonder, why such simple functionality of Router Actor still doesn't included in Isadora.to [jhoepffner](http://troikatronix.com/troikatronixforum/profile/15/jhoepffner) : I think, it's another case. This improvement could give more fexibility for Isadora. I don't think that it is specific and rare task for end user. They have to create custom User Actors with "messy" of connectors and routers, because Isadora doesn't offer simple way to implement such simple task.