Channels and models question

Hello, i m fighting really with how to handle program design with models and channels.

So i tried to put the most simpler structure, to work as a sample. This example patch will surely go bigger step by step in the thread.

In my App, i should be able to write my model from different inputs.

The app is a channel, to allows writting to its data from everywhere in the upper way.
The model of the app could contains differents other models, like a midimanager, a GUI, ect.

Helas, the select by path approach dont work with me. Or i should say, i dont arrive to work with it or to get the proper way to work with it. Am i right that SelectByPath is the only way to interact with my model from down to up ?

If someone can help me on this first step, it would be great ! Thank you !
test modeles and select by path.vl (31.1 KB)

Hi, seems like a VL bug to me:
image
but:
image

if you connect without that Pad, everything seems in order:

and also as soon as you disconnect the bottom links of MyApp pads, you notice they become connected, i suspect by having this pad, you create an order of execution error

there you go, seems you need to pass channel to pad only on Create
test modeles and select by path 1.vl (34.6 KB)

also you had a typo in myObjects[2].ObjectValue should be myObjects[2].objectValue

2 Likes

tahnk you antokhio !!!

@karistouf Wanted to add few cents more here, since i came across this, and it was not obvious:

So, why Channel<myObjectManger> would not work on update:

image

Basically if you pick inside Channel, you notice there is no Update there:

image

This means (in theory) that Update on Channel is never executed, the Channel itself should be only registered (like on create), and it updates itself by an event fired from subscriber (i guess). So when working with channels you should consider, that there is no ‘update’ in tems that you get something during Update

In other words, that would also never trigger:
image

And that would register a subscriber on that Channel:
image

1 Like

Thank you Antokhio ! its very clear !

I come recently to this point by the notion to Hook somehow the channel by typing it in in pad. I m naming now my pads HookType.

hooking

Other things related to my troubles with channels :

i experienced that the GetSlice Channel is not working as expected and breaks the bottom-up chain. I m getting out Getslice channel of all the global chain, Select node works so as expected and changes from bottom are applied to the top of the model

on the runtime side i discovered also that too many pads ( i m cleaning my patchs in this way) leads in an each for loop to a complete proof they are never treated at the same time. They write to next iteration of the loop. On the following example i had the 2 pad ups, and reporting it on each operations, thinking that i could avoid the Value node entry and operations. I m asking my self if it would not be better to put the value node a level up, to input it in this runtime, and wondering if many entries with the same name are treated in the same time as once.