In this Lesson, I deconstruct Mark Bernsteinâs wonderful 2019 video âPlanning with Tinderbox.â
I show you how to implement the two main event planning strategies that he lays out in his training, 1) basic event planning on a single adornment, and 2) dynamic event planning on multiple adornments. I then follow-up with a summary on how to use an agent, like Mark did, to assess a participantâs activity, but I do it with a twist.
This lesson has it all, 1) note creation, 2) prototypes, 3) previews, 4) adornments, 5) action code, 6) agent queries, 7) understanding and executing automatic note sizing and positioning using action code and $Xpos and $Ypos.
Woha !! Thank you so much for these . I spent close to 45 minutes myself going through the video and applying it . I can only imagine the time you invested to make this gem for us . Thank you again .
Towards the end I realised ,whenever I tried dropping the Singers onto Venue & Slot intersection they kept becoming container, then I realised the grave error Iâd setup my venues & slots as notes & not adornments
In slots , we did $Ypos=-3 , I didnât understand this part , care to elaborate ?
Along the way I discovered display expression which I allowed me to auto name my venues & slots by the value provided
Thanks for the recognition on this point. Ya, it took me a while.
I added at least 30+ minutes to my effort with a silly mistake. When I created the $Slot attribute I forgot to make it a number, rather I left it as a string. So every time Iâd apply the positioning calculation it would shoot off a gazillion miles to the right. I was multiplying a number against a string. As soon as I made $Slot a number it worked. In my experience with Tinderbox, 99% of the time Tinderbox is doing exactly what youâre telling it to do; the chore is to figure out what that is.
The other challenge I faced was with the display table. At first, the table would not show up. Hours later, with the help of Mark, âweâ figured out that it was due to zooming. If youâre zoomed far out so that you can see the whole venue/slot grid then the display table is not visible. If you zoom in then it becomes visible.
Lastly, I could not figure out the time calculations in Markâs example until I ârightlyâ guessed that they were arbitrary. It did not make sense to me that someone in slot one would be on for 10 min (slot (1)*10) and someone in slot 6 would be on for 6o (slot (6) *10). I asked and he confirmed that this was just an arbitrary pick. So, in my example I used a different method so there would be consistent time appears in each slot.
Oh, and I made the adornment vs. note error a few times too.
Sure. In a typical cartesian map X to the right is positive and Y going up is positive. X to the left is negative and Y going down is negative. The polarity of Ypos in Tinderbox I reversed to negative up and positive down. To the best of my understanding, this is a mental construct used in Tinderbox due to the fact that we read (a least in the West) from top left to right and down, so positive is down and negative is up. In this case, -3 means go up -3 units from the zero axis of Y.
As a side note, if youâre in standard view one unit is equal to 64 pixels, so -3 is saying go up 192 pixels from the zero (0) axis of Y (I think this I generally correct; if not actually correct; close enough). You can check this out: Map Coordinates.
Michael, thanks for this great video. I watches it again as I move into course planning mode. And my question is: can I get all the OnAdd goodness you demonstrate in the second half of the video (with the many separate adornments) also from one grid adornment as you use it in the first part?
There are the $GridRows and $GridColumns attributes, but when I set up an OnAdd action - say $Week=$GridColumns(adornment); - and pull a note into a box in the adornment, I find that $Week will give me the number of columns the adornment has (12 in my case), but not the specific column that I pulled in onto.
Any idea what I am doing wrong - or is it simply not possible? It would seem so much easier to use the grid than setting up the many adornments you used in the second half of the videoâŚ
Thanks for any insights that you can share on this?
Youâre not doing anything wrong. The grid does not support what youâre trying to do.
Think about it from Tinderboxâs perspective, given the infinite scale of the map it would take a ton of processing as you zoom in and out on a map for Tinderbox to accurately calculate the edges of each grid square. And then, even if you could do that, how would you then tell Tinderbox what you wanted each grid to represent? Would it need to support complex action code for each grid? While Iâm not a developer, I suspect that the overhead of all of this would simply cost too much to support the use case, especially given that there is a perfectly viable option that is fine-tuned for this exact purpose, i.e. adornments. Once you get the hang of copying and pasting adornments it is pretty straightforward. And, once youâve set it up you donât need to touch it again.
Thank you for a really helpful video. Picking up attributes from adornments is something I had never thought about. There is a lot more in the video too, of course, but I have not yet internalized what it all does.
It makes me think that seeing worked examples is crucial to understanding TB.