Saturday, March 22, 2008

DVD Studio Pro Scripting (from 2005)

Found this on a thumb drive. Rather than misfile and lose it for another 3 years, I'm posting it here. Extremely specific to DVD Studio Pro v.1. Alas, it's still the same scripting. I'm sure it's half finished, but I'll fill it in if anyone's interested.

Setting up dvd studio pro scripts 2005
May 08 2005 Sunday Mother's Day

Media Assets:
2 subheadings, 6 clips per subheading (total 12 clips, aka tracks in DVDSP1.5)
Total of 4 menu screens: Main Menu, Subhead 1, Subhead 2a, Subhead 2b (due to graphics I needed 2 menu screens)

I built the Menu Screens in Photoshop 7 at 720 x 534 72dpi. Screen grabs were CMD C in Quicktime player and CMD V in Photoshop, then deinterlace video filter applied, then sized down to taste. For Menu Highlights, I created a new layer called Button Overlay and painted in button selection over text. You then resize the composition to 720 x 480. Hide the Button Overlay, and save as "Pict, 32bit no compression." Then Hide rest of layers, turn on Button Overlay and White background. Save as "MenuName_Buttonoverlay.pct."

Imported everything by drag and drop.

Key to DVD SP is to go in Order, as much as possible. Create Asset folders in Order. Creat Menu folders in Order. Assign buttons in order so they'll automatically jump to next and you don't have to re-code. Create all Video tracks in Order. This makes life so much easier.

SCRIPTING NEEDS
Given 4 menus, I wanted a Play All for all 12 clips, then a Play all for Subhead 1's 6 clips, a Play ALl for Subhead 2's 6 clips, then individual "single plays" that would play a single clip, then advance the selection to the next button (not just go back to the just played clip (which is really annoying and lazy authoring).

SOLUTION
Different Letters for each task.
Rather than sort out A=1, A=2, I switched it all by assigning the play all is B and built that with a simple B=1 then play track=...
Playing the tracks in Menu order. This makes the other play alls easy, as you just duplicate this master play all and delete the unnecessary play alls, and just rename and renumber (so B = 6 would become G=1)

The beauty of this is you simplify the EXIT SCRIPT, which is where all the work really happens.

You have a "Play All _ Add +1 script,"
Which would be
B += 1
Play Script "Play All DVD"

So, to recap, when you press the button "Play All," it jumps to the "Play All_Add+1 script," which sets the variable to be "B + 1, which would be B=1 at this point. Then it goes to "Play All DVD Script." Which Sees "B=1" and plays that command line of "PLay track 1."

When Track 1 finishes, it goes to the "Exit Script."
All th e B's are set to
B=1
B=2
If B = 3 then play script "Play All_Add +1"

So, this B=1 goes to that add 1 script, and exits as B=2. It goes to the Play All DVD script, and Matches up with If B=2, then Play Track 2.

Do you follow?

The reason why you use different letters is so DVD SP doesn't get confused, and you simplify your scripting and ideally not confuse yourself (even though I'm still wrapping my head around this part...) But it's neat. Because you have all possible combinations in the exit script, which replaces the stock "jump to next track" feature. You jump to the script, and depending on which button you pressed first- and that button determines if you are at B, C, D, or E, then it matches it up to that line to go next.

Alright. Alana's crying on my lap and she needs her sleep. This makes sense to me now. All the best. - Anthony Torres musthavefreds@mindspring.com



SIDE RANT:
I don't understand DVDSP 2 OR 3. I learned the hardway, with the faulty software that was DVDSP 1.0 and 1.5. The manual was a piece of garbage, and the help books out at the time frankly stunk, particularly the underwhelming DVD Studio Pro Bible. He flat out got shit wrong. There was one book that dealt with SPRMS, but the problem lay with the DVDSP1.5 software preview, which was buggy so you'd try to compensate for issues that REALLY were NOT issues with the burned disc, just problems with the preview.

All the same, I appreciate the barebones simplicity of DVDSP1.0 and 1.5
It's nice that the new versions have superfast menu transitions and motion menu builders, but that comes at a render cost. So I work old fashioned with the DVDs, as all DVD SP was meant to be was a glorified Dreamweaver for DVDs. You wouldn't CREATE graphics or audio or video in Dreamweaver. You would assemble those assets/elements in Dreamweaver. And that's what DVDSP is. A glorified html editor type of tool for making DVDs.

The other thing is time. I just want to make a DVD. I know the probs with DVD SP1.5. I don't want to have to relearn for 3, particularly cuz I can't even work with it. 1.5 was the last upgrade for 9.2.2 Works for me. It's a keeper!

End of Side Rant

First:
Determine what you want all the scripts to do.

In my case, I have a DVD that has 5 seperate tracks that contain 10 minute video segments relating to film, and then 5 seperate tracks that relate to visual effects.

The opening menu has a play all, so that every segment MUST play after the other.




Then I have two breakout menu buttons.

One goes to teh film, and allows a film play all - OR- Select a video track at a time, and when it returns it should go to the next button.

Likewise for the Viz Effects: Play All, or select a video track at a time.
that has a Play All button.

Backwards to front:
Every menu button needs to deposit some variable that can work for itself.

Video Button 1 should be :
Z=1
Play Track "Video One."

The "Video One Outscript"
should be
If Z= 1, Play "Button 2" of Menu "viz Effects"
If X=2, Play Track "Video Two"


Then for all the buttons, you work it that way.
Button Two Script would be
Z=2
Play Track "Video Two"


You can't do a "jump to next" if you have chapters, as well.
It's Easier to do a MASS BUTTON track, so it's easier, and keep the variable a solid alphabet with numbers.
So you'd only have a single video out script.
if Z==1, then play button 2 of Menu Viz Effects
If z==2, then play button 3
If z==3 then play button 4
If z==4 then play button 5
* Hence, all the individual menu buttons would be coded with
Button 1 Scripts
"Z=1
play track one" *

*For the play all button, you would have to go to a B+=1,
If B == 1 then play track
If B ==2 then play

--- END OF SCRIPTING POST ----

Labels: , , ,