Total found: 296
Programmer documentation: Drone show file format specification (vviz)

The VVIZ drone show file format is an interchange format for visualizing drone shows.  VVIZ files are human-readable JSON text files that define the motion paths, colors and pyro payloads of drones in a show.  The file format supports compression since drone data can be large and since drone motion and color animation compress well with negligible visual degradation. Finale 3D imports drone show files as described in Importing drone shows for scripting pyro in Finale 3D to coordinate with the drones or for making simulation videos of hybrid shows combining drones and fireworks.  Finale 3D's import functions facilitate a work flow in which the user may iteratively edit the drone show in external drone show editing software, export the updated VVIZ drone show file, and import it into Finale 3D to update a hybrid show being designed in Finale 3D.  The import function will replace the previously imported drone data without affecting the pyro being scripted. Finale 3D does not support editing drone motion paths or exporting VVIZ drone show files from Finale 3D.  The import path is a one-way road, from external drone show software into Finale 3D.   File structure The file structure is a JSON object with attribute-value pairs, as shown in the following example.  The comments beginning with // are not part if the script format.  Please do not attempt to include // comments in your imported script files. "version": "1.0", "defaultPositionRate": 2.0, "defaultColorRate": 10.0, "timeOffsetSecs": 120.0, "performances": [ { "id": 0, "agentDescription": { "homeX": -7.5, "homeY": 0.0499995537, "homeZ": -7.49999952, "homeH": 0.0, // optional heading in degrees "agentTraversal": [ { "dx": 0.0, "dy": 0.0, "dz": 0.0, "dh": 0.0 // optional heading delta in degrees }, { "dt": 1.5, // optional time delta from previous sample to this sample in seconds "dx": 0.0, "dy": 0.0, "dz": 0.0, "dh": 0.0 // optional heading delta in degrees } // and more samples... ] }, "payloadDescription": [ { // optional but very common LED light animation payload "id": 0, "type": "Light", "payloadActions": [ { "r": 0, "g": 0, "b": 0 }, { "r": 255, "g": 255, "b": 255, "frames": 505 // optional time delta from previous sample to this sample in units of 1/defaultColorRate } // and more samples... ] }, { // optional and less common pyro payload "id": 1, "type": "Pyro", "eventTime": 37.7, "vdl": "10s Gold Glittering Gerb", "partNumber": "" } ] } ] } The defaultPositionRate and defaultColorRate define the default sampling rate for position coordinates and RGB values for LED lights on the drones, in samples/second.   The position data samples include dx, dy, and dz attributes that are position deltas in meters from the previous position to the sample's position.  The position data samples may include a dh heading delta in degrees.  The samples may or may not include a dt attribute, indicating the time delta from the previous sample to this sample in seconds.  If dt is present, the time delta is dt seconds (unaffected by defaultPositionRate). If dt is missing, the default time delta is 1/defaultPositionRate seconds.  The homeX, homeY, homeZ, and homeH are the initial coordinates of the drone in the coordinate system defined below. The color data samples with integer 8-bit RGB components may or may not include a frames attribute, indicating the time delta from the previous sample to this sample.  If frames is present, the time delta is frames/defaultColorRate seconds (i.e., it is affected by defaultColorRate).  If frames is missing, the implied time delta is 1/defaultColorRate seconds.  The magnitude of the color sample values represents linear intensity.  Values <10,10,10> are less intense than values <255, 255, 255>.  Additional intensity scale attributes may be added to the VVIZ specification in the future. Finale 3D will interpolate the data values from the previous sample to this sample over the time delta specified in this sample, or the default if not present.  Thus the time delta looks backward, not forward.  The time delta is not a "hold for" time. The timeOffsetSecs field is an optional offset in seconds that applies to the entire imported file.  When the user imports a VVIZ file into Finale 3D, the user is given the option to enter a time offset at which to import the file.  The default time offset presented to the user is the value in the VVIZ file itself, in the  timeOffsetSecs field. The performances field is an array of drone "performances", each performance including a drone motion path (the agentDescription) and a list of drone payloads (payloadDescription). The payloads are LED light animation or triggered pyro payloads.  Each drone performance contains a unique integer id, which is nominally the name of the drone.  Each payloadDescriptionalso contains a unique integer id, which is a programming convenience that has no meaning to the user. The LED light animation is a sequence of RGB color samples. The pyro payloads are triggered pyro effects defined by a trigger time (the eventTime in seconds), and the VDL visual effect description (vdl), and a various optional attributes.   Pyro payloads A pyro payload must contain an eventTime and vdl attribute and a type attribute ("Pyro" or "Light"). Additionally, it may contain partNumber, notes, rail, pin, tilt, and pan attributes, as in this example: { "id": 1, "type": "Pyro", "eventTime": 90.0, "notes": "my notes", "rail": "0", "pin": "1", "tilt": 180, "pan": 0, "vdl": "30s Gold Glittering Gerb", "partNumber": "" }   The angles are relative to the drone.  A drone may contain multiple pyro payloads at various angles and trigger times.   Coordinate system All VVIZ position coordinates are relative the global origin (defined by "Origin Man" in Finale 3D) , with the X-axis aiming to the right of the screen from viewer perspective, the Y-axis aiming up into the sky, and the Z-axis aiming into the screen.  The coordinate system in the VVIZ file is similar to Finale 3D's coordinate system except that the Z-axis is inverted. A VVIZ heading of zero degrees aims toward the audience in Finale 3D's coordinate system (+Z in Finale 3D, -Z in VVIZ).  A positive heading delta rotates around the Y-axis in a counter-clockwise direction, as viewed from above. If you import a google map into Finale 3D, the origin is the latitude and longitude, and North is into the screen.  You can change the default orientation for the Front, Side, and Top camera buttons and for the "up" direction in site layout diagrams by right clicking the ground and choosing "Set default orientation".   Compression and troubleshooting Finale 3D‘s table cells, which hold all the imported drone data, are limited to 16k characters per cell.  As of June 2024, Finale 3D automatically compresses the Motion Data and Effect Data in table cells to make the drone information fit within the 16k character limit, eliminating any problems with the size of the data being imported.  If you are concerned that the compression is resulting in a visualization that is different from your original data, please see Importing drone shows for instructions to disable compression or modify compression limits.   Auxiliary attributes The curly-brace JSON objects in the VVIZ file may contain auxiliary fields that are not defined in the VVIZ format, for debugging or for platform specific concerns.  The example files exported by the Verge software contain fields airframe, colorType, sourceType, and others which have no meaning in VVIZ.  Readers of VVIZ can ignore auxiliary terms.  Writers of VVIZ can add auxiliary terms at their discretion.   Table 1 – Example files and downloads Download link Explanation test-AGT.vviz Example Verge Aero drone show with animated RGB lights test-pyro.vviz Example Verge Aero drone show with pyro payloads    

Programmer documentation: Effect Data and Motion Data

Drones, saxons, wheels, and castiles all involve animated positions and orientations.   Drone lights also involve animated colors during the course of the light effect.  Finale 3D uses the Effect Data field in the script window, and the Motion Data in the position window, to hold the animation information. Both fields have a similar format for storing the information.  The information usually gets filled in as a result of an operation like "Import drone show", but the information is also readable and editable by users as a text field, which makes it possible for users to animate positions and colors for their own purposes.   Syntax of Motion Data and Effect Data fields The syntax of both the Motion Data and Effect Data fields is a pair of curly braces defining an object with attribute-value pairs in square brackets within the curly braces.  The values for most attributes are lists of numbers that are also in square brackets, leading to a large number of brackets in the text string that must be carefully matched up without typos if you are entering data by hand.  An example that defines the motion path for effect on a 0.5m radius wheel rotating clockwise 10 full 360 degree cycles over 10000ms (10 seconds) is, {[pos2 [0 .5 0 0]] [hpr [10000 0 0 -3600]]} An example defining the animated motion path of a drone over 5 minutes is, {[hash 1908853237] [pos [13000 0.0 7.9 0.0 19500 2.77 11.06 3.33 20500 3.42 12.1 4.59 21500 3.75 13.22 6.22 22000 3.61 13.76 7.17 22500 3.12 14.16 8.1 23000 2.39 14.3 8.74 24500 0.13 14.32 9.82 26000 -2.49 14.32 10.72 27000 -4.54 13.39 11.22 28000 -6.84 12.47 11.58 29500 -10.73 11.07 11.7 31000 -15.06 9.68 11.14 32000 -18.12 8.76 10.27 33000 -21.24 7.83 8.94 34000 -24.34 6.9 7.09 35000 -27.3 5.98 4.68 36000 -30.0 5.14 1.69 37000 -32.31 5.14 -1.88 37500 -33.27 5.14 -3.86 38000 -34.07 5.14 -5.97 38500 -34.69 5.14 -8.2 39000 -35.12 5.14 -10.52 39500 -35.34 5.14 -12.93 40000 -35.33 5.14 -15.4 40500 -35.07 5.14 -17.91 41000 -34.56 5.14 -20.44 41500 -33.77 5.14 -22.95 42000 -32.71 5.14 -25.42 42500 -31.38 5.14 -27.81 43000 -29.76 5.14 -30.08 43500 -27.87 5.14 -32.21 44000 -25.71 5.14 -34.14 44500 -23.31 5.14 -35.86 45000 -20.68 5.14 -37.3 45500 -17.84 5.14 -38.45 46000 -14.84 5.14 -39.27 46500 -11.71 5.14 -39.72 47000 -8.49 5.14 -39.78 47500 -5.24 5.14 -39.43 48000 -2.01 5.14 -38.66 48500 1.15 5.14 -37.46 49000 4.16 5.14 -35.82 49500 5.73 5.37 -34.2 50000 5.33 6.16 -32.54 50500 5.1 6.96 -30.66 51000 5.03 7.75 -28.51 52000 5.33 9.33 -23.28 52500 5.66 9.86 -20.87 53000 6.01 10.17 -18.88 54000 6.53 10.17 -16.47 55000 6.68 10.17 -13.81 55500 6.58 10.17 -12.41 56500 5.99 10.17 -9.54 57000 5.47 10.17 -8.1 58000 3.99 10.17 -5.28 58500 3.01 10.17 -3.96 59500 0.6 10.18 -1.56 60000 -0.83 10.18 -0.53 61000 -4.05 10.18 1.06 61500 -5.82 10.18 1.59 62000 -7.67 10.18 1.92 62500 -9.57 10.35 2.04 63000 -11.41 10.83 1.87 63500 -12.85 11.01 1.21 64500 -15.71 11.18 -0.75 65000 -17.07 11.2 -2.03 65500 -18.33 11.21 -3.5 66000 -19.47 11.24 -5.14 66500 -20.47 11.29 -6.94 67000 -21.29 11.41 -8.87 67500 -21.93 11.61 -10.89 68000 -22.36 11.91 -12.98 68500 -22.59 12.34 -15.1 69000 -22.61 12.9 -17.2 69500 -22.42 13.61 -19.26 70000 -22.04 14.48 -21.22 70500 -21.47 15.51 -23.06 71000 -20.74 16.69 -24.72 71500 -19.86 18.03 -26.2 72000 -18.87 19.5 -27.44 72500 -17.78 21.1 -28.43 73000 -16.63 22.81 -29.15 73500 -15.43 24.59 -29.59 74000 -14.24 26.44 -29.74 74500 -13.05 28.32 -29.6 75000 -11.92 30.2 -29.17 75500 -10.84 32.05 -28.47 76000 -9.85 33.86 -27.51 76500 -8.96 35.59 -26.31 77000 -8.19 37.23 -24.89 77500 -7.54 38.75 -23.29 78000 -7.02 40.13 -21.53 78500 -6.64 41.37 -19.64 79000 -6.39 42.46 -17.66 79500 -6.26 43.38 -15.62 80500 -6.38 44.74 -11.46 81500 -6.93 45.48 -7.39 82500 -7.83 45.68 -3.6 83500 -8.97 45.45 -0.21 84500 -10.26 44.91 2.69 85500 -11.62 44.2 5.05 86500 -12.97 43.42 6.9 87500 -14.25 42.7 8.26 89000 -15.94 41.89 9.51 90000 -17.35 41.62 10.25 90500 -18.44 40.89 10.82 92000 -20.65 39.07 11.72 93000 -22.08 38.17 12.28 94500 -24.17 37.26 13.21 95500 -25.5 36.93 13.91 96500 -25.4 36.82 13.78 99500 -22.78 36.81 12.01 105000 -20.81 29.72 15.0 105500 -19.62 27.8 14.1 106000 -18.18 25.78 13.35 106500 -17.56 25.1 13.48 109000 -17.68 26.2 16.13 110000 -17.62 25.84 17.46 112000 -18.0 25.43 20.1 114500 -18.35 27.07 22.52 115500 -18.67 27.9 23.33 118000 -19.54 28.2 26.17 119500 -20.38 28.71 27.6 120500 -20.83 29.53 28.18 122000 -21.54 30.99 28.63 123500 -22.47 32.21 29.01 124500 -23.47 32.76 29.56 125500 -24.69 33.33 29.93 127000 -26.7 34.29 30.03 128000 -27.35 35.29 29.95 129000 -27.77 36.42 29.78 129500 -28.24 36.88 29.68 130500 -28.87 37.97 29.4 131000 -29.58 38.34 29.28 132500 -31.67 39.48 28.62 134000 -33.62 40.65 27.6 135000 -34.42 41.79 27.19 135500 -35.0 42.68 26.49 137000 -41.73 51.43 14.21 156500 -32.35 49.75 19.48 157000 -30.51 49.22 19.72 158000 -28.05 47.93 17.72 159000 -25.99 46.69 15.27 160000 -24.42 45.55 12.45 161000 -23.38 44.53 9.34 162000 -22.91 43.68 6.05 162500 -22.89 43.32 4.38 163500 -23.29 42.76 1.02 164500 -24.26 42.41 -2.25 165500 -25.77 42.3 -5.33 166500 -27.77 42.43 -8.11 167500 -30.19 42.78 -10.52 168000 -31.54 43.04 -11.55 169000 -34.44 43.71 -13.23 170000 -37.56 44.58 -14.37 171000 -40.79 45.6 -14.92 172000 -44.02 46.75 -14.87 173000 -47.14 47.99 -14.22 174000 -49.79 49.16 -13.13 174500 -51.36 48.62 -14.01 175000 -53.17 48.29 -14.74 176500 -59.26 47.82 -16.54 177000 -61.16 47.56 -17.22 177500 -62.81 47.09 -18.05 178000 -64.12 46.35 -19.07 178500 -65.03 45.28 -20.34 179000 -65.49 43.86 -21.88 179500 -65.21 42.21 -23.46 180000 -64.6 40.3 -25.25 183500 -56.64 33.85 -30.0 190000 -71.73 46.09 -20.99 192000 -69.21 44.05 -22.49 192500 -67.08 43.24 -23.24 193000 -62.26 42.42 -22.64 193500 -57.62 41.03 -21.4 194000 -53.33 39.38 -19.46 194500 -49.73 37.61 -16.51 195000 -46.95 36.12 -12.64 195500 -44.57 35.26 -8.34 196000 -42.09 35.07 -4.01 196500 -39.5 35.49 0.25 197000 -36.85 36.51 4.36 197500 -34.16 38.12 8.25 198000 -31.48 40.37 11.81 198500 -28.89 43.31 14.91 199000 -26.53 46.97 17.36 199500 -24.56 51.26 18.96 200000 -23.31 56.04 19.63 200500 -22.8 60.99 19.24 201000 -22.88 65.72 17.68 201500 -23.35 69.71 14.75 202000 -23.89 72.18 10.48 202500 -24.18 72.69 5.55 203000 -23.96 71.57 0.71 203500 -23.0 69.24 -3.6 204000 -21.17 66.34 -7.22 204500 -18.68 62.77 -9.62 205000 -15.96 58.68 -10.44 205500 -13.33 54.5 -9.76 206000 -10.96 50.63 -7.71 206500 -9.03 47.4 -4.44 207000 -7.08 44.56 -0.83 207500 -4.21 41.52 1.88 208000 -0.61 38.28 3.04 208500 3.15 35.03 2.66 209000 6.72 31.86 1.21 209500 9.9 28.7 -0.99 210000 12.04 25.86 -4.48 210500 13.51 23.21 -8.46 211000 14.44 20.66 -12.65 211500 14.77 18.2 -16.99 212000 14.31 16.11 -21.5 212500 12.69 14.69 -25.99 213000 9.96 13.6 -30.02 213500 6.41 12.65 -33.39 214000 2.2 11.84 -35.95 214500 -2.49 11.21 -37.54 215000 -7.44 10.83 -38.03 215500 -12.38 10.73 -37.35 216000 -17.07 10.85 -35.64 216500 -21.43 11.0 -33.2 217000 -25.32 11.15 -30.07 217500 -28.52 11.32 -26.25 218000 -30.7 11.5 -21.77 218500 -31.44 11.68 -16.85 219000 -30.63 11.88 -11.94 219500 -28.53 12.07 -7.42 220000 -25.5 12.28 -3.46 220500 -21.66 12.5 -0.28 221000 -17.16 12.73 1.86 221500 -12.28 12.94 2.84 222000 -7.3 13.13 2.55 222500 -2.57 13.29 0.98 223000 1.51 13.38 -1.88 223500 4.54 13.42 -5.83 224000 6.42 13.55 -10.45 224500 6.99 13.96 -15.38 225000 5.97 14.73 -20.18 225500 3.35 15.89 -24.25 226000 -0.53 17.42 -26.93 226500 -5.1 19.24 -27.44 227000 -9.58 20.49 -25.68 227500 -13.46 21.09 -22.61 228000 -16.33 21.13 -18.55 228500 -17.52 20.57 -13.76 229000 -16.41 19.49 -9.06 229500 -14.6 17.86 -4.73 230000 -11.69 16.0 -1.2 230500 -7.14 14.82 0.32 231000 -2.28 14.2 -0.49 231500 1.88 13.88 -3.19 232000 4.79 13.7 -7.23 232500 6.5 13.79 -11.91 233000 6.73 14.22 -16.86 233500 5.26 15.07 -21.53 234000 2.23 16.34 -25.27 234500 -1.94 17.99 -27.37 235000 -6.57 19.73 -27.08 235500 -10.89 20.74 -24.83 236000 -14.5 21.16 -21.42 236500 -16.93 21.02 -17.09 237000 -17.41 20.27 -12.21 237500 -15.72 19.09 -7.69 238000 -13.84 17.32 -3.45 238500 -10.31 15.61 -0.45 239000 -5.52 14.61 0.28 239500 -0.81 14.1 -1.19 240000 2.97 13.82 -4.41 240500 5.5 13.7 -8.71 241000 6.76 13.89 -13.52 241500 6.43 14.46 -18.45 242000 4.41 15.45 -22.89 242500 0.95 16.84 -26.16 243000 -1.42 17.81 -26.51 256000 9.53 15.0 14.07 264500 0.0 15.0 0.0 297000 0.0 -3.99 0.0]]} The attribute-value pairs are defined in Table 1, below.   The attributes are the same for the Effect Data field (of effects in the script) and the Motion Data field (of positions), except that the time values for the Motion Data are relative to the beginning of the show, whereas the time values for the Effect Data are relative to the beginning of the effect itself.  Also, the "rgb" color animation attribute only applies in the Effect Data field in the script table, because it doesn't make sense to apply colors to positions. The "hash" attribute is an optimization for large imported data, such as data from importing a drone show.  If you are entering data by hand, your data should not include a hash attribute.   Property in Motion Data or Effect Data Example Meaning pos [pos [0 0 0 0 1000 0 10 0 2000 10 10 0 3000 10 0 0 4000 0 0 0]]   The syntax is: [pos [t0 x0 y0 z0 t1 x1 y1 z1...]]. The list of numbers in brackets is a list of samples defining a motion path of coordinates in connected line segments from sample point to sample point.  Each sample point is represented as four numbers, so the length of the list is 4N for N sample points.  Each sample point consists of an integer number of milliseconds followed by X, Y, Z coordinates in meters (integers or floating point numbers).  The milliseconds represent an absolute time, not a time delta. If the first sample in the list does not begin at time 0, then the implicit starting point at time 0 is 0, 0, 0 coordinates, and the path will interpolate from there to the first sample point explicitly in the list. Implicitly, the motion path after the last sample point continues with the coordinates of the last sample point. hpr [hpr [10000 0 0 3600]] The syntax is: [hpr [t0 h0 p0 r0 t1 h1 p1 r1...]]. The list of numbers in brackets is a list of samples defining a motion path of orientations.  Each sample point is represented as four numbers, so the length of the list is 4N for N sample points.  Each sample point consists of an integer number of milliseconds followed by heading, pitch, and roll angles in degrees (integers or floating point numbers).  The milliseconds represent an absolute time, not a time delta. Heading, pitch, and roll values are not restricted to 360 degrees.  From sample point to sample point, the intermediate heading, pitch and roll values interpolate between the two samples individually as numbers, and the intermediate orientation is constructed from the interpolated heading, pitch and roll values; as opposed to the intermediate orientations being constructed by interpolating between the orientations defined by the heading, pitch and roll values at the sample points. These interpolation mechanics support "spinning" multiple rotation cycles between sample points.  The example  [hpr [10000 0 0 3600]] means at time 10 seconds (10,000 milliseconds) , the roll is 3600 = 360 degrees * 10.  Interpolating from the implicit identity orientation at time 0 to this sample point at 10 seconds thus rotates the orientation completely around 10 times in the span of 10 seconds. pos2 [pos2 [0 .5 0 0]] The syntax is: [pos2 [t0 x0 y0 z0 t1 x1 y1 z1...]].  The list of numbers has the same syntax and meaning as for pos, except that pos2 defines a position offset that is rotated by the hpr rotation, if present, and then added to the pos position offset. To make a spinning wheel with the pyro effect at the end of a 0.5m spoke, the positions and orientation offsets could be: [pos2 [0 .5 0 0]] and [hpr [10000 0 0 3600]].  This position offset is constant, radially out 0.5m from the origin, but the hpr spins that position offset around the origin 10 cycles over 10 seconds. hpr2 [hpr2 [10000 3600 0 0]] The syntax is: [hpr2 [t0 h0 p0 r0 t1 h1 p1 r1...]]. The list of numbers has the same syntax and meaning as for hpr, except that hpr2 does not affect pos or pos2 offsets.  Hpr2 defines an orientation that is composed with hpr to construct the final orientation of the effect.  Hpr2 applies within the frame of reference of hpr.  In a human arm analogy, the hpr2 is the wrist orientation, and the hpr is the elbow orientation. rgb (in Effect Data only) [rgb [0 255 10000 65280]] The syntax is: [rgb [t0 rgb0 t1 rgb1...]]. The list of numbers in brackets is a list of color samples defining a color animation from sample point to sample point.  Each sample point is represented as two numbers, so the length of the list is 2N for N sample points.  Each sample point consists of an integer number of milliseconds followed by integer RGB value with B represented by the low 8-bits of the number, G represented by bits 8-15, and R represented by bits 16-23.  The milliseconds represent an absolute time, not a time delta. If the first sample in the list does not begin at time 0, then the implicit starting point at time 0 is black, and the color animation will interpolate from black to the first sample point explicitly in the list. Implicitly, the color after the last sample point continues with the color of the last sample point. The RGB colors defined by this syntax apply to effects whose VDL contains the color term, "ScriptRGB" instead of an explicit color like "Red" or "Blue".  The ScriptRGB term indicates the effect should get its color from the Effect Data field. hash [hash 1908853237] The hash attribute value is an integer identifying full payload of the Motion Data or Effect Data field (excluding the hash value itself).  The hash attribute is an optional optimization for large imported data, such as data from imported drone shows, enabling the Finale 3D renderer to determine quickly whether the data has changed. If you are entering Motion Data or Effect Data manually, your data is probably small enough that the hash attribute optimization is insignificant, so your data does not need to include the hash attribute.  If you are generating large data manually or by some programmatic method, you should calculate and include a hash based on the data content using any hash algorithm that is likely to produce a different hash value for different data.  

Importing drone shows

The Pro version of Finale 3D has the capability of importing drone show scripts (file type ".vviz") created externally in drone design software.  In Finale 3D you can combine the imported  drone shows along with fireworks in the 3D view for the purpose of designing hybrid shows or making videos.  The menu item to import a drone show is "File > Import > Import drone show".   The function will import or re-import the drone show, merging it into the active show which may already contain pyro or drones.  Importing a drone show replaces any existing drones in the active show while leaving pyro unaffected.     Figure 1 – Example drone show imported into Finale 3D to combine with fireworks   In Finale 3D, drones are represented as positions.    In Figure 1, the pink positions in the shape of a heart in the sky are the drones.  If you import a drone show with 300 drones, the import function will add 300 positions to the show you are working on, with position names identifying the drones, like D001 and D002.  Drones may contain pyro payloads or colored LED light effects or both.  Thus, in addition to importing positions to represent the drones themselves, the import function also imports effects in the script window and the Per-show effects collection to represent the visual effects attached to the drones. To avoid overwhelming the timeline and script window with so many events as to make scripting pyro difficult, the import function automatically groups the imported drone effects into a single row in the script window, and hides the trajectories and timeline bars of the drone effects in the 3D view and timeline.  You can see all the drone effects as individual rows or collapse them into a single row by clicking the blue gear icon in the upper right of the script window and toggling "Show groups as one row".  If you want to unhide the drone effects' timeline bars and trajectories, you can do the menu item "Script > Unhide all".  To re-hide them, do "Edit > Select special > Select drone effects" and "Script > Hide special > Hide timeline bars and trajectories as group".   Designing and exporting the drone show When designing and exporting the drone show in drone show software or in Blender, you need to specify any pyro effects carried by the drones (if any), and you need to specify the compression of the file when you export it.  The Verge Aero software and DSS Drone Show Creator software shown in Figure 2a-c have dialogs for these purposes shown in Figure 3 and Figure 4a-b.   Figure 2a – Verge Aero drone design software   Figure 2b – DSS Drone Show Creator design software   Figure 2c – DSS Path Viewer drone show visualization software   Importing or adding pyro payloads for the drones In addition to the LED light values specified as RGB colors, VVIZ files may contain pyro payloads for the drones.  A pyro payload is typically a gerb, but it could also be a comet shooting down or at an angle, or a comet "cake" that shoots comets out radially.  A drone can have multiple pyro payloads.  In Finale 3D, pyro payload effects are imported aiming down by default since that is the usual case, though the VVIZ file can specify pan andtilt angles. A designer can specify the specific pyro effects and optionally firing system and shooting angle information in the drone show design software (Verge) or in drone show exporting tools or plugins (DSS/Blender). Finale 3D supports two workflows for pyro payloads: The user specifies all pyro payload information in the drone related software outside of Finale 3D. The user specifies template pyro payload information such as firing system and shooting angle information without the ignition times or specific effects in the drone related software, and then fills in the ignition times and specific effects in the script rows in Finale 3D. When the designer imports and drone show into Finale 3D, if the existing show contains pyro payloads, Finale 3D will present a dialog asking, "Preserve existing pyro on drones?" If the designer is following the first workflow, then every time the designer imports an updated drone show into Finale 3D, the designer will replace any pyro payloads in the existing show in Finale 3D with the updated information. If the designer is following the second workflow, then when the designer imports an updated drone show, the designer will choose to preserve the existing pyro since it has been modified in Finale 3D.  Selecting this option causes the import process not to delete the existing pyro script rows and effect definitions, and to ignore any pyro payloads in the file being imported.  If the drone IDs have changed in the updated file, then obviously the designer would need to update the script rows' position names manually to match the new drone IDs.    Figure 3 – Specifying pyro payloads on drones   The two pieces of information required for a pyro payload are the VDL, specifying the visual appearance, and the optional part number, identifying the stock keeping unit for purpose of inventory tracking or matching up the effect in the drone show design to pyro effect definitions in your inventory in Finale 3D (for details see Table 2, below).  The VDL is a text description of the visual appearance of the effect, like "10s Gold Gerb" for a 10 second gold gerb effect, or "25mm Red Comet" for a one inch red comet.  Finale 3D will create a visual simulation of the effect based on the VDL description, using whatever parameters you specify in the description.  To specify various durations of gerbs, just type "10s Gold Gerb" or "20s Gold Gerb", for example.   Figure 4a – Choosing compression level in the Verge export dialog    Figure 4b  – Choosing compression level in the DSS Path Viewer export dialog     File size and resolution The file size for an exported drone show may be large, as it contains the motion paths and color changes for hundreds of drones.  The export dialog in the drone design software may give you the ability to specify the quality level of the exported data, which affects compression: the higher the quality, the larger the file.   Table 1 – Recommended sample rates Data type Lower bound Upper bound Position data 4 FPS 10 FPS Color data 4 FPS 20 FPS   Since drones move smoothly, the compression algorithms can reduce the size of the file substantially with very little visual difference.   Thus you can likely reduce the file size to 20Mb or so while still appearing high quality.  At higher quality levels, your exported file may be more than 100Mb. Table 1 shows the recommended sample rates for exported VVIZ files.  Although Finale 3D can import sample rates up to 100 FPS, higher frame rates require more memory and may exceed your machine's resources.  In general, 10 FPS and 20 FPS are fine sample rates for position and color data for shows of less than 20 minute durations.  For longer shows, depending on your machines resources, you may need to export in lower frame rates.   Table 2 – Special fields of imported drone data Field Name Value Explanation Custom Part Field of effects imported into the Per-show effects collection drone The Custom Part Field helps the import function decide whether to overwrite or delete effect definitions in Per-show effects if you are re-importing a drone show.  Since importing a drone show is intended to replace any previously imported drone data in the active show, the import function deletes existing effects in the Per-show effects collection that have "drone" in the Custom Part Field.  Any new effect added by the import function will have "drone" in the Custom Part Field to ensure that re-importing will delete or overwrite it with newer content from the file being imported. All LED effects and any pyro payload effects that do not have part numbers in the imported script file will be imported, and will thus have Custom Part Field of "drone".  Pyro payload effects that do have part numbers will also be imported -- unless their part numbers match part numbers of existing effects that do not have Custom Part Field of "drone", in which case the effect definitions being imported are ignored in lieu of the existing effect definitions for the same part numbers. If you are importing drone shows with LED effects exclusively, you don't need to pay attention to the Custom Part Field.  However, if you are importing drone shows with pyro payload effects that correspond to effects in your inventory collections then you probably want to use the effect definitions from your inventory collections rather than the placeholder effect definitions constructed from the VDL in the imported script file.  In this case, the best workflow is: 1) In your drone show design, use part numbers for the pyro payload effects that match your inventory part numbers, 2) Import the drone show into Finale 3D, 3) Do "Effects > Update per-show effects..." to update the imported effect definitions to match your inventory, 4) If and when you re-import the drone show into Finale 3D, you will not need to repeat step (3) since the re-imported effects will not overwrite the updated effect definitions that do not have "drone" in the Custom Part Field. Custom Script Field of events imported into the script window drone The Custom Script Field helps the import function decide whether to overwrite or delete events in the script window.  Since importing a drone show is intended to replace any previously imported drone data in the active show, the import function deletes existing events in the script that have "drone" in the Custom Script Field.  Any new event added by the import function will have "drone" in the Custom Script Field to ensure that re-importing will delete or overwrite it with newer content from the file being imported. Type of positions imported into the positions window drone The Type of the imported positions representing drones is "drone" as opposed to "pyro" or "fixture" or "slave".   Positions with Type of "drone" are drawn in the magenta color, to make them recognizable from pyro or fixture positions.  The Type value also supports the "Edit > Select special > Select drone effects" function and similar functions that recognize events as applying to drones based on the Type of position that houses them.  Lastly, the position Type also affects addressing.  Since pyro payloads of drones generally need firing system addresses (something has to ignite them!) but LED light effects on drones do not need firing system addresses, the addressing functions in Finale 3D do not assign firing system addresses to effects of Type "light" if they are on positions of Type "drone" (see Why is ‘Type’ so important? What depends on it?). Duration of events in the script window Duration of LED light effects Imported pyro effects contain their duration in the VDL itself, as in "10s Gold Gerb".  Imported drone LED lights turn on and off and change colors during the show continuously, so Finale 3D represents the LED light effects that change over time as long duration, animated effects.  Finale 3D divides the total LED effect duration into segments of maximum 60 seconds, and creates individual animated effects for each segment. The LED effects' color animation information is stored in the Effect Data field of the script window.  Since imported LED light effects are limited to 60s duration, a flight path of a drone lasting longer than 60s will require multiple events, back to back in the script. Effect Data of events in the script window RGB color animation information Imported LED light effects for drones have a VDL description that includes the term ScriptRGB, as in the VDL, "ScriptRGB Point Light".  That term indicates the color of the light effect, which may animate over time, is specified by information in the Effect Data field of the script event. VDL of effects in the Per-show effects collection Pyro payload description like "10s Gold Gerb" or LED light description, "ScriptRGB Point Light" The VDL of imported LED light and pyro effects specifies the visual description of the effect.  All LED light effects use the same effect in the Per-show effects collection.  The effect's color animation and duration are specified by fields in the script window (Effect Data and Duration). Motion Data of imported positions in the positions window Position and optionally orientation animation information Imported drones are represented as positions whose motion paths are specified in the Motion Data field of the positions.   Compression and troubleshooting Finale 3D's table cells, which hold all the imported drone data, are limited to 16k characters per cell.  As of June 2024, Finale 3D automatically compresses the Motion Data and Effect Data during the import process to make the data fit within the 16k character limit as a guarantee no matter what the sample rate is in the VVIZ file.  Notwithstanding this guarantee, it is a good idea to export VVIZ data with the sample rates described in Table 1 to avoid exceeding your machine's resources. Finale 3D uses a high quality variable sample rate compression algorithm tuned for drone shows to compress the data with a minimum of visual difference from the original high resolution data.  However, since the algorithm guarantees the data fits within a fixed data size, it cannot also  guarantee that the imported path and color animation match the original exactly. Finale 3D also uses GZIP compression to encode the Motion Data as a blob in about 1/2 the number of characters.  When encoded, the Motion Data in the Positions window will appear as "{[hash 112912603] [blob #["{PH4sAACmVZSa5lNQ..." instead of with human readable "pos" and "hpr2" attributes, as in "{[hash 112912603] [pos [250 0.0 0.0 0.0 10000...".  If you want to read the "pos" and "hpr2" attributes, you can disable blob compression with the variable described in Table 3.  Blob compression does not change the limit of the number characters; it enables more samples to fit within the limit. The combination of variable sample rate compression and GZIP blob compression enables about 48 minutes of drone flight to be encoded in the 16k character limit of the table cells before visual artifacts from the compression become significant. If you are concerned that the compression is resulting in a visualization that is different from your original data, there are some variables in Per-Show Settings that you can use to investigate the effect of compression.  To use one of these compression variables, add the variable and its value to the Per-Show Settings table in Finale 3D prior to importing the drone show.   Table 3 – Variables in Per-Show Settings for troubleshooting compression Variable Value Range Explanation vviz_do_not_compress true or false If true, prevents variable sample rate compression. Finale 3D will import the file, but if the data cells exceed 16k characters, then the drone show will not be saved along with the show file when the show file is saved. vviz_disable_blobs true or false If true, prevents the GZIP blob compression of Motion Data; making Motion Data in the Positions window human readable (like "{[pos [250 0.0 0.0 0.0 10000..." instead of "{[blob #["{PH4sAACmVZSa5lNQ...") but at the cost of fitting only about half as many samples within the character limit. vviz_max_data_size 1000 - 100000 If you want to test the compression of the motion data to a threshold other than 16k characters, set this field to your desired limit. If your limit is greater than 16k, then the drone show will import but will not be saved along with the show file when the show file is saved. vviz_max_rgb_samples 3 - 100000 Each RGB sample can take 15 characters to represent, depending on the size of the numbers. Thus the 16k character limit allows approximately 1092 samples. Finale 3D's default max RGB samples limit is 1088. You can change it with this variable. The drone lights are represented in Finale 3D as one-minute long effects with color animation provided by the Event Data. Thus unlike the motion samples the sample limit for RGB samples applies to at most one minute of data. The 1088 sample limit is 1088/60 = 18.13 FPS, which is obviously a fairly high resolution already.    

Moka E11 Cold Sparks Machine 2CH [084]

The Moka E11 Cold Sparks Machine, Standard Fixture ID 084, is a vertical sparks machine that can be controlled by any of the DMX-capable firing systems, such as Piroshow, Pyromac, PyroSure, fireTEK, Cobra, and Mongoose.   It generates spark fountains approximately 1-5 meters high, with variable height specified in the DMX signal.   Figure 1 – Moka E11 Cold Sparks Machine   The Cold Sparks Machine has variable height levels ("gears").  The Finale 3D effects catalog contains Cold Sparks Machine effects for a range of durations and three heights (small, medium, and large).  You can create your own custom duration or height effects as described below. The Cold Sparks Machine has a two-channel DMX personality.   The first channel turns the "Pre-Heat" mode on.  The second channel turns the sparks fountain on and specifies the height.  In Finale 3D, Cold Sparks Machine "Sparks" effects will control the second channel.  The Cold Sparks Machine "Pre-Heat" effects will control the first channel.   Table 1 – DMX channels DMX Channel Meaning Channel 1 (DMX Channel Base + 0) Pre-heat (0-10 = OFF; 240-255 = ON) Channel 2 (DMX Channel Base + 1) Function (0-15 = sparks OFF; 16-255 sparks ON from min to max height)   Instructions To design a show for Moka E11 Cold Sparks Machines, please follow these steps:  Set up.  (A) Follow the flame set up instructions in the Flame systems basic instructions and Exporting a firing system script for flame systems.  Depending on your DMX controller, you may choose to give each Cold Sparks Machine its own DMX universe, or give each Cold Sparks Machine a channel range in a shared DMX universe.  (B) In the real world configure each physical unit's "Start Address" to be the start of the channel range you allocate for it. (C) In Finale 3D configure the "DMX Channel Base" of the fixture to match the Start Address exactly. Add the Assorted DMX supplier catalog to your Finale 3D account.  Login to the finale3d.com website.  At the top of the page, go to “My Account > Supplier Catalog Settings” (www.finale3d.com/supplier-catalogs-settings/).  Find the Assorted DMX supplier catalog in the table, and turn the switch to ON.  Then launch the Finale 3D application and synch to network.  The Assorted DMX catalog will appear as one of the available collections in the effects window, which you can choose from the selector at the top of the window. Add spark fountain effects to the show and adjust their durations.  (A) Right-click on the Cold Sparks Machine positions to add compatible effects from the context menu or to filter the effects window to compatible effects.   Although the catalog contains effects with short durations, you can adjust the durations of the effects on the timeline after inserting them.  Add a "With DMX Pre-Heat / Safety Channel" effect and adjust its duration to cover the time range you want the pre-heat mode ON.   Choosing the DMX channel ranges for fixtures Each Cold Sparks Machine fixture requires two channels, so if you are putting multiple fixtures in the same DMX Universe, you need to set the Start Address on the fixture in the real world and the corresponding DMX Channel Base on the fixture in Finale 3D to a range of channels that doesn't overlap with others.  A DMX universe has channels 1-512.  If you want to pack as many fixtures into the 512 channels of a DMX universe as you can, back-to-back ranges are the most efficient.  Some DMX firing systems only support 50 or 100 channels, so you may not have all 512 channels to work with.   Table 2 – Example channel ranges for Cold Sparks Machine fixtures in a DMX universe Fixture DMX Channel Base Channels Used 1 1 1-2 2 3 3-4 3 5 5-6 4 7 7-8 5 9 9-10 6 11 11-12 7 13 13-14 8 15 15-16 9 17 17-18 10 19 19-20 ... 256 511 511-512   Table 3 – Example files and downloads Download link Explanation MK-E11.pdf Moka E11 Cold Sparks Machine user manual

Effect macros

Effect macros are snippets of a show that you can re-insert as easily as inserting an individual effect.  Effect macros have a variety of uses, including: Saving re-usable script segments as building blocks from which to build new show designs with just a few clicks Saving short script sequences as motifs that can be re-inserted in the same positions or different positions Saving short DMX script sequences that always apply to the same fixtures in a show, no matter what fixtures (positions) are selected Saving effects or sequences that have keyboard shorts that you trigger in real time while playing or looping the show simulation to build a show on the fly Technically, effect macros are just effects in the effects window.  Like other effects, effect macros have part numbers that identify them; and they can be inserted into the show by clicking on their effect icon in the effect window.  Unlike other effects, inserting an effect macro doesn't add an instance of the effect macro's part number to the script; instead it adds instances of all the effects that the effect macro represents.   Effect macros are like copy/paste In a sense, effect macros are a lot like copy and paste.   Creating an effect macro is a lot like copying a sequence of effects from the script.  Inserting an effect macro is a lot like pasting the copied effects into the show.  In fact, effect macros are implemented by way of storing a compressed copy buffer in the VDL field, so it is no accident that effect macros and copy/paste are such similar operations.   Figure 1 – The "Script > Effect macros > Create effect macro from selection in script..." dialog   The effect macro functions in the Script menu include "Script > Effect macros > Create effect macro from selection in script..." which creates an effect macro from the selected effects and your choices in the dialog shown in Figure 1.  Like the copy/paste operation, effect macros contain within them not just the copied effects but also references to the positions from which the effects were copied. Copy/paste has some complicated rules about what happens you paste, as fully explained in Copy/paste.  In brief, if the copied effects all stem from a single position, then they will be pasted in whatever positions are selected at the time of pasting, yielding duplicates if more than one position is selected.  If copied effects stem from multiple positions, then they will be pasted into the selected positions if exactly the same number of positions are selected as are referenced by the copied effects; otherwise the copied effects will be pasted into their original referenced positions no matter what.   Inserting at the recorded positions versus the currently selected positions Effect macros work exactly like the paste operation if the checkbox "Applies to recorded positions no matter what positions are selected" is not checked.  If the checkbox is checked, then the effect macros always insert into the original positions.  The checkbox is generally ON for use cases like (1) and (3) and (4) as described above.  However use case (2) requires the checkbox OFF.  A common example of case (2) is a fanned flight or chain of shells.  Finale 3D has many features for inserting effects and creating fans, but if you create an effect macro from effects that are already in a fan, then inserting the fan is as easy as a single click. Since effect macros created with the checkbox ON are bound to their original positions, the positions themselves play a role in the meaning of the macro.  Instead of calling such a macro "My Sequence 1" it would make more sense to call the macro "My Sequence 1 at front left ceiling fixtures" or something like that in order to make the positions explicit in the name of the macro.  Otherwise you would never know by looking at the macro what it applies to.  Since including the positions in the name of the macro makes so much sense, the create macro dialog automatically adds the positions to the macro name if the "Applies to recorded positions" checkbox is ON.   The name "My sequence 1" entered into the dialog becomes "My Sequence 1 [P01 P02 P03]" if it applies to those three positions.   Looping Since effect macros can be bound to their original positions, you can build a show on the fly by clicking on effect macros or pressing their keyboard shortcuts while the show simulation is playing.  Each effect macro is like an instrument in music composition software, and clicking on the effect macro is like playing a note with the instrument.  Since it is nearly impossible to click on positions while a show simulation is playing, the only way the "on the fly" method works is if triggering an effect macro indicates not just the effects, but where they go -- which is exactly what the "Applies to recorded positions" checkbox guarantees. If you decide to try the "on the fly" scripting method, consider the "Looping" options in the show menu.  You can add loop start/stop markers to the show, and then play a section over and over again, layering in the effects by pressing the effect macro keyboard shortcuts while the show simulation is playing.   Changing the effects or position references contained within effect macros Especially with DMX scripting but also possible with pyro, you may find yourself defining a set of effect macros for one group of effects or positions, and then wanting to create an entire duplicate set of the effect macros for a different set of effects or positions.   (If, for example, you want to create a set of 20 effect macros for various color par light effects -- red, blue, yellow, etc. -- then creating 20 effects for every single color would be tedious.  The "Find and replace inside macros" function provides another way. Using the replace function, you can replace the effects or positions in a single effect macro or an entire batch of effect macros all at once, which can significantly cut down on the work required.  I find it useful to save my effect macro collections for different position sets as separate FDB effect files.  With that approach, I can duplicate the file, select all the effects in it, and use the replace function to create the variations of the entire file.   Figure 2 – The "Find and replace inside macros..." function changes the positions or effects contained in the macro.   The macro payload Effect macros store their payload of information as a compressed copy buffer in their VDL field.  If you need to see the payload information of a macro in human readable form, for programmer-like purposes, you can do the menu item, "File > Admin > Decompress macros" to decompress the macro payloads in all selected effect macros in the effect window.  The maximum payload size is 10KB, so if decompressing would result in a larger size (for very large macros), the decompression operation will not work.  

Programmer documentation: Creating fixture definitions and effects manually

If creating effect definitions one at a time using the dialog of Creating fixture definitions and effects for your own fixtures is too slow, programmers can create batches of effects manually by copying effects for existing fixtures and modifying them.   This article lays out instructions for the manual process.   Step 1: Find a similar fixture that is already supported Look over the lists here for lights and here for flames and sparks to find a fixture similar to yours that is already supported.   First narrow the candidates down by general category -- par light, moving head light, sparks machine, moving head flame projector, etc.  Within that category, find the candidates that have similar properties to your own fixture.  For example, does the par light have RGB, or RGBW, or RGBW + Amber + UV, a color wheel, etc. Next, decide whether the effects lists for the candidates match what you are looking for.  Create a new show and right-click a position to configure it as a fixture.  Configure the position as the type of fixture you want to examine, and then right-click the position again to do "Filter effects window to compatible DMX effects".  Look at the effects in the effect window to see if they match what you'd like for your own fixture. If the effects look like a good match, find the documentation for the fixture in the Light fixtures articles or Flame and spark fixtures articles in the documentation here.  Compare the DMX channel specifications (DMX personality) of the fixtures in the documentation to your fixture's user manual.  The more similar they are, the easier the task of creating your fixture definition from an existing starting point.  Choose the similar fixture that looks like the best starting point for making your own fixture.   Step 2: Choose a fixture ID for your fixture Fixture IDs and effect IDs make it possible to convert effects from one fixture to another (Fixture cloning).  The fixture IDs also make it possible for the Finale 3D user interface to filter the effect choices that can be added to a fixture according to their compatibility, and to error check at times of addressing and exporting that the show does not contain any incompatibilities. The Standard Fixture IDs for pre-defined fixtures are integers from 1 to 999,999 excluding 100-199 (see Standard Effect IDs and Standard Fixture IDs).  User-defined fixture IDs are in the range 100-199, so you can simply give your fixture the fixture ID 100.  If you are implementing multiple new fixture types, the next can be 101, and so on, counting up.   Thus all your user-defined fixtures will be distinguished from one another and none of them will conflict with the fixtures already defined in Finale 3D.   Step 3: Copy the effects from the similar fixture and modify the part numbers and fixture IDs Create a new show to work with if haven't already done so in Step 1.  In the effects window, copy the effect rows from the similar fixture, in whatever collection they are in, into the Per-show effects collection of your own show.   You can copy rows by selecting them, and then pressing Control-C, then switching to the Per-Show effects collection and pressing Control-V to paste. Rename all the part numbers of the effects to unique new part numbers, to avoid conflicts.  There's no rule, but it is a good idea to make part numbers all upper case, with no spaces or special characters, and fewer than sixteen characters.  It is also useful to make the part numbers recognizably linked to your fixture or the fixture's manufacturer by starting out with a few characters that are the initials of the manufacturer or brand.  For example, the part number "TS11211" identifies one of the effects for Tomshine light fixtures. To edit the part numbers, you can double click on the part number field of a row and edit it directly in the table, or you can select the entire column of part numbers and copy/paste it into a text editor or into Excel, edit the part numbers there, and then copy them back over the selected column of cells. After editing the part numbers, the next step is to edit the descriptions of the effects to change the fixture ID references to the fixture ID you decided on in Step 2.  The fixture ID is the first number in square brackets in the description.  For example, the Tomshine part number TS11211 in the Generic Effects collection has the description, TSMHG80W [027/1011] Red Flash (lg) In your copied effects, if your fixture ID is 100 then change the description to the following (and change the word "MYFIXTURE" to a short nickname of your fixture): MYFIXTURE [100/1011] Red Flash (lg) You may find it easier to copy the effect descriptions into a text editor or Excel, and then make the changes there and copy them back since you can use find and replace functions to make the substitutions in a text editor.  The second number inside the brackets (1011 in this example) is the effect ID.  Assuming your modified effect is equivalent to the original except applying to a different fixture, the effect IDs should stay the same.  In this example, just leave the 1011 as is.   Step 4: Write a "Fixture Definition" and copy it into the Custom Part Field of all the effects Unhide the Custom Part Field column in the effects window and replace or modify the fixture definitions with a fixture definition for your own fixture.  Fixture definitions for pre-defined fixtures in Finale 3D are incorporated directly into the program, so if you are basing your fixture off a pre-defined fixture it is likely the Custom Part Field will be empty.  The exception is the Explo X2 Wave Flamer and compatible fixtures from other manufacturers, which use the Custom Part Field for a different purpose (see Explo X2 Wave Flamer).  If you are basing your fixture on the Explo X2 Wave Flamer, please contact Finale for assistance. For user-defined fixtures, the fixture definition will be stored in the Custom Part Field of every effect for the fixture.  A show with multiple effects for the same user-defined fixture may therefore contain multiple copies of the same fixture definition in its effects.  The redundancy serves to ensure that even if a show contains just one of the effects for your fixture, it is sure to have a fixture definition stored in the effect itself. Please see User-defined fixture definitions for instructions to create your fixture definition.  It is just a single line of text that you can copy into the Custom Part Field cells of your effects, along side the modified part numbers and descriptions.  An example Custom Part Field for the Tomshine fixture is: {[name "Tomshine [] Moving Head Gobo 9CH"][fixtureId 100][numChannels 9][defaultEffectPartNumber TS11301][channelLabels {[0 "Pan"][1 "Tilt"][2 "Motor Speed"][3 "Dimmer"][4 "Strobe"][5 "Color"][6 "Gobo"][7 "Set To Zero"][8 "Set To Zero"]}]} Fixture definitions in the Custom Part Field are case-sensitive and unforgiving with respect to missing punctuation, so please ensure you have matching brackets, double quotes, etc.   Step 5: Write DMX Patches for your fixture's effects Unhide the DMX Patch column of the effects window.  The effects you are working on will already have DMX Patches for their original fixture.  You'll need to replace the DMX Patches with the equivalents that work with your fixture.  DMX Patches are small computer programs that calculate the DMX channel values that implement the effect for your fixture, taking into consideration (for certain types of effects) the angle of the dotted line effect trajectory in the user interface and the duration of the effect if the user has modified it in the timeline or script window.  An example DMX Patch for the Tomshine fixture is, [setupBeginEndPatch 1000 0 :pan540 :pan540 :pan540 1 :rTilt230 :rTilt230 :rTilt230 2 0 0 0 3 0 255 0 5 12 12 12] The terms and numbers in the DMX Patches are explained in The DMX Patch field, which provides the instructions you'll need to implement your own DMX Patches.   Step 6: Modify the VDL of your fixture's effects if necessary If the effects you are creating for your own fixture have the same visual appearance as they do for the fixture you are copying, then you don't need to modify the VDL at all.  Just leave it as is.  If the effects are different -- taller, bushier, etc. -- then you can edit the VDL to customize the appearance, just as you can edit any of the pyro effects.  If the effects are modifier effects or relate to Move-To effects, please add the keywords described in VDL for special DMX effects like “Move-To” and “With Strobing’.   Step 7: Save your effects Once you've defined all your new effects, copy them out of the test show into their own FDB file ("File > Effects files > New effects file" to create the effects file) or into your My Effects, so you have them available for scripting.  After you have defined your effects in Steps 1-7, the next time you right-click on a position and choose "Configure position as DMX fixture" you'll have the option of picking the fixture that you defined in your effects.  Here's an example of a user-defined fixture I created for an imaginary fixture manufacturer, WillCo:   Figure 1 – The "Configure position as DMX fixture" menu item will include your user-defined fixtures as options  

Generic Light Fixture ON/OFF and Dimmer 1CH [068, 069]

The Generic Light Fixture ON/OFF and Dimmer fixtures are single channel DMX fixtures with pre-defined effect libraries in Finale 3D for turning ON/OFF or setting a fader value of any single-channel DMX fixture.  The simulation in Finale 3D is a simple par light beam, which you can view as a placeholder for whatever effect the fixture produces in the real world.  Some example fixtures are, Confetti fixtures with a single ON/OFF DMX channel personality Ceiling lights in a conference room that have single channel DMX dimmer intensity control (0-255) A BBQ grill that has DMX control Any other DMX fixture or relay that you want to script in Finale 3D   Figure 1 – A 1-channel DMX ceiling light that is a perfect match for the Generic Light Fixture Dimmer in Finale 3D   Both the ON/OFF (Standard Fixture ID 068) and Dimmer (Standard Fixture ID 069) fixtures have a 1-channel DMX personality.  The ON/OFF effects use the value 0 = OFF and 255 = ON.  The Dimmer effects use values from 0-255.   Table 1 – DMX personality choices DMX personality ("DMX Channel Mode") Supported in Finale 3D 1CH YES   Instructions To design a show for Generic Light Fixture ON/OFF and Dimmer fixtures, please follow the steps in DMX basic instructions and Light fixtures basic instructions.  If you don't already have a compatible firing system or controller capable exporting a DMX script, please refer to Supported firing systems and controllers (DMX) for the list of available hardware options.   Choosing the DMX channel ranges for fixtures Each fixture requires one channel, so if you are putting multiple fixtures in the same DMX Universe, you need to set the Start Address on the fixture in the real world and the corresponding DMX Channel Base on the fixture in Finale 3D to a single channel that doesn't overlap with others.  A DMX universe has channels 1-512.  If you want to pack as many fixtures into the 512 channels of a DMX universe as you can, back-to-back ranges are the most efficient.  Table 2 shows an example for 1-channel fixtures.  Some DMX firing systems and controllers only support 50 or 100 channels, so you may not have all 512 channels to work with.   Table 2 – Example channel ranges for 1-channel fixtures in a DMX universe Fixture DMX Channel Base Channels Used 1 1 1 only 2 2 2 only 3 3 3 only 4 4 4 only 5 5 5 only ... 512 512 512 only   Technical details The following tables show the technical specifications of the fixtures, as tested by the Finale support team.   Table 3 – DMX channels for 1CH personality DMX Channel Meaning Channel 1 (DMX Channel Base + 0) ON/OFF (0 = OFF, 255 = ON) or Dimmer (0-255)  

Hansol Hurricane-AW Wave Flamer 19CH [083]

The Hansol Hurricane-AW Wave Flamer fixture is a variable angle flame machine that can be controlled by any of the DMX-capable firing systems, such as Piroshow, Pyromac, PyroSure, fireTEK, Cobra, and Mongoose.   Figure 1 – Hansol Hurricane-AW Wave Flamer   The fixture has a 19 channel DMX personality.   All but four of the channels are dedicated to programming sequence macros on the fixture, which there is no need for when scripting with Finale 3D.  Although Finale 3D leaves these remaining channels unused, you still need to allocate 19 channel ranges for each independent fixture.   Table 1 – DMX personality choices DMX personality ("DMX Channel Mode") Supported in Finale 3D 19CH YES   The fixture requires three DMX channels to produce a flame -- ignition, pump, and flame ON/OFF.  The pump needs to be engaged prior to the first effect in order to achieve the required pressure.  Finale 3D incorporates the ignition and flame ON/OFF channels directly into its flame effects, and provides an explicit "With Safety Channel And Pump ON" effect that the user should add at the beginning of the show with the proper lead time and extend to cover the duration of desired activity.  Since the flame cannot be triggered without the pump active, the pump and safety channel can be considered one and the same.  Hence the effect name is, "With Safety Channel And Pump ON". The Hansol Hurricane-AW Wave Flamer fixture does not have a user-settable motor speed for adjusting the rate at which the nozzle sweeps from one angle to another.  If you use "Move-To" effects in Finale 3D to make angle sweeps, the angle sweeps will always move at the fixed motor speed of the fixture (fast) in the physical world, even if the design in Finale 3D calls for a slow moving angle sweep.  That's just a limitation of the fixture.   Table 2 – DMX channels for 19CH personality DMX Channel Meaning Channel 1 (DMX Channel Base + 0) Angle (0-75 = UNUSED; 76 = LEFT; 165 = UP; 255 = RIGHT) Channel 2 (DMX Channel Base + 1) Flame ON/OFF (0 - 199 = OFF; 200- 255 = ON) Channel 3 (DMX Channel Base + 2) Electric Spark (0 - 199 = OFF; 200- 255 = ON) Channel 4 (DMX Channel Base + 3) Pump (0 - 199 = OFF; 200- 255 = ON) Channel 5-19 (DMX Channel Base + 4 To + 18) Macro Programming Parameters   Instructions To design a show for Hansol Hurricane-AW Wave Flamer units, please follow these steps:  Set up.  (A) Follow the flame set up instructions in the Flame systems basic instructions and Exporting a firing system script for flame systems.  Depending on your DMX controller, you may choose to give each fixture its own DMX universe, or give each fixture a channel range in a shared DMX universe.  (B) In the real world configure each physical fixture's "Start Address" to be the start of the channel range you allocate for it. (C) In Finale 3D configure the "DMX Channel Base" of the fixture to match the Start Address exactly. Add the Assorted DMX supplier catalog to your Finale 3D account.  Login to the finale3d.com website.  At the top of the page, go to “My Account > Supplier Catalog Settings” (www.finale3d.com/supplier-catalogs-settings/).  Find the Assorted DMX supplier catalog in the table, and turn the switch to ON.  Then launch the Finale 3D application and synch to network.  The Assorted DMX catalog will appear as one of the available collections in the effects window, which you can choose from the selector at the top of the window.  This catalog contains effects for all types of Assorted fixtures currently supported in Finale 3D, together. Add flame effects to the show.  Right-click on the fixture positions to add compatible effects from the context menu or to filter the effects window to compatible effects.   Choosing the DMX channel ranges for fixtures Each Hansol Hurricane-AW Wave Flamer fixture requires 19 channels, so if you are putting multiple fixtures in the same DMX Universe, you need to set the Start Address on the fixture in the real world and the corresponding DMX Channel Base on the fixture in Finale 3D to a range of channels that doesn't overlap with others.  A DMX universe has channels 1-512.  If you want to pack as many fixtures into the 512 channels of a DMX universe as you can, back-to-back ranges are the most efficient.  Table 4 shows an example for Hansol Hurricane-AW Wave Flamer fixtures in the 19CH configuration.  Some DMX firing systems only support 50 or 100 channels, so you may not have all 512 channels to work with.   Table 3 – Example channel ranges for 19CH fixtures in a DMX universe Fixture DMX Channel Base Channels Used 1 1 1-19 2 20 20-38 3 39 39-57 4 58 58-76 5 77 77-95 ... 26 476 476-494     Table 5 – Example files and downloads Download link Explanation Hurricane AW manual.pdf Hansol Hurricane-AW Wave Flamer user manual

ADJ Inno Pocket Spot Pearl Moving Head Spotlight 9CH [082]

The ADJ Inno Pocket Spot Pearl fixtures, Standard Fixture ID 82, are (or were) available from www.adj.com/inno-pocket-spot-pearl .   Figure 1 – ADJ Inno Pocket Spot Pearl   The fixtures have 9 channel and 11 channel options, which you can select from the fixture's DMX panel.  Effects in Finale 3D are compatible only with the 9 channel mode.   Table 1 – DMX personality choices DMX personality ("DMX Channel Mode") Supported in Finale 3D 9CH YES 11CH NO   Instructions To design a show for ADJ Inno Pocket Spot Pearl fixtures, please follow the steps in DMX basic instructions and Light fixtures basic instructions.  If you don't already have a compatible firing system or controller capable exporting a DMX script, please refer to Supported firing systems and controllers (DMX) for the list of available hardware options.   Choosing the DMX channel ranges for fixtures Each fixture requires multiple channels, so if you are putting multiple fixtures in the same DMX Universe, you need to set the Start Address on the fixture in the real world and the corresponding DMX Channel Base on the fixture in Finale 3D to a range of channels that doesn't overlap with others.  A DMX universe has channels 1-512.  If you want to pack as many fixtures into the 512 channels of a DMX universe as you can, back-to-back ranges are the most efficient.  Table 2 shows an example for 9-channel fixtures.  Some DMX firing systems and controllers only support 50 or 100 channels, so you may not have all 512 channels to work with.   Table 2 – Example channel ranges for 9-channel fixtures in a DMX universe Fixture DMX Channel Base Channels Used 1 1 1-9 2 10 10-18 3 19 19-27 4 28 28-36 5 37 37-45 6 46 46-54 7 55 55-63 8 64 64-72 9 73 73-81 10 82 82-90 ... 56 496 496-504   Technical details The following tables show the technical specifications of the fixtures, as tested by the Finale support team.   Table 3 – DMX channels for 9CH personality (80W version) DMX Channel Meaning Channel 1 (DMX Channel Base + 0) Pan Channel 2 (DMX Channel Base + 1) Tilt Channel 3 (DMX Channel Base + 2) Color (see table below) Channel 4 (DMX Channel Base + 3) Gobo (see table below) Channel 5 (DMX Channel Base + 4) Strobe and ON/OFF Channel 6 (DMX Channel Base + 5) Dimmer (0 = OFF; 255 = max) Channel 7 (DMX Channel Base + 6) Motor speed (0 = max; 255 = min) Channel 8 (DMX Channel Base + 7) Function (set to 0) Channel 9 (DMX Channel Base + 8) Dimmer Speed (set to 0)   Moving head effects are implemented by setting the motor speed based on the "from" and "to" trajectory angles and the span of time between the "from" and "to" effects.  The speed channel value is calculated from the inverse of the degrees-per-second-for-speed-channel-value function.  Figure 2 shows the measured degrees per second of the fixtures for various speed channel values between 0 and 255, and the curve chosen to fit those values.  The curve is specified in the DMX patch for the fixture's effects.   Figure 2 – Motor speeds   Table 4 – Strobe values DMX Value Strobe Speed 0-7 Blackout 8-15 Shutter open 16-131 Slow to fast (Values 86, 98, and 128 correspond to 5Hz, 10Hz, and 20Hz) 132-255 Useless effects   Table 5 – Color values DMX Value Color 0-7 White 8-14 Red 15-21 Orange 22-28 Yellow 29-35 Green 36-42 Blue 43-49 Light Blue / Cyan 50-56 Pink / Magenta 57-255 Useless combinations   Table 6 – Gobo patterns DMX Value Finale 3D Identifier Image 0-7 NoGobo No gobo 8-15 ThreePartRing 16-23 WideBubbleStar 24-31 BubbleStar 32-39 Shale 40-47 Bubbles 48-55 WaterWheel 56-63 Mica 64-255 Useless combinations   Table 17 – Example files and downloads Download link Explanation inno_pocket_spot_pearl.pdf ADJ Inno Pocket Spot Pearl User Manual

YF Beam 230 Moving Head 16CH [081]

The YF Beam 230 Moving Head Spotlight fixtures, Standard Fixture ID 081, are available from www.yf-light.com.  The capabilities include gobos in addition to the moving head with a color wheel.   Figure 1 – YF Beam 230 Moving Head Spotlight   The fixtures have 16 channel and 20 channel options, which you can select from the fixture's DMX panel.  Effects in Finale 3D are compatible only with the 16 channel variation.   Table 1 – DMX personality choices DMX personality ("DMX Channel Mode") Supported in Finale 3D 16CH YES 20CH NO   Instructions To design a show for YF Beam 230 Moving Head Spotlight fixtures, please follow the steps in DMX basic instructions and Light fixtures basic instructions.  If you don't already have a compatible firing system or controller capable exporting a DMX script, please refer to Supported firing systems and controllers (DMX) for the list of available hardware options.   Choosing the DMX channel ranges for fixtures Each fixture requires multiple channels, so if you are putting multiple fixtures in the same DMX Universe, you need to set the Start Address on the fixture in the real world and the corresponding DMX Channel Base on the fixture in Finale 3D to a range of channels that doesn't overlap with others.  A DMX universe has channels 1-512.  If you want to pack as many fixtures into the 512 channels of a DMX universe as you can, back-to-back ranges are the most efficient.  Table 2 shows an example for 16-channel fixtures.  Some DMX firing systems and controllers only support 50 or 100 channels, so you may not have all 512 channels to work with.   Table 2 – Example channel ranges for 16-channel fixtures in a DMX universe Fixture DMX Channel Base Channels Used 1 1 1-16 2 17 17-32 3 33 33-48 4 49 49-64 5 65 65-80 6 81 81-96 ... 32 497 497-512   Technical details The following tables show the technical specifications of the fixtures, as tested by the Finale support team.   Table 3 – DMX channels for 16CH personality DMX Channel Meaning Channel 1 (DMX Channel Base + 0) Color Wheel (see below) Channel 2 (DMX Channel Base + 1) Blackout/Strobe (see below) Channel 3 (DMX Channel Base + 2) Dimmer (0-255 = DARK TO LIGHT) Channel 4 (DMX Channel Base + 3) Gobo Wheel (see below) Channel 5 (DMX Channel Base + 4) Prism (0-127 = OFF; 128-255 = ON) Channel 6 (DMX Channel Base + 5) Prism Rotation (0-10 = Stop; 11-120 = FORWARD; 121-255 = BACKWARD) Channel 7 (DMX Channel Base + 6) Macro (Write zero) Channel 8 (DMX Channel Base + 7) Frost (0-255 = linear variation) Channel 9 (DMX Channel Base + 8) Focus (0-255 = linear adjustment) Channel 10 (DMX Channel Base + 9) Pan Channel 11 (DMX Channel Base + 10) Pan Fine Channel 12 (DMX Channel Base + 11) Tilt Channel 13 (DMX Channel Base + 12) Tilt Fine Channel 14 (DMX Channel Base + 13) Motor Speed (0-11 = unused range; 12-24 = FAST; 25-37 = NORMAL; 38-50 = CONVENTIONAL; 51-62 = LINEAR; 63-255 = unused range) Channel 15 (DMX Channel Base + 14) Reset (Write zero) Channel 16 (DMX Channel Base + 15) Lamp (0-25 = no function; 26-100 = OFF; 101-255 = ON)   In Finale 3D, angle sweeps for moving head fixtures are implemented by setting the motor speed, since most pyro/DMX controllers do not have ramp features.  According to its documentation, the Beam 230 fixture only has several pre-defined motor speed settings, which is insufficient for implementing arbitrary angle sweep speeds.  For this fixture, Finale 3D always uses the fastest available angle speed setting.   Table 4 – Blackout/Strobe values DMX Value Shutter/Strobe 0-5 Closed, beam not visible 6-11 Open, beam visible 12-107 Strobe slow to fast 108-251 Other effects 251-255 Open, beam visible   Table 5 – Color wheel values DMX Value Color 0-4 White 5-9 White + Red 10-14 Red 15-19 Red + Orange 20-24 Orange 25-29 Orange + Aquamarine 30-34 Aquamarine 35-39 Aquamarine + Green 40-44 Green 45-49 Green + Light Green 50-54 Light Green 55-59 Light Green + Lavender 60-64 Lavender 65-69 Lavender + Pink 70-74 Pink 75-79 Pink + Yellow 80-84 Yellow 85-89 Yellow + Magenta 90-94 Magenta 95-99 Magenta + Cyan 100-104 Cyan 105-139 Other 140-144 Blue 145-255 Other   Table 6 – Gobo wheel values DMX Value Color 0-2 White 3-5 Gobo 1 6-8 Gobo 2 9-11 Gobo 3 12-14 Gobo 4 15-17 Gobo 5 18-20 Gobo 6 21-23 Gobo 7 24-26 Gobo 8 27-29 Gobo 9 30-32 Gobo 10 33-35 Gobo 11 36-38 Gobo 12 39-41 Gobo 13 42-44 Gobo 14 45-47 Gobo 15 48-50 Gobo 16 51-53 Gobo 17 54-255 Other   Table 7 – Example files and downloads Download link Explanation beam230-manual YF Beam 230 User Manual detail1-9.jpg Channel 1-9 detail detail1-14.jpg Channel 1-14 detail detail10-16.jpg Channel 10-16 detail