DVD Lobby Play Movie command from H-E-double-hockey-sticks

Tell others how you're using DVDLobby
User avatar
gregoryx
Simply Incredible
Simply Incredible
Posts: 6599
Joined: Tue Sep 30, 2003 10:15 pm
Location: Newport Beach, CA
Contact:

DVD Lobby Play Movie command from H-E-double-hockey-sticks

Postby gregoryx » Sat Oct 23, 2004 3:11 pm

My DVD Commands have been posted on my site for a while, as well as being in smoothtlk's command list. It is a REALLY LONG command string that plays DVDs from the CX777ES or from the hard-drive using Zoom Player. It knows which one to do based on the changer number (currently "if not '1' then look on drive basically) and uses the "Custom5" field to know which drive location to look for the movie name in. I have kept the movie names as filenames (not including location string) because I use that field to look for previews as well.

Okay... why this new post?

I've re-written my default play movie string to use Command Maps because they make it SO much easier to organize commands. I can't call the command map directly from DVD Lobby because DVD Lobby doesn't understand command maps; so I'm currently calling the actual command map via a batch file - I expect this to be un-necessary in the near future.

In order for the variables of DVD Lobby to work, the actual DVD Lobby Default Play Movie command inlcludes transferring the DVD Lobby variables to standard MLS variables.

The actual Default Play Movie command is this:
    MLServeCmd.Macro|SetVariable|DVDChangerNumber~<<CHANGERNUMBER>>!
    SetVariable|DVDChangerLocation~<<CHANGERLOCATION>>!
    SetVariable|DVDFileName~<<FILE>>!
    SetVariable|DVDMovieTitle~<<TITLE>>!
    MLFileOpen|c:\program files\mlserver\playdvd.bat
It merely transfers the variables, then calls the batch file that calls the command map.

The batch file is one line:
    c:\progra~1\mlserver\mlserver.exe "AV.DVDLobby.PlayMovie"
The command map that it calls ("AV.DVDLobby.PlayMovie") is - of course - where things get HUGE.


The command map in use is about sixty commands long.
    It uses the variable changer number now to know what drive location to play from (the Custom5 field is no longer used)
    It defines static / global variables at the top of the commands - they could easily be placed into an overlay to be changed or viewed, for example.
    It allows playing from either Zoom or Theater Tek and the choice between the two could easily be made in an overlay / button choice.
    It could easily allow playing from many different players or locations in the house (such as a single-disc player versus a changer) or other programs beside Zoom and TT.

    The commands listed are turned into a command map by pasting them into the command map builder and pressing "Build".
    The empty lines between commands do not cause the builder problems.

    The commands are grouped into different sets:
      initialization
        start the projector powering up if it isn't already
        initialize global variables
        shut down player programs
        unmount current discs
        notify users that a request has been made
      if DVD is in player, play through changer commands
        notify users of power-up, load DVD, etc.
        currently waits for power-up even if it already is though Dave has said he'll write the power state into the plugin shortly
        if DVD is not in player, determine where the file is stored and load that into an ISO file location variable
        load ISO or set error-checking variable
        error checking fails all ISO-based commands if the ISO is not present
        notify users of mounting, playing, or error
      set all state variables
      load appropriate commands for DVD control overlay
      notify users that movie is playing

Part of the commands is setting variables that are used to map the DVD control buttons on my DVD control overlay. There is no limit to how different control devices could be used.
That method is currently done through a batch file because of the incredible ease of branching (see the DVD Control batch file here

There is really only one huge issue remaining: since DVD Lobby doesn't understand {{clientname}} messages go to all clients now and variables can not be set to change what happens on clients as some of my other scenes have. The other issue is that DVD Lobby doesn't understand command maps so the batch file is necessary. Hopefully, these will be resolved soon.

Cheers!
-Gregory

Return to “How are you using DVDLobby?”

Who is online

Users browsing this forum: No registered users and 1 guest