MIDIPoet - Composer - Screen drawing style events

The screen drawing style events can modify the way the visual elements of a MIDIPoet piece are drawn on the screen. When a MIDIPoet piece is played, MIDIPoet redraws on each cycle all the active visual elements. By default, these elements are shown without any transformation, but there are different drawing styles that affect the way visual elements appear.

The screen's drawing style attributes are:

-- Clear screen: This attribute specifies whether the screen is cleared on every cycle or not. If the screen is not cleared, text and image areas will leave a trail as they move or animate.
-- Style. Drawing style used to draw the text and image areas on the screen. Please check the drawing styles section.

The following attributes refer to the copying and pasting of the drawing area. By default, texts and images are drawn on the screen have their own specific measures. If the copying and pasting parameters are changed, the size and proportion of all visual elements change accordingly. For example, let's suppose that the following image shows a moment of a MIDIPoet piece, and that the piece's drawing area is 640x480:

50 text areas containing the text "a" are drawn

Now, if we establish that the copying area of the piece will be a square which has the coordinates 100,100 (X1, Y1) for its upper left corner, and a width and height of 100, we would have the following copying area:

If we say the pasting measures are 640x480, this is what we will se on the screen:

-- Copy X1: X1 coordinate of the drawing area's copying rectangle (0 by default)
-- Copy Y1: Y1 coordinate of the drawing area's copying rectangle (0 by default)
-- Copy width: Width of the drawing area's copying rectangle (by default it's equal to the area's initial width)
-- Copy height: Height of the drawing area's copying rectangle (by default it's equal to the area's initial height)
-- Paste width: Width of the drawing area's pasting rectangle (by default it's equal to the area's initial width)
-- Paste height: Height of the drawing area's pasting rectangle (by default it's equal to the area's initial height)

The screen's drawing style attributes can be expressed using numeric values (copying and pasting rectangle measures) and style, whose value is expressed using a drawing style name.

The attributes' values can be modified using the following commands:

Valid for all attributes:
-- Fixed value: A unique value, numeric or textual.
-- Random: A random value chosen from a range of values or from a data list.
-- Loop: A value that increases from a starting point to an ending point, and then starts again. The values can be taken from a numeric range or a data list.
-- Bidirectional loop: A value that increases/decreases inside a range. When it reaches the range's upper or lower limit, it changes direction. The values can be taken from a numeric range or a data list.
-- Travel: A value that increases from a starting point to an ending point, and then stops. The values can be taken from a numeric range or a data list.
-- Drunk: A value resulting from a random walk between the starting and ending points of a range. The values can be taken from a numeric range or a data list.
-- MIDI Table: A value taken from a MIDI table. If the event is activated by a MIDI trigger, this value will correspond to the triggering message's specific note or velocity values.

The Loop, Bidirectional loop, Travel and Drunk commands need, besides a range of values, an increment value, which can be numeric or a resulting value of a MIDI table. For example, a bidirectional loop with a range of 0-255 and with an increment value of 2 will go from 0 to 255 and back, stepping 2 positions every time. Another example: a loop that goes through the values of the data list "data 1", and with an increment value of "vel table 1", will loop through the elements in the list "data 1", skipping "n" positions, where "n" is a resulting value coming from the MIDI table "vel table 1".

Valid for numeric attributes:
-- Increase: Increases the value of the attribute by the specified quantity
-- Decrease: Decreases the value of the attribute by the specified quantity.
-- MIDI Range: A value coming from a MIDI range. If the event is activated by a MIDI trigger, this value will correspond to the triggering message's specific note or velocity values.

Valid only for the "style" attribute:
-- Next: The value will be the next element of a data list.
-- Previous: The value will be the previous element of a data list.
These commands use an internal index to keep track of the current element in the specified list.

<--