Roxame Home - Diccan Home

Scripts

Main commands

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

Philosophy

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

Programming tips

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

scripts programming

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.

Variables specific to scripts

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)

 

 

Orientations for development

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.

Opening a presentation

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

Opening a script

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));

Environment

if (CATEGORIES.equals("environ")) Environment_(Integer.parseInt(DEFINITION));

Fonts


if (CATEGORIES.equals("font_")) {refFont = loadFont(DEFINITION); textFont(refFont); refFontName = wordtobedoneloc ;}

Loops

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;

Text

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;
...

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.