Charmed Quark Systems, Ltd. - Support Forums and Community

Full Version: DVD Error
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I just started getting this error, when I select a DVD from my browser...

Code:
The invoked command failed. Offending cmd was:

"MacroEng::Run Macro(MEng.User.SelectChangerZones, sample-DVDProfiler %(MediaRTV...) "
When I look at the logs it refers to the line in the macro below....(line in red in the error line).
Any Idea what I need to do to correct this?
Code:
Class=[NonFinal]
    ClassPath MEng.User.SelectChangerZones;
    ParentClass MEng.Object;
EndClass;

Imports=
    MEng.System.CQC.Runtime.CQCMediaInfo;
    MEng.System.CQC.Runtime.CQCLogger;
    MEng.System.CQC.Runtime.SimpleFldClient;
EndImports;

Literals=
    String kDrv_VSwitcher("sample-Autopatch");
    String kDrv_ASwitcher("sample-Russound-CAV");
    String kFld_VInput("TakeCommand");
EndLiterals;

Members=
    // Declare a media info object to get repository info
    CQCMediaInfo m_MediaInfo;

    // We want to log messages in case of an error
    CQCLogger m_Logger;

    // We need to write to fields
    SimpleFldClient m_FldIO;

    // We'll store the location info here
    String m_Changer;
    String m_Slot;

    Time m_TimeInfo;
EndMembers;


Methods=[Public,Final]

    Constructor()
    Begin
    EndConstructor;

    //
    // We get the repository driver moniker, title cookie, and desired
    // output zone number.
    //
    Method Start( [In] String Repo
                , [In] String Cookie
                , [In] Card4  ZoneNum
                , [In] String LocInfo) Returns Int4
    Begin
        Locals=
        Card4 Zone;
        Card4 VideoIn;
        Card4 AudioIn;
        Card4 VideoOut;
        Card4 AudioOut;
        String VideoCmd;
        String AudioZone;
        String AudioZPwr;
    EndLocals;

        //
        // Get the loc info into the changer string, then split out the
        // slot part.
        //
        m_Changer := LocInfo;
        m_Changer.Split(m_Slot, '.', True);
        If (m_Slot.IsEmpty())
            m_Logger.LogMsg("Invalid location type info");
            Return 1;
        EndIf;

        //
        // Based on zone number, set the video/audio output numbers,
        // i.e. where we want the audio and video to go.
        //
        Switch(ZoneNum)
        Case 1 :
        VideoOut := 8;
        AudioOut := 1;
        EndCase;

        Case 2 :
        VideoOut := 7;
        AudioOut := 2;
        EndCase;

        Case 3 :
        VideoOut := 4;
        AudioOut := 3;
        EndCase;

        Case 4 :
        VideoOut := 3;
        AudioOut := 4;
        EndCase;

        Case 5 :
        VideoOut := 2;
        AudioOut := 5;
        EndCase;

        Case 6 :
        VideoOut := 1;
        AudioOut := 6;
        EndCase;

        Default :
        EndCase;
        EndSwitch;

        //
        // Based on the changer, set the video/audio inputs, i.e.
        // where we want the audio and video to come from.
        //
        If (m_Changer = "Changer-1")
            AudioIn := 1;
            VideoIn := 1;
        ElseIf (m_Changer = "Changer-2")
            AudioIn := 2;
            VideoIn := 2;
        ElseIf (m_Changer = "Changer-3")
            AudioIn := 3;
            VideoIn := 3;
        Else
            m_Logger.LogMsg1("Unknown changer driver (%(1))", m_Changer);
            Return 1;
        EndIf;

        //
        // Format the video command based on the video output set above.
        // THis is the command string to write to the autopatch, so we
        // end up with something like 1:8:8 and so forth.
        //
        VideoCmd := "1:";
        VideoCmd.AppendCard4(VideoIn, Radices.Dec);
        VideoCmd.Append(":");
        VideoCmd.AppendCard4(VideoOut, Radices.Dec);

        // Format out the audio zone field name
        AudioZone := "C1Z";
        AudioZone.AppendCard4(AudioOut, Radices.Dec);
        AudioZone.Append("Source");

        // Format out the audio zone power field name
        AudioZPwr := "C1Z";
        AudioZPwr.AppendCard4(AudioOut, Radices.Dec);
        AudioZPwr.Append("Power");

        // Write out the values now
        [color=Red]m_FldIO.WriteStringField(kDrv_VSwitcher, kFld_VInput, VideoCmd);[/color]
        m_FldIO.WriteBoolField(kDrv_ASwitcher, AudioZPwr, True);
        m_FldIO.WriteCardField(kDrv_ASwitcher, AudioZone, AudioIn);

        If (!m_FldIO.ReadBoolField(m_Changer, "Power"))
            m_FldIO.WriteBoolField(m_Changer, "Power", True);
            m_TimeInfo.Sleep(35000);
        EndIf;

        Return 0;
    EndMethod;

EndMethods;
What is the actual error in the logs?
here ya go..
[Image: dvd.jpg]
The likely scenarios are that the field is in error, or doesn't exist for some reason (the driver moniker or field name changed or something perhaps.)
Dean Roddey Wrote:The likely scenarios are that the field is in error, or doesn't exist for some reason (the driver moniker or field name changed or something perhaps.)
Ok... I will check it out.