Package eu.bandm.music.top
Class MaWiRic
java.lang.Object
eu.bandm.music.top.SvgSource
eu.bandm.music.top.MaWiRic
Translation of tscore source according to
"Mathias Wittekopf/Vorübergehende Zustände/8. Satz/meditation 2(ricercata)";
see ohrwelt.de.
Generates a dynamic SVG with a matrix of text characters in an equidistant font, which are made visible and invisible again, all individually, controlled by the score.
The main example score is
This code can be used differently than MW's original, since the strict separation into two phases (on and off) is NOT ensured by the code.
Code generation scheme for each character position = coordinate, "Z" is the character text:
Technically this is a sub-class of
Generates a dynamic SVG with a matrix of text characters in an equidistant font, which are made visible and invisible again, all individually, controlled by the score.
The main example score is
sig/examples/tscore/mawiric1.tscore
.
The score has two synchronuous voices, one for switch-on events and a second for
switch-off events. Both voices have only their main parameter
(see Event.main_parameter_name
).
Switch-on events are given by line and column and apply to this coordinate.
Switch-off events are given by character content and apply to all these characters.
In the form used in the prototype, there is a first phase of switch-on,
and a second of switch-off, both slightly accelerating. Only the former
contains synchronuous events.
Despite being very simple, there is a whole bunch of consistency constraints:
- Switch-on events must have valid coordinates (line and column number)
- Switch-on events must only hit non-blank characters.
- No duplication of switch-on events, ie. all switched on positions must currently be switched off.
- No duplication of switch-off events, ie. at least one position with such a character must currently be switched on.
- Switch-off events should refer to characters which occur in the text.
- Switch-off events should refer only to non-blank characters.
- All non-blank positions should be switched on once.
- All characters should be switched off at the end.
- ( There should be one moment where all characters are visible. )
This code can be used differently than MW's original, since the strict separation into two phases (on and off) is NOT ensured by the code.
Code generation scheme for each character position = coordinate, "Z" is the character text:
[text opacity='0.0' x='..' y='..7']Z [set attributeType='XML' attributeName='opacity' to='1.0' begin='SWITCH-ON-TIME'/] [set attributeType='XML' attributeName='opacity' to='0.0' begin='SWITCH-OFF-TIME'/] [/text]Further variants are possible, but not implemented:
- multiple switch-off of the same character can be applied to subsets of the visible characters.
- switch on and switch off treated symmetrically: Both can be given by position and/or by character content.
Technically this is a sub-class of
SvgSource
. The methods update()
and
convertData()
are called and must be defined.
-
Nested Class Summary
Nested classes/interfaces inherited from class eu.bandm.music.top.SvgSource
SvgSource.ParamTranslate, SvgSource.Process
-
Field Summary
Modifier and TypeFieldDescription(package private) final Translet.Parser<String>
Parser for the switch-off events.static final Character
EvidentResult of parsing the switch-on events, indicate when a particular matrix position/ set of matrix positions appears.Result of parsing the switch-off events, indicate when a particular character/ set of characters vanishes.(package private) final Translet.Parser<?>
Parser for the switch-off events.(package private) final Translet.Parser<?>
Parser for the switch-on events.static String[]
The text data which shall appear on the screen, in exactly this matrix arragenment.static final String
static final String
-
Constructor Summary
ConstructorDescriptionMaWiRic
(Part part, MessageReceiver<SimpleMessage<eu.bandm.tools.util.xml.XMLDocumentIdentifier>> msg) Only constructor for this tscore data processors, found and instantiated byMfMain
by reflection. -
Method Summary
Methods inherited from class eu.bandm.music.top.SvgSource
alpha2string, animateString, animateString_tp, animateTransformString, check_init_def, color2string, convertToSvg, height2device, height2device, printAlpha, printColor, setString, tp2device, when2device, width2device, width2device, x2device, y2device
-
Field Details
-
VOICENAME_on
- See Also:
-
VOICENAME_off
- See Also:
-
event2stopChar
Result of parsing the switch-off events, indicate when a particular character/ set of characters vanishes. -
asciiLowerCaseChar
Parser for the switch-off events. Allows only ONE character. -
event2start
Result of parsing the switch-on events, indicate when a particular matrix position/ set of matrix positions appears. -
parse_on
Parser for the switch-on events. Allows a set of coordinate-pairs. -
parse_off
Parser for the switch-off events. Allows a set of characters. -
textData
The text data which shall appear on the screen, in exactly this matrix arragenment. -
BLANK
Evident
-
-
Constructor Details
-
MaWiRic
public MaWiRic(Part part, MessageReceiver<SimpleMessage<eu.bandm.tools.util.xml.XMLDocumentIdentifier>> msg) Only constructor for this tscore data processors, found and instantiated byMfMain
by reflection.
-
-
Method Details
-
update
public void update()Translate untyped tscore data into semantically sensible "MaWiRic" data. This method reads the event lists contained in TimeScape->voices->bySourceOrder and writes to all the local Map and Set output data declared locally. -
isBlank
public static boolean isBlank(char c) Evident -
convertData
protected void convertData()Generate SVG file, using auxiliary functions and called by superclassSvgSource
.- Specified by:
convertData
in classSvgSource
-