While updating my CaptivateController script I noticed there have been some changes to the Captivate variables available to Captivate developers. I figured I should document them for future reference.

Note that some variables available in CP3 and CP4 are no longer available. The following list should be exhaustive for CP5; variables for previous versions of Captivate have been purposely left off this list. I also purposely left off some publicly accessible (but useless) movieclips and objects.

While most people seem to focus on using Captivate variables natively within a Captivate project via the Variables menu or widgets, my focus has been figuring out how accessible/usable they are via JavaScript. Thus you may find small differences between my list and other people’s lists, and differing opinions regarding the usefulness of some variables and publicly accessible movieclips. Regardless, the items below should be accessible via every method: widgets, JavaScript, and the native Variables support in Adobe Captivate.

If you know of any variables that I missed, please leave a comment. Thanks!

Update: Kurt Melander has kindly converted this list to PDF format if you’d like to download or print it. Thanks, Kurt.

VariableTypeDescription

CPMovieType

[number]Informational variable. Indicates whether the queried SWF is a skin SWF (0) or the main content SWF (1).
CaptivateVersion[string]Informational variable. Indicates the version of Adobe Captivate that published the SWF
DoNotRegisterRightClickBecauseOfAggregator[boolean]Internal variable, no information available
LocalConnectionInUse[boolean]Internal variable, no information available
NoOfTOCEntries[number]Informational variable. Returns the number of items contained in the project’s Table of Contents

PlaybarProperties

[string]
in Chrome

[XML] in Firefox

Internal variable, no information available.

NOTE: This item is
:XML data type in AS3. Because browsers have different support for native XML data types, values returned from this variable should not be considered cross-browser. Use at your own risk.

__loadbase[string]

Informational variable. Returns project’s root file path.

NOTE: This value can only be obtained when the project uses an external skin.

contentHeight[number]Informational variable. Returns the height of the Captivate main SWF (in pixels)
contentLeft[number]Informational variable. Returns the distance of the Captivate main SWF from the leftmost edge of the project (in pixels).
contentSWF[string]

Informational variable. Returns the file name for the project’s main SWF.

NOTE: This value can only be obtained when the project uses an external skin.

contentTop[number]Informational variable. Returns the distance of the Captivate main SWF from the topmost edge of the project (in pixels).
contentWidth[number]Informational variable. Returns the width of the Captivate main SWF (in pixels)
cpAutoPlay[boolean]Informational variable. Indicates whether the project is set to auto-play.
cpCaptivateSkinSWF[boolean]

Informational variable. Indicates whether the SWF is a skin SWF or primary project SWF.

NOTE: This value can only be obtained when the project uses an external skin.

cpCmndCC[number]Command variable. Setting to 1 will enable captioning. Setting to 0 will disable captioning.
cpCmndFastForward[number]Command variable. Setting to 1 will fast-forward the movie (play the movie at a higher framerate). Setting to 0 will return the movie to the normal playback speed.
cpCmndGotoFrameAndResume[number]

Command variable. Will cause the movie to jump to the specified frame and resume playing (frame numbering begins at 0).

Note: frames are not the same as slides.

cpCmndGotoSlide[number]

Command variable. Will cause the movie to jump to the specified slide (slide numbering starts at 0).

Note: frames are not the same as slides.

cpCmndMute[boolean]Command variable. Setting to 1 will disable (mute) the audio. Setting to 0 will restore it to normal.
cpCmndNext[number]Command variable. Setting to 1 will cause the movie to jump to the next slide. Setting to 0 will do nothing.
cpCmndPlaybarMoved[boolean]Command variable. Internal variable. According to Captivate documentation, “Set to 1 if the playbar has moved.”
cpCmndShowPlaybar[number]Command variable. Setting to 1 will cause the movie’s playbar to appear. Setting to 0 will make the palybar disappear.
cpCmndVolume[number]Command variable. Setting to a number will cause the volume to change. The volume ranges from 0 (muted) to 100 (maximum volume).
cpContentLoadStart[boolean]

Informational variable. Indicates whether the main project SWF has started.

NOTE: This value can only be obtained when the project uses an external skin.

cpContentLoaded[boolean]

Informational variable. Indicates whether the main project SWF has loaded.

NOTE: This value can only be obtained when the project uses an external skin.

cpContentPositioned Internal variable. No information available.
cpContentScaled Internal variable. No information available.
cpHasSkinSWF[boolean]Informational variable. Indicates whether the Captivate project uses an external skin.
cpInfoAuthor[string]Informational variable. Returns the project author’s name, as entered in the movie’s properties before publishing.
cpInfoCompany[string]Informational variable. Returns the project company’s name, as entered in the movie’s properties before publishing.
cpInfoCopyright[number]Informational variable. Returns the project’s copyright notice, as entered in the movie’s properties before publishing.
cpInfoCourseID[number]Informational variable. Returns the project’s course ID, as entered in the movie’s properties before publishing.
cpInfoCourseName[string]Informational variable. Returns the project’s course name, as entered in the movie’s properties before publishing.
cpInfoCurrentDate[string]Informational variable. Returns the day portion of the current date.
cpInfoCurrentDateString[string]Informational variable. Returns today’s date (US English format).
cpInfoCurrentDay[string]Informational variable. Returns number indicating day of week (1 = Sunday, 2 = Monday, etc.)
cpInfoCurrentHour[string]Informational variable. Returns the current hour (24 hour clock format).
cpInfoCurrentMinutes[string]Informational variable. Returns the minutes portion of the current time.
cpInfoCurrentMonth[string]Informational variable. Returns the month portion of the current date.
cpInfoCurrentSlide[number]Informational variable. Returns the current slide number. (Uses 1-based index)
cpInfoCurrentSlideLabel[string]Informational variable. Returns the slide label for the current slide, if available.
cpInfoCurrentSlideType[string]Informational variable. Returns the slide type for the current slide.
cpInfoCurrentTime[string]Informational variable. Returns the current time, including seconds (24 hour clock format).
cpInfoCurrentYear[string]Informational variable. Returns the year portion of the current date.
cpInfoDescription[string]Informational variable. Returns the project’s description, as entered in the movie’s properties before publishing.
cpInfoElapsedTimeMS[number]Informational variable. Returns the amount of time (in milliseconds) that has elapsed since the project began playing.
cpInfoEmail[string]Informational variable. Returns the project author’s e-mail address, as entered in the movie’s properties before publishing.
cpInfoEpochMS[number]Informational variable. Returns the current time elapsed (in milliseconds) since January 01, 1970.
cpInfoHasPlaybar[number]Informational variable. Indcates whether the Captivate movie has a playbar. 1=true, 0=false
cpInfoIsStandalone[number]Informational variable. Indicates whether Captivate project is en .exe or .app file (1) or standard SWF (0).
cpInfoLastVisitedSlide[number]Informational variable. Returns the last visited slide number. (Unlike cpInfoCurrentSlide, this variable uses 0-based index)
cpInfoPercentage[number]Informational variable. Returns the current score as a percentage (if available).
cpInfoPrevSlide[number]Informational variable. Returns the number of the slide before the current slide. (Uses 1-based index)
cpInfoProjectName[string]Informational variable. Returns the project’s name, as entered in the movie’s properties before publishing.
cpInfoWebsite[string]Informational variable. Returns the project’s web addess, as entered in the movie’s properties before publishing.
cpLockTOC[number]Command variable. Setting to 1 disables user interaction on the Table of Contents. Setting to 0 re-enables (unlocks) user interaction.
cpMovieHeight[number]Informational variable. Returns the height of the Captivate project, in pixels.
cpMovieWidth[number]Informational variable. Returns the width of the Captivate project, in pixels.
cpMovieXForEmbededPlaybar[number]Informational variable. Returns the x coordinate (left position) of the Captivate project’s toolbar, if available.
cpMovieXForTOC[number]Informational variable. Returns the x coordinate (left position) of the Captivate project’s Table of Contents movieclip, if available.
cpMovieYForEmbededPlaybar[number]Informational variable. Returns the y coordinate (top position) of the Captivate project’s toolbar, if available.
cpMovieYForTOC[number]Informational variable. Returns the y coordinate (top position) of the Captivate project’s Table of Contents movieclip, if available.
cpOrgSWFPath[string]

Informational variable. Provides the file name for the project’s main SWF. Appears to duplicate functionality of cpOrgSWFPath.

NOTE: This value can only be obtained when the project uses an external skin.

cpQuizInfoAnswerChoice[string]Informational variable. Returns the chosen answer for the quiz question.
cpQuizInfoAttempts[number]Informational variable. Returns the number of times the quiz has been attempted.
cpQuizInfoLastSlidePointScored[number]Informational variable. Returns the score for the last visited quiz slide.
cpQuizInfoMaxAttemptsOnCurrentQuestion[number]Informational variable. Returns the number of attempts allowed for this quiz question.
cpQuizInfoNoQuestionsPerQuiz Informational variable. No information available. Best guess: returns the number of questions in the quiz.
cpQuizInfoPassFail[number]Informational variable. Returns the result of the quiz: pass or fail.
cpQuizInfoPointsPerQuestionSlide[number]Informational variable. Returns the number of points for this quiz question.
cpQuizInfoPointsscored[number]Informational variable. Returns the total number of points scored in the project.
cpQuizInfoQuestionSlideTiming[number]Informational variable. Returns the time limit for the current question (in seconds).
cpQuizInfoQuestionSlideType[string]Informational variable. Returns the current question’s type (multiple-choice, true-false, likert, etc.).
cpQuizInfoQuizPassPercent[number]Informational variable. Returns the passing percentage for the quiz.
cpQuizInfoQuizPassPoints[number]Informational variable. Returns the passing points for the quiz.
cpQuizInfoTotalCorrectAnswers[number]Informational variable. Returns the number of correctly answered quiz questions.
cpQuizInfoTotalProjectPoints[number]Informational variable. Returns the total number of points for the project.
cpQuizInfoTotalQuestionsPerProject[number]Informational variable. Returns the total number of questions for the project.
cpQuizInfoTotalQuizPoints[number]Informational variable. Returns the total number of quiz points for the project.
cpQuizInfoTotalUnansweredQuestions[number]Informational variable. Returns the total number of unanswered questions for the project.
endSwfAction[number]Internal variable. No information available.
expired[boolean]Internal variable. No information available. Best guess: Boolean indicating whether time limit has elapsed.
hasProjectFadeOut[boolean]Internal variable. No information available. Best guess: Boolean indicating whether last slide in project is set to fade out.
inAutoPlayState[boolean]Internal variable. No information available. Best guess: Boolean indicating whether project is set to auto-play.
isCPMovie[boolean]Informational variable. Indicates whether the SWF is a Captivate SWF.
isContiniousModeRecording[number]Internal variable. No information available. (Yes, that’s how it was spelled in the code.)
isCustomizable[boolean]

Internal variable. No information available. Best guess: Indicates whether the skin is customizable.

NOTE: This value can only be obtained when the project uses an external skin.

isForceMuteAudio[boolean]Internal variable. No information available. Best guess: Indicates whether the audio was muted by the user.
isPlayBarBtnClicked[boolean]Internal variable. No information available. Best guess: Indicates whether a specific action was performed via clicking the playbar (such as muting audio).
isPreview[number]Internal variable. No information available. Best guess: Indicates whether the SWF is a preview SWF (used when previewing projects within the Captivate authoring environment).
isPreviewForAudioDialog[boolean]Internal variable. No information available. Best guess: Indicates whether the SWF is a preview SWF (used when previewing projects within the Captivate authoring environment).
isPreviewSkin[boolean]Internal variable. No information available. Best guess: Indicates whether the project SWF’s skin is a preview SWF (used when previewing projects within the Captivate authoring environment).
lmsString[string]Internal variable. No information available. Best guess: The text displayed when Captivate initializes an LMS connection (SCORM, AICC, etc.).
loadedFromAggregator[boolean]Internal variable. No information available. Best guess: Indicates whether the Captivate SWF was loaded as part of an aggregator project.
m_quizPoolColl[object]Internal variable. No information available. Best guess: Object containing question pool questions.
movieQuality[string]Internal variable. No information available. Best guess: Indicates quality setting of SWF playback.

movieXML

[string] in Chrome

[XML] in Firefox

Internal variable, no information available.

NOTE: This item is
:XML data type in AS3. Because browsers have different support for native XML data types, values returned from this variable should not be considered cross-browser. Use at your own risk.

needToMuteAudioForAggregator[boolean]

Internal variable. No information available.

NOTE: This value can only be obtained when the project uses an external skin.

passwordPresent[boolean]Internal variable. Indicates whether a password has been supplied.
pbcBtnTips[object]Internal variable. Alias for pbcBtnTips_ENU.
pbcBtnTips_ENU[object]Internal variable (array). Returns list of tooltips used by the playbar buttons.
playbarBarAlign[number]

Internal variable. No information available.

NOTE: This value can only be obtained when the project uses an external skin.

playbarHeight[number]Informational variable. Returns height of playbar, in pixels.
playbarPosition[number]

Internal variable. No information available.

NOTE: This value can only be obtained when the project uses an external skin.

rdIsInLivePreviewMode[boolean]Internal variable. No information available. Best guess: Indicates whether the SWF is a preview SWF (used when previewing projects within the Captivate authoring environment).
rdIsPreview[boolean]Internal variable. No information available. Best guess: Deprecated variable replaced by isPreview
rdIsPreviewInBrowser[boolean]Internal variable. No information available.
rdIsStandalone[boolean]Internal variable. No information available. Best guess: Deprecated variable replaced by cpInfoIsStandalone
rdcmndCC[number]Command variable (deprecated). Alias for cpCmndCC.
rdcmndExit[number]Command variable. According to Captivate documentation, “Exit the movie. Set to 1 to exit.” Has never worked for me.
rdcmndGotoFrame[number]Command variable (deprecated). Alias for cpCmndGotoFrame.
rdcmndGotoFrameAndResume[number]Command variable (deprecated). Alias for cpCmndGotoFrameAndResume.
rdcmndGotoSlide[number]Command variable (deprecated). Alias for cpCmndGotoSlide.
rdcmndMute[boolean]Command variable (deprecated). Alias for cpCmndMute.
rdcmndNext[boolean]Command variable (deprecated). Alias for cpCmndNext.
rdcmndNextSlide[number]Command variable (deprecated). Alias for cpCmndNext.
rdcmndPause[number]Command variable. Setting to 1 will cause the movie to stop playing (pause). Setting to 0 will do nothing.
rdcmndPlaybarMoved[boolean]Command variable (deprecated). Alias for cpCmndPlaybarMoved.
rdcmndPrevious[number]Command variable. Setting to 1 will cause the movie to stop playing (pause). Setting to 0 will do nothing.
rdcmndResume[number]Command variable. Setting to 1 will cause the movie to go backwards to the previous slide. Setting to 0 will do nothing.
rdinfoCurrentFrame[number]Informational variable. Returns current frame number using 0-based index.
rdinfoCurrentSlide[number]Informational variable (deprecated). Alias for cpInfoCurrentSlide.
rdinfoCurrentSlideInProject[number]Informational variable. No information available. Best guess: Alias for cpInfoCurrentSlide.
rdinfoFPS[number]Informational variable. Returns the SWF’s frame rate (in seconds).
rdinfoFrameCount[number]Informational variable. Returns the number of frames in the SWF.
rdinfoHasPlaybar[boolean]Informational variable (deprecated). Alias for cpInfoHasPlaybar.
rdinfoSlideCount[number]Informational variable. Returns the number of slides in the Captivate movie.
rdinfoSlidesInProject[number]Informational variable. No information available. Best guess: An unused/deprecated variable.
rdinfocurrFrame[number]Informational variable. No information available. Best guess: Alias for rdinfoCurrentFrame.
skinHeight[number]

Internal variable. No information available.

NOTE: This value can only be obtained when the project uses an external skin.

skinWidth[number]

Internal variable. No information available.

NOTE: This value can only be obtained when the project uses an external skin.

swfCmtAutoPlay[boolean]Internal variable. No information available. Best guess: Indicates whether the SWF will auto-play when in commenting mode.
swfCommenting[boolean]Internal variable. No information available. Best guess: Indicates whether the SWF is in commenting mode.
tocInitDone[boolean]Internal variable. Indicates when the Table of Contents has finished initializing.
waitCount[number]Internal variable. Indicates how long the SWF has been waiting (used for internal timer-related functions).

Similar Posts

22 Comments

  1. Thanks for this extensive list, very useful. I do have some doubts however about two variables “cpInfoCourseName” is not the same as “cpInfoProjectName” as you seem to indicate in the list. The last is indeed the name entered in the properties of the file (Project Info), but until now I couldn’t figure out what “cpInfoCourseName” is, ditto for “cpInfoCourseID”. Could those two variables be linked to the alternative reporting for Quizzes to acrobat.com perhaps?

  2. @lieve yeah, i’m actually not sure about those two. i think they’re from the quiz properties, such as the SCORM manifest.

  3. With the variable for cpCmndFastForward, is there a way to get the audio to play back during the fast forwarding of the video?
    I’ve noticed that the fast forward button only speeds up the video. The button doesn’t playback the audio at all (let alone at the faster speed) at the same time. Is there a way that I can have the audio play at the same (faster) speed with the video in fast forward? My goal is for people to be able to still hear the audio and watch the video at the faster rate. Any help is appreciated – thanks!

  4. The XML limitations only apply when sending data to the browser, right? You should still be able to use flash.xml to navigate the tree internally.

  5. Awesome work as always Phillip. Send me an e-mail, I have an updated “prettied up” PDF file of your very handy Captivate 5 Variables.

    Cheers,
    Kurt

  6. How can I edit those variables? because in a script in advance actions I don’t have access to modify or assign a value to all the variables, only a few ones.

    1. @alvaro i access the variables via JavaScript, but they’re also accessible via widgets and embedded SWFs. there are lots of examples out there. for starters, you can check out cpguru.com, the Adobe Captivate forums, and Tristan Ward’s widget site. they all have good examples and different approaches to working with Captivate

  7. Hi… I hate using Captivate for creating elearning modules (as a simulation tool it’s fine) and ur the only decent source of information out there. The only reason I’m using it is cos the client (in all their infinite wisdom) uses it.

    Don’t worry I won’t go into a rant here – saving it for a huge post over on the Adobe captivate forum.

    I’ve got a question for you – If you had to force the SCORM score variable to a particular value through javascript (in captivate 5) how would you go about it?

    1. @george all SCORM data is handled by JavaScript, so in theory you could just monitor SCORM’s JavaScript. Doesn’t matter what the course was built in (CP5, Articulate, whatever). Scores are handled via the cmi.core.score CMI element in SCORM 1.2 and cmi.score in SCORM 2004. I won’t go into the details, since it would be equivalent to giving instructions on how to cheat. If you look at the SCORM support JS file that ships with Captivate, you should be able to figure it out easily enough.

  8. Hey Philip!

    Can you or one of your readers lend a hand? I’m trying to get my AS3-written Flash swf to target the “parent” Captivate swf file in order to tell it to go to the next slide. I used to be able to do it using a proxy swf file that used this line to do that:

    (parent.parent.parent as MovieClip).rdcmndNextSlide = 1;

    However, now I’m executing the same line in another AS3 Flash swf and the Captivate container isn’t responding to it. By using trace actions I can conclude that the function this line is nested in is executing properly, so it seems its either a syntax or targeting issue, and am leaning toward the latter since the same snippet has worked before (though should have had the same parent child relationship).

  9. hi danny

    it always gets tricky when working with nested SWFs and movieclips.

    so the two Flash SWFs are both being imported into the same Captivate SWF, and one works while the other doesn’t? is the ActionScript in both Flash SWFs located at the root of the SWFs? do the Flash SWFs have the same internal structure?

    i suggest posting this to the elearning and technology google group, as more people will see it and possibly be able to give feedback. it’s also better suited for longer discussions (this isn’t really related to my blog post).

  10. Thanks a lot for this extensive list of commands 🙂 Helps a lot when converting my old player to AS3. One thing tho, i am having trouble with some commands, especially rdcmndRewindAndStop which used to work nicely in captivate 3 but not at all in captivate 5, it rewinds the movie, but it will continue to play and not stop playback as expected, do you have any clue to why this is happening?

  11. Adobe changed the way some variables are supported; many now require using ExternalInterface. I don’t have it all memorized, but if you look at the source code for my CaptivateController, you’ll see my take on how to handle the changes.

  12. Thanks a lot!!!

    I have loaded captivate published SWF file to flash, now I want to read the closed caption/slide notes text from flash for each slide. Is there any command in captivate to do this?

    Thanks in advance!!!
    Kathir M

  13. @kathir not that i’m aware of. it’s probably possible to extract the data, but i don’t think there are any easy-to-use Captivate variables that provide the information.

  14. Hi Philip,

    Thanks for reply. Can u tell me how could I extract data/CC/slidenotes other than thru variables?

    Thanks and Regards,
    Kathir M

  15. @kathir you’d have to find the variables in the nested movieclips using actionscript. it’s hard because you have to know exactly where to look. you’d probably need to write a widget to get that level of access, or else use the old embedded SWF technique.

  16. Philip,

    This is probably really lazy of me to ask, but we are having issues with Captivate quizzes in our lms – SCORM 1.2. Our compliance folks want people to be able to start a quiz, stop and resume, and for the course to pick up scoring where they left off.

    Currently bookmarking works fine, taking you to where you left off. But the course doesn’t remember that you have already answered the first 5 questions correctly. So the course marks you as incomplete…

    Do you know if anyone has a solution for this? Maybe pulling the previous score on re-launch and adding it to the current score on post? It doesn’t look like you could update the cpQuizInfoPointsscored directly because it is info only… But like you have said elsewhere maybe in JS or HTML wrapper?

    Anyhow, just wondering if anyone has an easy solution.

Comments are closed.