exhibit research | NCM | R10 Bronc | Support Page Producer: WOED | Kevin Walker (kevin@exhibitresearch.com)
Contents How it Works
Greenscreen Masking
Troubleshooting
If files are not being uploaded (Networking)
Camera
Printer
Computer
Monitor
Audio
Cabling & Connections
Bronc Software
Attract Loop Software
Downloads


How it Works

A button mounted on the bronc is hooked to a wireless garage door opener, the transmitter of which is inside the bronc, powered with a long-life battery. The receiver is inside the crate on the floor, and sends button presses to a BBI MiniMSC show controller, also in the crate. The show controller in turn sends an ASCII character (1) to the computer.

The computer displays a live video feed from the camera, which is connected to one of the computer's two Firewire (IEEE 1394) ports. When it receives a button press, it begins counting down from 3. It also sends a confirmation signal to the show controller (ASCII "a"), which also triggers the show controller to play a sound. (Audio resides on the show controller to free up the computer for doing video processing.) At this time, the computer also begins blocking any further button presses. When the Bronc software first starts up, it begins recording a ride automatically. (This is so that there is always a video clip available for the attract loop, as the plasma monitor is highly susceptible to image burn-in.

At zero, the computer begins recording a video clip for a specified time (currently set at 10 seconds). At the end of recording, it sends an ASCII "b" to the show controller, which stops whatever sound is playing and plays another one. The software then manipulates the video to add a background clip in place of the green, edits the captured clip into a sequence with clips before and after, and applies an "old film" effect to the edited sequence. The entire sequence is then saved as a Quicktime movie in the captured_movies folder. While it is manipulating the video, the computer will be locked up and cannot perform any other tasks. During this time, the screen that says "Wait about 30 seconds" is displayed. To quit out of the program, wait until processing is finished and the completed clip begins to play back.

When it begins playing the finished clip, the computer sends ASCII "s" through "v" (different for each of the four different rides) to the show controller, to trigger the appropriate soundtrack to play.

After playback, the computer then prints a receipt which contains login and password, for the visitor to view and download the clip on the web. Login and password strings are generated randomly from a list of all letters and numerals. The logins and passwords are also written to an external text file called users062702.txt (one named for each day) which lives in the movies_final folder. A thumbnail-sized image from the captured video is also added to the printed receipt.

After the receipt has been printed, and the print screen has been displayed for 10 seconds, the program will return to a live video feed and wait for a button press. After 5 minutes (adjustable in the settings file) the computer will run an attract loop. This is a separate program which just displays the latest 10 clips in a certain folder. This program has its own adjustable settings. When a button is pressed, the computer closes the attract loop and begins the countdown to recording.

In the evening, the computer automatically adds soundtracks to all of the captured movies from that day (since audio has been offloaded to the show controller), then uploads the files to an FTP site. After uploading is finished, the computer shuts down.


Greenscreen Masking

The video feed is not masked in real time (as in the Poster exhibit), rather the video is processed after it has been captured, to remove the green. The masking is adjustable outside of the Bronc program.

If the greenscreen masking looks wrong, this probably means that either the lighting or camera position has changed. Adjust the camera angle on the tripod, and zoom with a wheel on the back of the camera (the size of a quarter, with two ridges to grip). To calibrate the software to new lighting conditions, do the following:

Open the crate on the floor by lifting straight up (assuming it's not locked). Press the ESC key to exit the bronc program. Look in the bronc014 folder on the desktop, in the movies_source folder, and double-click the file called Captured Movie). This opens the last captured movie (this works better if there is someone on the bronc so if there is not, run the program and take a ride yourself. The quit the program after the live video feed comes back on, and open the last captured movie using the path specified above.)

When the movie is open, Go to the File menu and choose Export. Make sure Quicktime Movie is selected from the drop-down menu. Choose Options, then Filter. Select the Filter called Blue or Green Screen. Choose Green from the drop-down menu, and select the box that says Mask Only. Now you can use the Threshold slider to adjust the masking. Set it so that all the background is masked out but none of the person is. Set Smoothing to High, Background to None. Then uncheck the Mask Only box. Select Save from the lower left, and save the file under the default name (Blue or Green Screen.qfx), in bronc014/Settings. Replace the file that is already there.


Troubleshooting

If the computer freezes: Reboot. To make this easy, a hole has been drilled on the right side of the computer crate near the bottom. A lighted button is visible inside. This button will start up the computer when it is off, but will not reboot it; to do that, press the smaller button just to the right. Hold until the screen goes black. Note that the cursor is hidden most of the time, and the program will generally stop when it is post-processing video.

If the video feed is all white, or not clear: First, try unplugging and re-plugging the Firewire cable going into the computer, then reboot (press ESC to exit the Bronc program, and select Restart from the Special menu).

Error Messages: The computer has a Control Panel called Okey Dokey which says OK to any dialog box that appears on the screen. If an error keeps flashing on the screen, that means that each time Okey Dokey is dismissing it but the error persists. In this case, try pressing the ESC key repeatedly, or holding the Apple (Command) key and pressing the period key repeatedly.

If the message is a Script Error: please make a note of it and email to kevin@woed.com. (Pressing OK to one of these errors will attempt to keep running the program.) But if the error prevents continued running it will keep appearing, in which case the error must be cancelled (using the ESC or Cmd-. keys) and the program stopped. Then reboot (Special menu/Restart).

If the message is a communication error between the computer and printer: first try rebooting. If that does not work, check the printer power and data cables. On the computer's desktop, go to the Chooser from the Apple (far left) menu, select POSjet, and verify that a USB connection appears in the right-side window.

If the program crashes to the desktop: An error message will be displayed but will probably be immediately dismissed by Okey Dokey, so the computer will be sitting on the desktop. Reboot. If the problem persists, contact kevin@woed.com. You can try reloading the Bronc software.


Networking Issues

The Bronc computer is connected to the Internet via the TCP/IP network backbone in the museum. A control panel called iDo Script Scheduler triggers the after hours script (afterhours.exe) to execute at a specified time. This script closes the Bronc software (StartHere) and opens a file called insertSFXandFTP.exe. This is a Director program which inserts soundtracks into movies in the movies_created folder, then moves the movies to movies_final. Then it uploads the movies to the FTP server specified in the file Prefs/insertSFXandFTP.exeprefs.ini. The movies are uploaded one by one, and after each one is uploaded, it is deleted from the computer. The program also annotates a log file called zerror062702.txt (one named for each day) with everything it has done. It uploads the zerror062702.txt as well as the users062702.txt. When it has finished, the computer shuts down.

If files are not being uploaded, check the "zerror" log file "Network Connection Found!" or "Network Connection Not Found!". The insertSFXandFTP.exe can be triggered manually by double-clicking on it. If there are movies in the movies_created folder, it will add soundtracks, then attempt to upload whatever is in movies_final.

If there is network connectivity and the insertSFXandFTP.exe appears to be running and quitting properly, check the iDo Script Scheduler control panel (under the Apple menu). To test, you can set the time for 10 minutes later or so, then run the Bronc program (to create a new file), and wait to see if it executes properly. If so, don't forget to reset the time in the script scheduler.

Note that there is also a scheduled reboot at 9 AM. This is just in case the file transfer has stopped or frozen, and to start the Bronc software cleanly. A maximum of about 300 movies could be generated in a normal day. In eight hours, under normal conditions, the computer can upload about 1100 files.

An alternate method of file transfer has been provided. A file called insertSFX.exe can be triggered from the after hours script (open afterhours.script , change the script, then save as a Run Only Classic Applet, Startup Screen disabled, saved as afterhours.exe). This merely adds the soundtracks back to movies, then triggers a separate app called FTP.exe. FTP.exe opens a file transfer program called Fetch, uploads the entire movies_final folder, then deletes the folder and shuts down. The FTP settings are specified in the ftp.script (which must be recompiled if changed).

The danger in this method is that it does not know which files have or have not been uploaded, and it will delete the movies_final folder regardless. So it should be used only if there is ample time to upload the number of files in the movies_final folder.

Files could also be uploaded manually by opening Fetch (in the Applications (OS 9) folder on the hard drive, or from the Recent Applications.) There is a bookmark to the FTP site, and files can be dragged into the window.

One note of caution when manually moving files around: The Bronc software creates a users file for each day, and if that file is not in the movies_final folder, it will create one. If there are two files for one day, and one is uploaded, if the other file is uploaded, it will overwrite the previous, thus creating the possibility of erasing login/password information.


Camera

To adjust settings for greenscreen:
  • To adjust Focus: With Bronc software running, use button on far side of camera to select auto focus mode.
  • Zoom: Turn wheel on back of camera to adjust so that edges of greenscreen or not visible, and people of various heights can be seen.
  • If further adjustment is necessary, remove camera from housing
  • Open LCD screen on side of camera (held by small latch). Then close black viewfinder to activate LCD screen.
  • Exposure: Press the Menu button (inside LCD screen) and use + or - buttons to locate Program AE. Use buttons to scroll to Sports mode. This uses a fast shutter speed and keeps the colors from changing automatically.
  • White Balance: Locate White Balance menu, and set to Manual (MWB). At this point, place something white in front of the camera (so that light falls on it), zoom until white fills the screen, then press and hold Set/Select to set the white balance. Press Set/Select again once to lock the manual setting.
  • Manual Exposure: Press the Exposure button on top of the camera. Use the + and - buttons beneath to set the exposure to +6, the highes setting. Then press and hold Set/Select to hold this setting. Press Set/Select once again to lock. This compensates for the relative dark exposure of the fast shutter speed.
  • Camera Notes: This camera was selected for its small size, Firewire (IEEE 1394) connectivity, and the ability to adjust and hold settings manually. It will keep its settings when turned off and on, except for zoom and focus; therefore it should be left powered on.

    If a tape is inserted, the camera will turn off after five minutes.

    Complete manual for JVC GR_DVP3u is here.


    Computer

    The PowerMac G4 was selected for its stability, flexibility, and ease of setup and maintenance. The software was developed for the Mac, and the particular custom video software runs only on the Mac. A Stealth Serial Port was added (in the modem slot) to provide a direct serial connection to the show controller, negating the need for troublesome serial-to-USB adapters. The corner handles were removed to fit it into the crate. Due to its sideways orientation, the CD drive cannot be used without pulling the machine out of the crate. (To do this, first disconnect all the cables then carefully pull out the machine from the front. Watch out for sharp edges where the corner handles were, and take care not to damage the bottom of the computer on the metal lip on the bottom of the crate.)

    This machine is a 933MHz G4 with 512MB RAM and a fast SCSI-2 hard drive.

    More information on the G4 is available here.

    Stealth Serial Port driver is here.


    Monitor

    The 37" Hitachi CMP307XU plasma monitor is fed by a VGA (640x480 pixel) resolution RGB signal from the computer's monitor output. This monitor is adjusted with buttons on the underside.

    More information on the CMP307XU is available here.


    Audio

    All audio comes from the BBI MiniMSC show controller, and is triggered by the computer. (The volume on the computer has been turned off, so there is no startup sound or other sounds.) Audio runs from the show controller to two places: a small amplifier feeding a small speaker inside the crate, and the monitor. The easiest way to turn down the sound is to unplug the amplifier; then the remaining audio level can be adjusted on the monitor.


    Cabling and Connections

    Power: The power strip inside the crate powers the computer, show controller, amplifier, and garage door opener. Power for the camera is also inside the box, plugged into the other outlet. The printer is powered from beneath the mat.

    Data: An Ethernet cable comes in from the floor to the computer. The printer is directly connected by USB with a cable run from the crate to the printer. A keyboard is plugged into the other USB port, with a mouse plugged into one of the two USB ports on the keyboard. The camera is directly connected with a Firewire cable which runs from the side of the camera (bottom as it is mounted), down through the floor, and up into the crate. The show controller is directly connected to the serial port on the computer, with all cables inside the crate.


    Printer

    The Ithaca POSjet receipt printer is connected to the Mac via USB. Make sure this is selected in the Chooser (Exit Bronc program, go to Apple Menu/Chooser. Menus are hidden but if clicking at the top of the screen will make them appear.)

    In the Bronc program, printing layout is controlled by a file called "barcodeprinting.cst," in the Bronc014 folder on the desktop. (Download it here.) To re-install the Dymo Labelwriter, use this barcodeprinting.cst file.

    After heavy use, the Dymo LabelWriter 330 Turbo was deemed unsuitable for this application, due to difficulties with paper spooling and tearing, heat buildup, and communication problems with the computer.

    POSjet Drivers
    POSjet info sheet
    Dymo LabelWriter 330 Turbo drivers


    Bronc Software

    Programmed in Director 8.5 for Mac by Daniel Cummings and Kevin Walker. Serial input support is accomplished with Geoff Smith's Serial Xtra. Quicktime editing and exporting is done with Herbert Diamant's f3 Video Xtra. FileXtra3 is used for external file and folder manipulations, and the PrintOMatic Xtra is used for printing receipts.

    Manual Control: A button press can be simulated with the number 1 key on the keyboard. The "l" key (lower-case L) will manually trigger the Attract Loop, and the "q" will exit the Attract Loop (it runs in a window on top of Bronc).

    Other Adjustable Parameters: There is an external text file which holds Bronc settings, in Prefs/broncprefs.txt. This information can be adjusted from this file if necessary, though the Calibration Screen is easier. In the broncprefs.txt file, look for the following parameters: secondsTillAttractLoop, snapDisplayTime. capturetime can be adjusted, but the audio files on the show controller are also set at 10 seconds, so they should also be changed or they will be cut off. 8-second and 6-second version of all of the source files have been provided, in case a change of this sort is desired.

    Also note the parameter called moviecount, as this shows the current number used in naming clips. This number is incremented every time a clip is recorded. It can be manually set, but if it is set to a low number, it may write over existing files on the FTP server. When it reaches its upper limit, this number will reset back to zero. Since the limit is quite high, it will likely take years to roll over.

    You can adjust the video codec (the video format or compression algorithm) by launching the Bronc software while holding down the Shift key. It will record as usual, but during processing, it will display a dialog box allowing you to choose the type of compression, framerate, etc. It will then save those settings to a file called melded_OUT_settings, in the settings folder. So if you want to make changes or experiment with this, it is recommended that you first remove this file, so that you can replace it if necessary. The next time the Bronc software starts up (without the Shift key held down), it will use the settings specified in settings/melded_OUT_settings.

    Bronc Naming Convention: Each clip is named according the incremental counter described above, and padded with zeroes to create an 8-digit filename. Each file also includes an extension, separated by a dash, which indicates its ride number (1 through 4). In general, each file has a unique name which makes them relatively easy to locate (either by computers or humans). The users file lists each filename along with login and password generated for each.

    Video Issues: The video feed displays at VGA (640x480) resolution. If ever the video display shows all white, or an abstract pattern, check the camera connections, and try unplugging and re-plugging in the Firewire cable going into the computer.

    Files & Folders: The Bronc software utilizes externally linked files and folders, and if any file or folder names are changed, it will ask for help in locating them. The files bronc, displaysnapsbronc, insertSFX, and insertSFXandFTP are Director movies which can be opened and manipulated in Director; the StartHere file is merely a "stub projector" which opens bronc, and it contains no other code. The files in the CASTS folder are Director cast files which also can be opened in Director.

    There are a few Applescripts provided. afterhours simply quits out of the Bronc (StartHere) program and runs another Director file called insertSFXandFTP.exe. This inserts soundtracks into all of the movies in the movies_created folder (because sound is offloaded to the show controller to speed processing during exhibit hours), then saves the movies with sound in the folder movies_final. Then it uploads everything in movies_final (movies, user files and a log file that it generates) to the FTP site specified in Prefs/insertSFXandFTP.exeprefs.ini. After each movie is uploaded, it is deleted, and when all uploading is finished, it runs the Applescript app called shutdowner.exe, which shuts down the computer for the night. (It is set to startup at 8 AM in the Energy Saver control panel.) There is also a script to reboot the machine (currently set for 9 AM), and an FTP script which is not currently being used (see Networking above).

    The movies_source folder holds all of the source files the program uses to piece together each completed movie. This includes start and end clips, background clips, and soundtracks for each of the four distinct rides.

    The Prefs folder holds bronc preferences as described above, and also settings for the displaysnaps (attract loop) program and the after hours FTP program.

    Utilities and Settings: Also installed on the computer are a couple of Control Panels: Okey Dokey is a freeware utility which simulates pressing "OK" to any alert box or error message that appears. The time is adjustable, and it has been set to its fastest setting. No "special apps" are specified, so it will toggle between being on and off.

    There is a Control Panel called iDo Script Scheduler, another utility which triggers Applescripts at specified times. In this case, it is being used to reboot the computer at 9:55 AM every day.

    The monitor resolution should be set to 640x480@75Hz, Millions of Colors (Monitor Control Panel). Sound should be turned off; the keyboard provides keys for adjusting volume or muting. Energy Saver settings should be set so that the computer never goes to sleep or spins down the hard drive. This Control Panel is set to start up and shut down the computer at specified times.


    Attract Loop Software

    Programmed in Director 8.5 for Mac by Daniel Cummings.

    This is a separate program which acts as a slide show for recently snapped posters. This program is important because the plasma monitors can easily have an image burned in permanently if that image is left on the screen too long.

    The program looks in a specified directory for the 10 (or specified number) most recent clips, then plays them. A button press closes the program and goes back to Bronc. There must be at least one movie in the movies_created folder, so the bronc software is set to record one when it first starts up. (The day's clips are deleted after they are uploaded to the FTP site.)

    Manual Control: Clicking the mouse will bring up the settings screen. Unfortunately, the Bronc software wants to hide the cursor, so you may have to move the mouse around a bit to see it. You can also quit (Apple-q), and adjust the settings from the external text file Prefs/displaysnapsbroncprefs.txt. Look for the following parameters in the text file: folderPath (where to get the clips: in the movies_created folder); totalNumberOfImagesToCycle (number of clips to play).


    Downloads

    Final Bronc Director source code