Our company needs aid finishing the design of our computer firing program for synchronizing fireworks to music. The program's function will be to offer us the ability to design an electronically fired show synchronized to music and then execute it. The program should have two modes: edit mode and fire mode. The program will interface with our electronic firing hardware via serial port.
Upon opening the program, it would default to edit mode. We would have all normal program features of being able to create a new show script or open an existing script. Upon creating a new script we would be able to attach an MP3 or WAV file to the script and be able to view the track in wave form. We should be able to zoom in and out of the wave form for a more accurate look at the track. We would then be able to select certain times at which certain fireworks should be fired based on the MP3’s time code. For example: at 5:35 in the song, fire output number 3 on device number 12 and so on. The script could easily contain up to 700+ incidences of when to fire up to 700+ individual outputs. Each firing incident should be represented by a vertical line on top of the track’s wave form so that we can view each individual firing instance. The script should also be able to be viewed and edited in a table format. The table would display the script with columns for Time Code, Device Number - Output Number, and description of the output. The table should have the ability to sort by column, but sorted by the Time Code as the default. These tables should also be able to be printed. While the program is in edit mode we should also be able to play the script and hear the track.
Once the show script is executed (fire mode) the selected track will play, and when the time code reaches each firing instance the program will send the corresponding ASCII code to the COM Port. When executing the script (fire mode) the program should be able to play, pause or stop both the track and the script. If paused the track and the script should both continue perfectly synchronized.
There will also be modes for receiving the communication status from each firing device. This would be a test mode to make sure that all devices requested in the script are communicating before entering fire mode.
Our unfinished program is currently written in Visual Basic 6 and all of the code for communicating to our firing devices is available in the same format. Our beginning program has the ability for viewing the wave form of a selected track and displaying firing instances on the wave format, however we need assistance pulling the rest of the program together.
Please assume VB6 as all our exsiting code and the code to communicate with our hardware is VB6. Also, our intent is to own the code for future modifications.
I have uploaded a graphic I designed of what I feel the program should look like.
Please plan on designing from scratch... not using our begining code.