Managana progress code reference

Managana creations use the progress code to handle user interaction and playback flow. This code can be associated with a click, with temporized actions and can also be executed by external sources, like the TCP server of the Managana Showtime application. The progress code is split into 5 groups:

  • COMMUNITY: handles all community interaction, like loading a new community on the player
  • STREAM: the stream actions, like opening a new one, but also playing or pausing the playback
  • INSTANCE: interactions with graphic elements, the instances
  • MESSAGE: message exchange with playback containers, sharing content and opening urls
  • CODE: adjust the execution of the progress code itself

All progress code commands start with the action group name followed by the -> chars. Below, you’ll find some reference about all progress code commands currently available on Managana. Code marked with * was add at the latest version (1.3.0). Also, since version 1.3.0, Managana can handle numeric and string variables. If you want to learn more about how to use them, check this link: www.managana.org/managana-variable-handling/

COMMUNITY

  • loadCommunity
    loads a new community in the current player
    COMMUNITY->loadCommunity->communityID
    if used like the exemple above, the community is open on its home stream, however you can also set the stream you want to open using the following format:
    COMMUNITY->loadCommunity->communityID->streamID
  • showLowerGuide
    on streams using the lower guide content, show it if it is hidden
    COMMUNITY->showLowerGuide
  • hideLowerGuide
    on streams using the lower guide content, hide it if it is visible
    COMMUNITY->hideLowerGuide
  • showUpperGuide
    on streams using the upper guide content, show it if it is hidden
    COMMUNITY->showUpperGuide
  • hideUpperGuide
    on streams using the upper guide content, hide it if it is visible
    COMMUNITY->hideUpperGuide
  • showMainLayer
    show the main content layer (among lower and upper guides)
    COMMUNITY->showMainLayer
  • hideMainLayer
    hide the main content layer
    COMMUNITY->hideMainLayer

STREAM

  • play
    start content palyback
    STREAM->play
  • pause
    pude the content playback
    STREAM->pause
  • load
    load a new stream from the same community
    STREAM->load->streamID
  • nextX
    load the next stream defined for X axis
    STREAM->nextX
  • previousX
    load the previous stream defined for X axis
    STREAM->previousX
  • nextY
    load the next stream defined for Y axis
    STREAM->nextY
  • previousY
    load the previous stream defined for Y axis
    STREAM->previousY
  • nextZ
    load the next stream defined for Z axis
    STREAM->nextZ
  • previousZ
    load the previous stream defined for X axis
    STREAM->previousZ
  • gotoKeyframe
    move the playback to the defined keyframe
    STREAM->gotoKeyframe->#
  • transition
    force the stream transition (when loading a new one), overriding the default transition defined on stream
    STREAM->transition->center
    possible transition values are: center, fade, fromup, fromdown, fromright, fromleft, swipeup, swipedown, swiperight and swipeleft
  • clearTransition
    return the stream transition to the default one
    STREAM->clearTransition
  • historyNext*
    move to next stream in history
    STREAM->historyNext
  • historyBack*
    move to the previous stream in history
    STREAM->historyBack

INSTANCE

  • play
    play the element inside the instance
    INSTANCE->instanceID->play
  • pause
    pause the element inside the instance
    INSTANCE->instanceID->pause
  • hide
    make an instance invisible
    INSTANCE->instanceID->hide
  • show
    make an instance visible
    INSTANCE->instanceID->show
  • element
    open a playlist element inside the instance
    INSTANCE->instanceID->element->elementID
  • clearElement
    remove the element open in the instance by code, returning to the original instance element
    INSTANCE->instanceID->clearElement
  • next
    load the next playlist element into the instance
    INSTANCE->instanceID->next
  • previous
    load the previous playlist element into the instance
    INSTANCE->instanceID->previous
  • mediaURL
    load a media file from the internet into the instance
    INSTANCE->instanceID->mediaURL->http://…
    attention: while running on Flash Player, there are security limitations that apply to external media loading
  • clearURL
    unload previously loaded media file from the internet
    INSTANCE->instanceID->clearURL
  • webcam
    open the system webcam into the instance
    INSTANCE->instanceID->webcam
  • clearWebcam
    stop webcam display into the instance
    INSTANCE->instanceID->clearWebcam
  • forceLoop
    force the instance content to loop when it finishes
    INSTANCE->instanceID->forceLoop
  • unforceLoop
    remove loop force from the instance
    INSTANCE->instanceID->unforceLoop
  • fullScreen
    make the instance to fill the entire playback area
    INSTANCE->instanceID->fullScreen
  • clearFullScreen
    return the instance to its original size and position
    INSTANCE->instanceID->clearFullScreen
  • hideSubtitle
    make any subtitles used on instance to hide
    INSTANCE->instanceID->hideSubtitle
  • showSubtitle
    make the instance subtitles visible
    INSTANCE->instanceID->showSubtitle
  • setSubtitle
    set a text as the instance subtitle
    INSTANCE->instanceID->setSubtitle->the subtitle
  • clearSubtitle
    remove previously set instance subtitle
    INSTANCE->instanceID->clearSubtitle
  • scrollUp
    makes text inside instance scroll up
    INSTANCE->instanceID->scrollUp
  • scrollDown
    makes text inside instance scroll down
    INSTANCE->instanceID->scrollDown
  • scrollTop
    makes text inside instance scroll to top
    INSTANCE->instanceID->scrollTop
  • scrollBottom
    makes text inside instance scroll bottom
    INSTANCE->instanceID->scrollBottom
  • set
    set an instance property
    INSTANCE->instanceID->set->x->0
    properties that can be set: x, y, z, width, height, rx, ry, rz, alpha, blend, volume, red, green, blue
  • clearSet
    remove a single property set
    INSTANCE->instanceID->clearSet->x
  • clearAllSets
    remove all property sets from an instance
    INSTANCE->instanceID->clearAllSets
  • seek*
    move to a desired time (in seconds) of the current media loaded
    INSTANCE->instanceID->seek->#

MESSAGE

  • openurl
    open an url on a new browser tab or on de embed web viewer of the Managana application
    MESSAGE->openurl->http://www.managana.org
  • openfeedlink*
    open a link provided by an external feed post
    MESSAGE->openfeedlink->feedtype->feedname->postnumber
  • sharefacebook
    share current stream on Facebook
    MESSAGE->sharefacebook
  • sharetwitter
    share current stream on Twitter
    MESSAGE->sharetwitter
  • sharegplus
    share current stream on Google+
    MESSAGE->sharegplus
  • custom
    send a custom message from the palyer (for custom Managana applications)
    MESSAGE->custom->the custom message
  • send*
    send a message to a TCP connected server or client while running on Showtime application
    MESSAGE->send->the message
  • startPCodeSend*
    start sending progress code to a TCP connected server or cliente Showtime application until endPCodeSend command is found – the progress code will run only on connected instance
    MESSAGE->startPCodeSend
  • endPCodeSend*
    stop the progress code sending to TCP connected server or client
    MESSAGE->endPCodeSend

CODE

  • wait
    wait a number of seconds before continue the progress code execution
    CODE->wait->#
  • clearTimers
    stop any temporized code execution previously defined with the wait command
    CODE->clearTimers
  • setNumber*
    set a number variable
    CODE->setNumber->variable name->#
  • setString*
    set a string variable
    CODE->setString->variable name->$$$
  • clearNumber*
    clear a number variable
    CODE->clearNumber->variable name
  • clearString*
    clear a string variable
    CODE->clearString->variable name
  • clearAllNumbers*
    clear all number variables
    CODE->clearAllNumbers
  • clearAllStrings*
    clear all string variables
    CODE->clearAllStrings
  • clearAllValues*
    clear all number and string variables
    CODE->clearAllValues
  • ifNumEqual*
    check if two numbers are equal and run the following progress code until CODE->else or CODE->endIf is found
    CODE->ifNumEqual->first number->second number
  • ifNumDifferent*
    check if two numbers are different and run the following progress code until CODE->else or CODE->endIf is found
    CODE->ifNumDifferent->first number->second number
  • ifNumLower*
    check if a number is lower and run the following progress code until CODE->else or CODE->endIf is found
    CODE->ifNumLower->first number->second number
  • ifNumHigher*
    check if a number is higher and run the following progress code until CODE->else or CODE->endIf is found
    CODE->ifNumHigher->first number->second number
  • ifNumLowerOrEqual*
    check if a number is lower or equal and run the following progress code until CODE->else or CODE->endIf is found
    CODE->ifNumLowerOrEqual->first number->second number
  • ifNumHigherOrEqual*
    check if a number is higher or equal and run the following progress code until CODE->else or CODE->endIf is found
    CODE->ifNumHigherOrEqual->first number->second number
  • ifStrEqual*
    check if two strings are equal and run the following progress code until CODE->else or CODE->endIf is found
    CODE->ifStrEqual->first string->second string
  • ifStrDifferent*
    check if two strings are different and run the following progress code until CODE->else or CODE->endIf is found
    CODE->ifStrDifferent->first string->second string
  • ifNumExist*
    check if a numeric variable exists and run the following progress code until CODE->else or CODE->endIf is found
    CODE->ifNumExist->variable name
  • ifStrExist*
    check if a string variable exists and run the following progress code until CODE->else or CODE->endIf is found
    CODE->ifStrExist->variable name
  • else*
    run the following progress code when the last condition checked was not satisfied until CODE->endIf is found
    CODE->else
  • endIf*
    end a condition check
    CODE->endIf
  • addToNum*
    add a value to an existing number variable
    CODE->addToNum->variable name->value to add
  • subtractFromNum*
    subtract a value from an existing number variable
    CODE->subtractFromNum->variable name->value to subtract
  • multiplyNum*
    multiply an existing number variable by a value
    CODE->multiplyNum->variable name->value to multiply
  • divideNum*
    divide an existing number variable by a value
    CODE->divideNum->variable name->value to divide
  • mergeToStr*
    merge a text to an existing strin variable
    CODE->mergeToStr->string variable name->string to merge
  • getStreamID*
    save the current strem id into a string variable
    CODE->getStreamID->string variable name
  • getCommunityID*
    save the current community id into a string variable
    CODE->getCommunityID->string variable name
  • getCategory*
    save the current stream category into a string variable
    CODE->getCategory->string variable name
  • getInstanceProp*
    save an instance property into a numeric or string variable (the valid properties are x, y, z, rotation, width, height, alpha, volume, red, green, blue, element and blend)
    CODE->getInstanceProp->variable name->instance name->property
  • saveValues*
    save all current numeric and string values at the local filesystem if the user is not logged or at the server otherwise – the values are saved for the current open community
    CODE->saveValues
  • loadValues*
    load numeric and string values from local filesystem if the user is not logged or from the server saved for the current community – the loadValues command is asynchronous and the loaded data may not be available for some time
    CODE->loadValues
  • setRandomNum*
    set a random value from 0 to a defined number to a numeric variable
    CODE->setRandomNum->variable name->maximum number
  • getComValues*
    load the current community values from the server – the getComValues command is asynchronous and the loaded data may not be available for some time
    CODE->getComValues
  • clearComValues*
    clear information about current community values
    CODE->clearComValues
  • ifComValues*
    check if the current community values are loaded
    CODE->ifComValues
  • setComValue*
    set a community value – the command is executed directly at the server
    CODE->setComValue->variable name->value
  • addToComValue*
    add a number to a community value – the command is executed directly at the server
    CODE->addToComValue->variable name->value to add
  • subtractFromComValue*
    subtract a number from a community value – the command is executed directly at the server
    CODE->subtractFromComValue->variable name->value to subtract
  • multiplyComValue*
    multiply a community value by a number – the command is executed directly at the server
    CODE->multiplyComValue->variable name->value to multiply
  • divideComValue*
    divide a community value by a number – the command is executed directly at the server
    CODE->divideComValue->variable name->value to divide
  • ifUserLogged*
    check if the current user is logged
    CODE->ifUserLogged
  • ifHistoryNext*
    check if there is available information for navigation history next
    CODE->ifHistoryNext
  • ifHistoryBack*
    check if there is available information for navigation history back
    CODE->ifHistoryBack
  • ifIsMeta*
    check if the given name is a defined meta value
    CODE->ifIsMeta->name to check
  • runFunctionA*, runFunctionB*, runFunctionC*, runFunctionD*
    run the custom funcion A, B, C or D defined for current stream
    CODE->runFunctionA

Category: Sem categoria 2 comments »

2 Responses to “Managana progress code reference”

  1. a video installation story with Managana — Managana Org

    […] to the map, moving to the next theme. This kind of setting is possible through the usage of the Progress Code, a kind of simplified programming language we developed for […]

  2. uma vídeo instalação com o Managana — Managana.art.br

    […] ao mapa do Estado, passando para o próximo. Esse tipo de programação é possível com o uso do Progress Code, uma espécie de linguagem de programação bastante simplificada que desenvolvemos para o […]

Back to top