Bidirectional jit.matrix scroll

This example demonstrates how one can make a scrolling display of an array of data using Jitter. Each time we add a number to the array, we'll scroll the display to the right. (Or, by clicking on the toggle, you can cause the scrolling to go to the left.)

We use the jit.matrix object to store and display a one-dimensional matrix (i.e., an array) of numbers. To simplify this demonstration, the numbers that we add to the array will only be either 0 or 1, chosen by a decide object each time you click the button. But the numbers could come from anywhere.

Each time a new number is added to the array (that is, each time you click the button), we set the offset_x attribute of jit.rota to 1 so that it will offset its received matrix by one cell, then we place the number in the 0th location in the "scrollme" matrix. (Note that the two jit.matrix scrollme objects refer to the same memory location, named "scrollme".) The number is placed in cell 0 of the matrix using the setcell message to the upper jit.matrix object, then the bang triggers the output of that matrix, which goes to the jit.rota object, which puts the offset version of the matrix back into itself using the lower jit.matrix object, which then passes the resulting matrix on to the jit.pwindow to display the contents. The new number is now in cell 1, and cell 0 is empty, awaiting the next new number.

It's easy to switch the direction of the scrolling. Instead of putting the new number in the 0th cell of the matrix, you could put it in the last cell of the matrix (the 99th cell in this example), and change the offset_x attribute of jit.rota to -1 instead of 1. We use a toggle to allow you to switch easily between rightward scrolling and leftward scrolling.