text service 0001 000 1340 selection of a text
Only in scripts :
text_x service 000 000 1342
text_x.c comment 000 000 for text placement
text_y service 000 000 1343
text_y.c comment 000 000 for text placement
text case 1340 : refText = scriptWord[3];
font case 1341 : refFontName = scriptWord[3];
text_x case 1342 : refTextX = Integer.parseInt(scriptWord[3]);
text_y case 1343 : refTextY = Integer.parseInt(scriptWord[3]);
font_size case 1344 : refFontSize = Integer.parseInt( scriptWord[3]);
text_color case 1345 :
textc_x case 1376 : refTextX = number; break;
textc_y case 1377 : refTextY = number; break;
H0 case 170 : if (refFontName.equals("arial")) refFontSize = 12 ; else refFontSize = 24 ; textSize(refFontSize);
H1 case 171 : if (refFontName.equals("arial")) refFontSize = 48 ; else refFontSize = 96 ; textSize(refFontSize);
H2 case 172 : if (refFontName.equals("arial")) refFontSize = 36 ; else refFontSize = 72 ; textSize(refFontSize);
H3 case 173 : if (refFontName.equals("arial")) refFontSize = 24 ; else refFontSize = 48 ; textSize(refFontSize);
scriptE produces a word, according to a text (.txt) which can be PostB, for instance.
this source text must indicate in its first line the name and location of the work to be produced.
NP starts a new page (to be checked)
End closes a sript
FL restarts the writing on head of the mage
LL indicates a position in the page
H0 H1 H2 H3 assigns a font zise
Loops (to be checked)
loop service 13
loop0... loop9 CAT loop callin loopService(int)
) service
)) service 24
if service 1351
ifalwayss cond 3
ifisenloop cond 1
ifisfunn cond 2
ifisnormal cond 5
ifloop cond 10
ifloop0 ... 9 cond 11
it starts with a text loaded beforehand, for example a dirlist of a directory that can have been prepared for this operation
To do that, a text (.txt) tile must be prepared, and a call to it in the dictionary.
- The full vocabulary of Roxame can be used (with perhaps some exceptions)
- Only one terme of Roxame's dictionary can be present in a line
- Language can be English of French (French by default)
- A new page begins with NP
- The background is placed
- The text color is specified (if changed)
- The font size is specified
Then come the text lines for this page
- if they begin with < they will be displayed only in the "French" mode
- if they begin with >, thy will be displayed only in the "English" mode
- if the begin with | they wille be dispayed in the two modes
- if they begin with any other character, they will be processed as macros.
- there are different positions to place the images
- it is possible (...) to include iterative loops
Close the script with the following lines :
:
End
NP new page
The code : Scripts Script functions
In the "film" case (which can be used for presentations), the script commands the preparation of successive pages , stored in the directory data/films.
When called for the script text is loaded and executed by two functions,
scriptLineRead
scriptLineexe
which execute each line, and each word on this line.
Existing scritps : Elise_p Film0... Greg_story Grenouille L_Story Eli Script10
scriptgen service 1400
filmname nom du fichier de sortie service 1369
postname nomg du fichier de sortie pour posts service 1365
basis service 1304 format assigns refInput
new service 1371 opens a new page and loads a new image. givint its full path and name
the line is completed with an indication like background and a number for refMaxFrameCount
load_ service 1360
load_2
input service 1301
input2 service 1302
preset mixes are
subtractive_mix
background service 1331 the image is loaded as background. followed by a number
additive_mix
max_winner_mix
min_winner_mix
nplusun
sine_vib
loop_prop
loop_prop_inf
tempo_blink
These commndes assign values to three parameters :
refMixClipType, with 3 possible values. defines positions
mixing_type assigns refMixType, use by Mix
clip_type assigns refMixClipType
offset assigns refOffsetRate
x_start
y_start
x_stop
y_stop
refMovetype used by the moveInlay command , with 7 values :
0 : no move
1 : coming from left, reaching the end
2 : emerging from left, disappearing at right
3 : coming from left, reaching the end
4 : emerging from left, disappearing at right
5 : emerging from left high corner, disappearing low right corner
6 : seems to be a rotation
7 : seems to be a rotation
fading service 1326
background_ service 1288 calles background(1) : just load
// comment
blacktext greentext parameter 181
blink
textcolor 0 ... 10 ///plus dans dico
filter Filtre
curtain_W N followed by a number
fading 50
stay
keep_mode 1
form_fix followed by a form number and parameters
framecount
logIndexnumber service 26
< line to be read in French service 1348
> line to be read in English service 1349
| line to be read, be the script in French or English
save_ save the page service 1362
end of the script
title generator 14 in dico
void scriptLoad(String txtAch){ //loading the script
void scriptLineRead(String lignealire){
void scriptLineexe(int sscriptLine ,String exeLine){
void scriptGen(){
void presentationToHTML()
Only for scripts : void textWrite(){
refDialMode 0
refDialMode 3 dans jpgLoad
keepMode
int[] loopIndex = new int[10] ;
int[] loopEnd = new int[10];
int[] loopStart = new int[10]; ;
String branchLabel ; //= " " ;
String labelName;
boolean boolCond = false;
String[] scriptLine = new String[1000];
int scriptLineLength = 0; //lignealire.length();
String scriptString;
boolean printCond, isDico;
//presentations
String prestName = "-";
int prestPagenumber = 0;
int prestRank = 0;
int hInpage = 0; //for present
A script begins with
FilmName gives the name of the film
new creatges a new page, generally by replacing the precedent image by a new one placed in background
NP case 89 : hInpage = 0; R(0); //was done for Pres. probably no longer to be used
Then we work on the page
SPL. strong point on left
SPR. strong point on right
center
HLC high left corner , HRC high richt corner , LLC left low corner, LRC, left right corner
at_right,
at_left,
above,
under . relative positions
tpg
brim_to_brim
brim_to_brim
inlay ://probably not operational
h_mob // ??
/v_mob
h_sine_mob
v_sine_mob
ellipse_mob
We wrie text :
H1, H2 specify font siexe
redtext, greentext, bluetext, blacktext, whitetext, yellowtext, siennatest sepiatext specify the text color
textcolor , followed by a number, gives the number in the VGA palette
Adding forms :
paint and draw for solid or hollow forms
form_fix 30 0 0 0 thick ascend 102 54 5
This line, beginning with form_fix, (service 1374) commands the drawing of a form, followed by the parameters
-
30 is the form kind
- 0 position (or brim to brim)
- 0 T (sied of the form)
-0 Q proportion of the form
- thick : thickness
- ascent orientation ascending or descending
- color in the VGA scale , 101 random color in the RGB cube , 102 at random in the VGA scale , 103 blink, 110 hue rotation, 111 sat rotation
-
- 5 frameQuantity
filter applies a filter, specified in the line : name of tilter, application mode (e.g. curtain) and a number.
end closes the script
Diff. environnements.
Présentations
refTextFilenumber FileNumberlocate(wordtobedoneloc, "doc") . to find the text in dico
prestPagenumber ; page number in a presentation, at start set to 0.
Environment_(17);
10 normal
13 dico
99 Tab, after dico
Scripts
lineTobedone = 1 , at stard
frameOutnumber = 0 at stard
nbscriptline = 1 at stard
scriptLength. got at loading
ScriptLineRead generate everal scriptWord[numeroscriptWord]
scriptWordscount and scriptLineLength both give the number of words, to be used by the following function
scriptLineexe(int sscriptLine (line number) ,String exeLine the line itself)
For the future.
Form generation in a rectangle cannot change at random during its generation. Or very little. You can set at random the two ends (x,y,t), but in between you must go straight, or with small deviations (frenzied mode).
When you have an external rectangle (film), do temporal analysis (difg and other measurements). Hence deduce structures, look for invariants.
Try to detect physical permanencies : a given form moves, rotates, changes its size.
Pars of Roxame dedicated to presentation and films making
Temporal construction. Narattion cycles, sonata. Vibrations.
if (CATEGORIES.equals("present")) {//println("in ddo present " + wordtobedoneloc);
try{refText = wordtobedoneloc; refSubdirectory = DEFINITION;
refTextFilenumber = FileNumberlocate(wordtobedoneloc, "doc") ;
textLoad(refDirectory + "data\\" + refSubdirectory + "\\" + wordtobedoneloc + ".txt", 0);
Scroll(wordtobedoneloc + " found");
}
catch (Exception e){ Scroll("presentation not found"); println("presentation not found"); }
prestPagenumber = 0;
Environment_(17);
}
7_pierres_p present 000 000 DU //OK dans dDO
Abstract1_p present 000 000 Test
tstx present 000 000 Test
When you launch a script (for example Film0), Roxame lods the script
- the filmName line sets the size (640x480) and gives the name which will be used for the torage
Conditions and loops
ifalways cond 000 000 3... OK est dans DDo
ifisenloop cond 000 000 1
ifisfunny cond 000 000 2
ifisnormal cond 000 000 5
ifloop0 cond 000 000 10
ifloop1 cond 000 000 11
ifloop9 cond 000 000 19
ifnever cond 000 000 4
if (CATEGORIES.equals("cond")) condCat = false;
if (CATEGORIES.equals("cond")) boolCond = Condition(Integer.parseInt(DEFINITION));
if (CATEGORIES.equals("environ")) Environment_(Integer.parseInt(DEFINITION));
if (CATEGORIES.equals("font_")) {refFont = loadFont(DEFINITION); textFont(refFont); refFontName = wordtobedoneloc ;}
if service 000 000 1351
If a term in dico has the cond catetory, Roxame applies the Condition fuction, with sets the values of severa parameters and returns the values of boolCond boolean.
ifalways cond 000 000 3
ifisenloop cond 000 000 1
ifisfunny cond 000 000 2
ifisnormal cond 000 000 5
ifnever cond 000 000 4
ifloop0 cond 000 000 10
ifloop1 cond 000 000 11
ifloop2 cond 000 000 12
ifloop3 cond 000 000 13
ifloop4 cond 000 000 14
ifloop5 cond 000 000 15
ifloop6 cond 000 000 16
ifloop7 cond 000 000 17
ifloop8 cond 000 000 18
ifloop9 cond 000 000 19
If a term in dico has the loop caterogy, Roxame applies the fonction
loopService(Integer.parseInt(DEFINITION)); Definition is only a number pointing on the functions :
loop0 loop 000 000 0
loop1 loop 000 000 1
loop1R loop 000 000 29
loop2 loop 000 000 2
loop3 loop 000 000 3
loop4 loop 000 000 4
loop5 loop 000 000 5
loop6 loop 000 000 6
loop7 loop 000 000 7
loop8 loop 000 000 8
loop9 loop 000 000 9
for the 0 to 9 cases, loopservice assigns the variables
loopIndex[int1] = 0;
loopEnd[int1] = number ;
for the other cases, loopservice does R(loopIndex[1]) ;
case 10 : loopIndex[0]++ ; if (loopIndex[0] < loopEnd[0]) intCond = true ; else intCond = false ; break;
case 11 : loopIndex[1]++ ; if (loopIndex[1] < loopEnd[1]) intCond = true ; else intCond = false ; break;
case 12 : loopIndex[2]++ ; if (loopIndex[2] < loopEnd[2]) intCond = true ; else intCond = false ; break;
case 13 : loopIndex[3]++ ; if (loopIndex[3] < loopEnd[3]) intCond = true ; else intCond = false ; break;
case 14 : loopIndex[4]++ ; if (loopIndex[4] < loopEnd[4]) intCond = true ; else intCond = false ; break;
case 15 : loopIndex[5]++ ; if (loopIndex[5] < loopEnd[5]) intCond = true ; else intCond = false ; break;
case 16 : loopIndex[6]++ ; if (loopIndex[6] < loopEnd[6]) intCond = true ; else intCond = false ; break;
case 17 : loopIndex[7]++ ; if (loopIndex[7] < loopEnd[7]) intCond = true ; else intCond = false ; break;
case 18 : loopIndex[8]++ ; if (loopIndex[8] < loopEnd[8]) intCond = true ; else intCond = false ; break;
case 19 : loopIndex[9]++ ; if (loopIndex[9] < loopEnd[9]) intCond = true ; else intCond = false ; break;
if (CATEGORIES.equals("text")) { refSubdirectory = DEFINITION ;
refTextFilenumber = FileNumberlocate(wordtobedoneloc, "text") ;
textName = wordtobedoneloc ;
}
Artistes text 000 000 Texts //OK dans Ddo
Variable_color, dans Ddo
if (CATEGORIES.equals("on")) condCat = false;
if (CATEGORIES.equals("present")) condCat = false;
if (CATEGORIES.equals("printing")) condCat = false;
if (CATEGORIES.equals("score")) condCat = false;
if (CATEGORIES.equals("script")) condCat = false;
if (CATEGORIES.equals("text")) condCat = false;
if (CATEGORIES.equals("variable_color")) condCat = false;
...