Abstract:
A file system for a stage lighting system that maintains the different files associated with the stage lighting system. Each of the files that can represent an effect are maintained within the system within a configuration file. The configuration file can be updated on each start of the system so that the system can maintain information indicative of current configuration files. A test mode can also be entered in which a pre-formed show can be tested against the current state of the configuration files.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application is a continuation application of and claims priority to U.S. patent application Ser. No. 11/861,182 filed Sep. 25, 2007, which is a continuation application of and claims priority to U.S. patent application Ser. No. 10/913,022, filed Aug. 6, 2004, which claims benefit of the priority of U.S. Provisional Application Ser. No. 60/493,862, filed Aug. 8, 2003, and entitled “File System for a Stage Lighting Array System.” 
     
    
     BACKGROUND 
       [0002]    Stage lighting systems may be extremely complex. A typical system may include a console which controls a number of different lighting systems. Each lighting system may be a self-contained system, or may be a computer-based box that controls an external system. Many complicated effects are often carried out during the show. The complicated effects require knowledge of the files that actually exist within each lamp. 
       SUMMARY 
       [0003]    The present system defines a special file system and discovery mechanism for automatically determining the content of certain files in a display system of a type adapted for digital control of an external projector. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0004]      FIG. 1  shows a block diagram of the overall system. 
           [0005]      FIG. 2  shows a flowchart of operation of the stored a routine which automatically indexes the kinds of files which can be used; 
           [0006]      FIG. 3  shows a flowchart of operation of a special test mode. 
       
    
    
     DETAILED DESCRIPTION 
       [0007]    A block diagram of the basic system is shown in  FIG. 1 . A number of lights collectively form a “show”, with the number of lights typically being between 5 and 200 lights, although there is no actual limit on the number of lights that can form a show. Effects being produced by all of these lights are controlled by the console  100 , under control of a lighting designer or operator. The console may produce one or many outputs which collectively control the array of lights. In  FIG. 1 , the line  111  is shown connected from console  100 , to control a first light assembly  120  which is explained in further detail. The line  110  is shown as controlling other lights shown generically as  102 ; where it should be understood that there are at least 2 lights, and more typically between 5 and 200 lights in the overall show. In an embodiment, the controlling line  110  may be a control using ethernet protocol. 
         [0008]    The actual light  120  being controlled by the control line  102  is an M BOX™ light made by Light and Sound Design, Ltd. The M BOX is formed of a computer part  122  which is programmed with suitable programs as described herein, a user interface  124 , an external memory source  126 , and a display  128 . In a preferred embodiment, a keyboard switch or KVM switch  125  is used so that the user interface  124  and display  128  may be used in common for all of a multiplicity of different computer units  122 , 116  &amp;  118 . 
         [0009]    The computer part  122  also includes its own internal memory  130 , which stores both programs which are used for image processing, and also stores prestored gobos and effects to be used by the light. For example, the memory  130  may store video clips, as well as a number of different shapes, and may store specified libraries from different gobo manufacturers. The gobo shapes may be used to shape the outer shape of the light beam being projected. In an embodiment, the final effect produced by the light may be a combination of a number of different layers, and the shape of the layer may also be controlled by the images stored in memory  130 . 
         [0010]    The computer part  122  also includes a processor shown as CPU  132 , and a video card  134 . All of these may be off-the-shelf items. The CPU  132  operates based on the programs stored in memory  130  to produce a video output using video card  134 . The video output  136  is connected to an external projector  140 . In an embodiment, this projector  140  may be a projector which is digitally controllable, which is to say that each of a plurality of digital bits forming the image is separately controllable for brightness, color and other aspects such as duty cycle. For example, the projector  140  may be a digital micromirror based device or DMD, also referred to as a digital light processor based device. The projector produces an output effect  145  which is used for part of the show. For example, the effect  145  may be projected onto the stage. 
         [0011]    As explained above, there be may be a number of computer units  122  controlled by the common user interface  124  and display  128 , and also controlled by the ethernet control signal  102 . In this embodiment, two additional computer units  116  and  118  are shown, each also controlling external projectors  117 ,  119  to produce other lighting effects. 
         [0012]    In operation, the CPU  132  operates according to a stored program to carry out certain operations based on the basic shapes and effects which are stored in the memory  130 . For example, the CPU  132  typically controls a number of different layers collectively forming the image which is used to control the projector. Each of these layers may define shape, color and movement. The movements can be rotations or can be more complicated movements. One layer may cover any other layer or may add to or subtract from any of the other layers. The combined images, as controlled in this way, form a composite image  136  which is used to control the projector. 
         [0013]    The images may be stored in memory as libraries, or may be part of external memory  126  that is added to the libraries. The CPU  132 , however, needs to know which images it can use. Accordingly, the CPU executes the routine shown in  FIG. 2  at startup. This routine enables the system to look for all of the different files and effects which can be used during the operation. 
         [0014]    At  200 , the device looks for its configuration file. The configuration file defines which kinds of files to look for in the system. Typical files may be files of type “gobo”, type “media”, as well as more conventional types such as JPEG and MPEG files may be used. In addition, the user can specify different types of files. The type of gobo in the type “media” are special files for use with the M BOX system. The “gobo” file comprises compiled code representing an effect of a gobo, which may comprise an image which is compiled to include a certain effect. 
         [0015]    At  205 , the processor searches all the memory media which may include memory  130 , as well as external memory  126 , for all files of the specified types. This search may use an indexing technique for faster results. For example, the indexing technique may index all files on the memory  130  during spare time of the computer  122 . Any file which is added after the index, of course, needs to be searched separately and otherwise the system simply searches the index. A similar indexing technique may be used for external memory  126  by using a serial number of the external memory; that is, by using a unique identifying code referring to the removable memory. The external memory may be a removable memory such as a memory stick or like nonvolatile memory, or a CD or DVD drive. 
         [0016]    At  210 , the CPU makes a list of all the found files, and arranges them in a specified hierarchy. In one preferred hierarchy, a hyperlinked list, for example, in XML, is formed. The list may show the basic overall categories such as gobos, media, and others. Clicking on any item on the list may produce a sublist. Under the gobos, there is a sublist for numbered gobos, and other gobos. The basic gobos in the library may be named according to a 16-bit gobo number which uniquely identifies the gobo as part of the library. However, gobos may also be named as different things, hence the external gobos may be other gobos. Similarly, media may be numbered in a similar way, and numbered media and other media may be separately identified. Clicking on any item, such as the numbered gobos, can bring up the list of gobos or may bring up a sublist of the different gobos. 
         [0017]    The file names associated with the gobos may also include MetaTag information, and that MetaTag information may be viewable as part of the XML hierarchy. In addition, the hierarchy shown in  210  may optionally include thumbnails or may include the light showing certain information about the gobos in the media. For example, for gobos, the thumbnail may show the basic shape of the gobo. The thumbnails may be automatically produced as a preview, or may be entered by a user as part of the meta tag information. The other information, which is shown as part of the hierarchy, may be any other feature which can be used to effect the output video produced at  134 . For example, different effects which can be added to gobos can be compiled and stored as a file. The different effects may be specified types of rotation, shaping, and other such effects. 
         [0018]    Basically any effect which can be used on an image can be compiled as one of the other effects. 
         [0019]    The Meta Tag information and/or thumbnail information can include some information about the different gobos which are used. This hierarchy of files is displayed to the user at  215 , and may be also stored in a specified location so that the user can call up the XML file at any point. In this way, a user can find the different files which exist on the system. 
         [0020]    In operation, the user/operator can select any of the files for part of the show. In addition, a show can be tested to determine if all the files needed for that show are available. The testing is carried out by entering a test mode which is shown in  FIG. 3 . In this test mode, the user commands that a show be run at  300 . The processor begins running the show at  310  by calling up all necessary stored files and producing the layers representing those stored files with an output. The operation involves calling a stored file at  315 . At  320 , the system determines if the stored file is available. This may be done by searching the XML file for an index or by searching all files in the system. If the stored file is available, then the stored file is used and operation continues at  325 . However, if the stored file is not available at  320 , then a special default screen is substituted at  330 . In an embodiment, the special default screen is as shown in  335 ; that is a black bar  340  shown on a white screen  345 . A black bar preferably goes across approximately 70% of the screen both in width and in height directions. This default screen makes it very easy to determine which files are unavailable. 
         [0021]    In an embodiment, the file name may also be alphanumerically placed on the default screen. The operation then continues to show the remainder of the show with the default screen in place of the missing file. A user reviewing this, however, may be able to determine, at a glance, that the default screen is present and therefore that a file is missing. 
         [0022]    Although only a few embodiments have been disclosed in detail above, other modifications are possible. For example, other types of default screens may be used. In addition, other files besides those mentioned may be used, and also this system may be usable in other types of lighting instruments. For example, this system has been described as being used in a system in which the computer box which controls the image that is formed is separate from the projector that actually projects the image. However, the computer box  122  and projector  140  may be combined into a single device, such as the icon M device. In addition, while the above describes the projector as being a DMD based projector, other types of controlled projectors may also be used, including projectors based on grating light valves and the like. 
         [0023]    All such modifications are intended to be encompassed within the following claims, in which: