Tiny bit of advice on event ordering please.
-
- KVRer
- Topic Starter
- 21 posts since 3 Dec, 2019
Hi everyone, I'm getting towards the end of my first week with Architect and having great fun. I made the mistake of trying to do some very complicated structures straight away and of course nothing worked. So I'm going back to basics to work out the event/setup flow. I am understanding it a lot better, but still confused by a few things...
Why does this happen?: I get that the print statements are both after the "SECOND" data in the event order, but surely the left print is before the right one... I also see that this might be a good time to use an order module, but I just wanted to find out what I am misunderstanding...
Why does this happen?: I get that the print statements are both after the "SECOND" data in the event order, but surely the left print is before the right one... I also see that this might be a good time to use an order module, but I just wanted to find out what I am misunderstanding...
You do not have the required permissions to view the files attached to this post.
-
- KVRer
- Topic Starter
- 21 posts since 3 Dec, 2019
Is it because all chains of event SOURCES are dealt with first?
-
- KVRAF
- 2682 posts since 25 Aug, 2003 from Bournemouth, UK
You can visualise event orders by switching them on in the options at the top-right of the graph view. That may help clarify things somewhat.
Events travel in a depth-first fashion. The event that comes out of "FIRST" will go to the next module in event order, which is defined as top-to-bottom, left-to-right*. In this case, it will be the "SECOND" module. This will then send an event to the right-hand [print]. As the [print] has no further outputs, our depth-first traversal is completed and Architect will go back "up" the event tree to find the next target. In this case, it'll be the second receive of the "FIRST" event, i.e., the left-hand [print].
* To clarify: if module A is above module B (and by "above" I mean it's y co-ordinate in the graph), it is considered to be before B. If both modules have the same y co-ordinate, then the left-most one is considered first.
Events travel in a depth-first fashion. The event that comes out of "FIRST" will go to the next module in event order, which is defined as top-to-bottom, left-to-right*. In this case, it will be the "SECOND" module. This will then send an event to the right-hand [print]. As the [print] has no further outputs, our depth-first traversal is completed and Architect will go back "up" the event tree to find the next target. In this case, it'll be the second receive of the "FIRST" event, i.e., the left-hand [print].
* To clarify: if module A is above module B (and by "above" I mean it's y co-ordinate in the graph), it is considered to be before B. If both modules have the same y co-ordinate, then the left-most one is considered first.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
-
- KVRer
- Topic Starter
- 21 posts since 3 Dec, 2019
Thanks Colin - I'm getting there! I get it now. I feel like a bit of a numbskull actually - as I feel like I understood this already at the beginning of the week - oh well!
-
- KVRAF
- 2682 posts since 25 Aug, 2003 from Bournemouth, UK
Always happy to help, Bob!
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
-
- KVRian
- 678 posts since 15 Feb, 2012 from France
-
- KVRer
- Topic Starter
- 21 posts since 3 Dec, 2019
Thanks, nilhartman - yes my graphs are littered with them! And it really helps.