Ok all you experienced laserists, here's a good question for you: (Warning: Extremely long-winded post follows!) ops:
Once you've assembled a complete laser show, how do you save that show so that other people can view it? The obvious answer would be to dump the show out as one large ilda file - basically it would just be thousands of frames.
The problem with this is that the ilda file standard doesn't have any information on timing, or playback speed. (Or at least, not that I'm aware of.) Furthermore, it doesn't have any way to describe things like rotation or scaling effects that may have been added to the individual frames that make up the show.
For example: Suppose you have an element in your show that consists of a single frame (a 2-D drawing of a vehicle, let's say) and you use the move and rotate effects to make it appear to drive around. (Yes, it's a crude example, but I'm trying to make a point here.) Suppose further that this particular scene element begins at exactly 10 seconds into the show, and lasts for 4.5 seconds. Now, if you save that as an ILDA file, how can you preserve the start and end times, as well as all the effects you've added?
I've posted other messages here on PL talking about the short clip that I put together earlier this week using the demo version of the Mamba Black software. After noticing that I could not save my work, I dictated all the start and stop times, the effects settings, and the original ilda frames that I used to a friend of mine (Astroguy), who was then able to re-create the whole clip on HIS copy of the software. From his description of what he saw coming out of his projector, I could verify that he had accurately entered all the information.
Then he saved the show, which generated a fairly small .shw file. I'm assuming that this file only contains the timeline information, IE: Scene 1 frameset filename, time in and out for the 1st frameset, range of frames in the frame set to use, number of repeats of the frame sub-set for the scene, the draw speed, and all the effects settings (if any) for the first scene, then Scene 2 frameset filename, and so on...
However, the problem with this file format is that it's specific to Mamba Black. I don't know of any other program that can read the .shw file format. So if I wanted to give this show file to someone else to view, I would need to be certain that they are also using the Mamba Black software. Furthermore, I would need to make certain that they had all the same ilda files that I used to create the show, and that they had them in the SAME DIRECTORIES as I did! This is not an easy proposition... (Granted, to make things easier I could have put all the files in a single directory before I started making the show, and then saved the resulting show file to that same directory, but the other guy still has to be certain he uses the same directory tree when he plays my show.)
Now, Mamba Black also has a menu option called "Create Releasable Show" in the file menu. I assumed that this would save the entire show as one big ILDA file, and indeed that is what it does. However, there is a fatal flaw in how this is done. The scene timing information, frame selection, and scene effects are NOT rendered before the individual frames are saved to the large ilda file!
I had assumed that the software would take all the settings for the scene and render them accurately FIRST, and then take the resulting plot and send that to the disk drive as a new ilda frame. But the software does NOT do this.
Let me be a bit more specific about what I'm talking about here: Let's say for your first scene you select an ilda frameset that has 150 total frames. (Let's say it's an animation of a car driving around a curve...) But you only want to use the 50 frames in the middle of the animation from frame 30 through frame 80. Ok - no problem. In Mamba it's easy to select just those middle frames for display in the scene. You can also specify the number of times to loop through those 50 frames. Finally, you can tell the software how long this little animation is supposed to take with an accuracy of 1/25th of a second. (All timing in Mamba is done in minutes, seconds, and frames, which are 1/25th of a second.) This is equal to a single field of PAL video, which makes sense since the software was developed in Germany where PAL is the standard.
Mamba will automatically calculate how many times an individual frame needs to be drawn in order to make the whole scene fit in the specified time. So, for our example above, if we decide that we want the animation of the car to last for 4 seconds, we sinply set the scene length to 4 seconds and the number of repeats to 1. (We only want to see the car go around the curve once.) Mamba will figure out that it needs to display each frame in the animation for 2/25ths of a second to make this work. So, essentially each frame is drawn twice. (4 seconds times 25 frames per second = a time slot that is 100 frames long, but the animation is only 50 frames long and you only want to see it once, thus each frame get's displayed twice.)
Likewise, let's say we only wanted the animation to last for 1 second. Now we have more frames to display (50) than we have time (25 frames per second). Mamba will automatically decide to skip every other frame so that you still get the same animation (the car going around the curve just once) to fit in the allotted time slot.
Now, how in the world could you possibly save this sort of information to an ILDA file? The only way I can see it happening would be if the software were to render the entire show exactly as it would if it was sending it to the projector, but then save the resulting point sets back out to a new ilda file. And even then, you would need to know that the file was designed to be played back at exactly 25 frames per second, or else the timing would be off.
Unfortunately, when you use the "Create Releasable Show" option in Mamba, it doesn't render the show first, so the resulting file consists of ALL the frames of ALL the framesets that you selected for the ENTIRE show, regardless of wether you actually used all the frames or only a subset of them. Also, none of the timing information is preserved. Furthermore, none of the effects that you may have added to the scene are rendered either! If you decided to use the animation of the car going around a curve again in the show, and used the rotate (or mirror) effect to make it look like the curve was going to the right in the first scene, and to the left in the later scene, THAT information would be lost! (The car would be going to the right in BOTH scenes, since that was the original information in the frameset.)
This is a real problem, since without a way to accurately render the resulting show - complete with timing information, frame selection, draw speed, and all effects intact - there is NO way to share the completed show with anyone that is using software other than Mamba. Oh sure, you could give them something that was sort of close to what you had created, and if they had the time (and the inclination) they could go in and re-edit the entire show to add in the missing effects, adjust the timing, and clip out frames as needed to make their copy of the show match the one you did... But that's a tremendous amount of work!
There's got to be another way... But I don't know enough about Mamba (or Pangolin for that matter) to know where to go from here. But I do know that if we can't figure out a solution to this problem, it's going to be very difficult for our "community laser show project" to get off the ground. (Unless everyone involved is using the same software, which we already know is NOT the case!)
So - you experienced laser show gurus... How the heck do you overcome this obstacle? (And does Pangolin suffer from a similar limitation?
Adam