public override void LogosSplusInitialize()
        {
            _SplusNVRAM = new SplusNVRAM( this );

            SYSTEMSTARTUPPULSE = new Crestron.Logos.SplusObjects.DigitalInput( SYSTEMSTARTUPPULSE__DigitalInput__, this );
            m_DigitalInputList.Add( SYSTEMSTARTUPPULSE__DigitalInput__, SYSTEMSTARTUPPULSE );

            LISTPOSITION = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            LISTPOSITION[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( LISTPOSITION__AnalogSerialInput__ + i, LISTPOSITION__AnalogSerialInput__, this );
            m_AnalogInputList.Add( LISTPOSITION__AnalogSerialInput__ + i, LISTPOSITION[i+1] );
            }

            INITIALPREVIOUSSOURCE = new Crestron.Logos.SplusObjects.AnalogOutput( INITIALPREVIOUSSOURCE__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( INITIALPREVIOUSSOURCE__AnalogSerialOutput__, INITIALPREVIOUSSOURCE );

            SYSTEMSTARTUPPULSE.OnDigitalPush.Add( new InputChangeHandlerWrapper( SYSTEMSTARTUPPULSE_OnPush_0, false ) );

            _SplusNVRAM.PopulateCustomAttributeList( true );

            NVRAM = _SplusNVRAM;
        }
        public override void LogosSplusInitialize()
        {
            _SplusNVRAM = new SplusNVRAM( this );

            ROOMCONNECTED = new Crestron.Logos.SplusObjects.DigitalInput( ROOMCONNECTED__DigitalInput__, this );
            m_DigitalInputList.Add( ROOMCONNECTED__DigitalInput__, ROOMCONNECTED );

            SCROLLFIRST = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLFIRST__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLFIRST__DigitalInput__, SCROLLFIRST );

            SCROLLLAST = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLLAST__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLLAST__DigitalInput__, SCROLLLAST );

            SCROLLPREVIOUS = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLPREVIOUS__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLPREVIOUS__DigitalInput__, SCROLLPREVIOUS );

            SCROLLNEXT = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLNEXT__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLNEXT__DigitalInput__, SCROLLNEXT );

            SCROLLLINEUP = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLLINEUP__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLLINEUP__DigitalInput__, SCROLLLINEUP );

            SCROLLLINEDOWN = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLLINEDOWN__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLLINEDOWN__DigitalInput__, SCROLLLINEDOWN );

            SCROLLSELECT = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLSELECT__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLSELECT__DigitalInput__, SCROLLSELECT );

            ITEMSELECTED = new InOutArray<DigitalInput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            ITEMSELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( ITEMSELECTED__DigitalInput__ + i, ITEMSELECTED__DigitalInput__, this );
            m_DigitalInputList.Add( ITEMSELECTED__DigitalInput__ + i, ITEMSELECTED[i+1] );
            }

            SHOWSCROLLCONTROLS = new Crestron.Logos.SplusObjects.DigitalOutput( SHOWSCROLLCONTROLS__DigitalOutput__, this );
            m_DigitalOutputList.Add( SHOWSCROLLCONTROLS__DigitalOutput__, SHOWSCROLLCONTROLS );

            SELECTFB = new InOutArray<DigitalOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            SELECTFB[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SELECTFB__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( SELECTFB__DigitalOutput__ + i, SELECTFB[i+1] );
            }

            SOURCESELECTED = new InOutArray<DigitalOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCESELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SOURCESELECTED__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( SOURCESELECTED__DigitalOutput__ + i, SOURCESELECTED[i+1] );
            }

            GOTOSOURCECONTROLPAGE = new InOutArray<DigitalOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            GOTOSOURCECONTROLPAGE[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( GOTOSOURCECONTROLPAGE__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( GOTOSOURCECONTROLPAGE__DigitalOutput__ + i, GOTOSOURCECONTROLPAGE[i+1] );
            }

            SCROLLHIGHLIGHTFB = new InOutArray<DigitalOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            SCROLLHIGHLIGHTFB[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SCROLLHIGHLIGHTFB__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( SCROLLHIGHLIGHTFB__DigitalOutput__ + i, SCROLLHIGHLIGHTFB[i+1] );
            }

            SHOWLINE = new InOutArray<DigitalOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            SHOWLINE[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SHOWLINE__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( SHOWLINE__DigitalOutput__ + i, SHOWLINE[i+1] );
            }

            SCROLLPAGESIZE = new Crestron.Logos.SplusObjects.AnalogInput( SCROLLPAGESIZE__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SCROLLPAGESIZE__AnalogSerialInput__, SCROLLPAGESIZE );

            SOURCEACTIVEIN = new Crestron.Logos.SplusObjects.AnalogInput( SOURCEACTIVEIN__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SOURCEACTIVEIN__AnalogSerialInput__, SOURCEACTIVEIN );

            LISTPOSITION = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            LISTPOSITION[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( LISTPOSITION__AnalogSerialInput__ + i, LISTPOSITION__AnalogSerialInput__, this );
            m_AnalogInputList.Add( LISTPOSITION__AnalogSerialInput__ + i, LISTPOSITION[i+1] );
            }

            SOURCEICONSIN = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCEICONSIN[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( SOURCEICONSIN__AnalogSerialInput__ + i, SOURCEICONSIN__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SOURCEICONSIN__AnalogSerialInput__ + i, SOURCEICONSIN[i+1] );
            }

            SCROLLBAR = new Crestron.Logos.SplusObjects.AnalogOutput( SCROLLBAR__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( SCROLLBAR__AnalogSerialOutput__, SCROLLBAR );

            ACTIVEBUTTONMODE = new InOutArray<AnalogOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            ACTIVEBUTTONMODE[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( ACTIVEBUTTONMODE__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( ACTIVEBUTTONMODE__AnalogSerialOutput__ + i, ACTIVEBUTTONMODE[i+1] );
            }

            INACTIVEBUTTONMODE = new InOutArray<AnalogOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            INACTIVEBUTTONMODE[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( INACTIVEBUTTONMODE__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( INACTIVEBUTTONMODE__AnalogSerialOutput__ + i, INACTIVEBUTTONMODE[i+1] );
            }

            SOURCEICONSOUT = new InOutArray<AnalogOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            SOURCEICONSOUT[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( SOURCEICONSOUT__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( SOURCEICONSOUT__AnalogSerialOutput__ + i, SOURCEICONSOUT[i+1] );
            }

            NAMEIN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NAMEIN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( NAMEIN__DOLLAR____AnalogSerialInput__ + i, NAMEIN__DOLLAR____AnalogSerialInput__, 32, this );
            m_StringInputList.Add( NAMEIN__DOLLAR____AnalogSerialInput__ + i, NAMEIN__DOLLAR__[i+1] );
            }

            NOWPLAYINGLINE1IN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NOWPLAYINGLINE1IN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( NOWPLAYINGLINE1IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE1IN__DOLLAR____AnalogSerialInput__, 100, this );
            m_StringInputList.Add( NOWPLAYINGLINE1IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE1IN__DOLLAR__[i+1] );
            }

            NOWPLAYINGLINE2IN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NOWPLAYINGLINE2IN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( NOWPLAYINGLINE2IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE2IN__DOLLAR____AnalogSerialInput__, 100, this );
            m_StringInputList.Add( NOWPLAYINGLINE2IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE2IN__DOLLAR__[i+1] );
            }

            NOWPLAYINGTRANSPORTIN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NOWPLAYINGTRANSPORTIN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( NOWPLAYINGTRANSPORTIN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGTRANSPORTIN__DOLLAR____AnalogSerialInput__, 1, this );
            m_StringInputList.Add( NOWPLAYINGTRANSPORTIN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGTRANSPORTIN__DOLLAR__[i+1] );
            }

            CURRENTSOURCENAME = new Crestron.Logos.SplusObjects.StringOutput( CURRENTSOURCENAME__AnalogSerialOutput__, this );
            m_StringOutputList.Add( CURRENTSOURCENAME__AnalogSerialOutput__, CURRENTSOURCENAME );

            CURRENTSOURCENOWPLAYINGLINE1 = new Crestron.Logos.SplusObjects.StringOutput( CURRENTSOURCENOWPLAYINGLINE1__AnalogSerialOutput__, this );
            m_StringOutputList.Add( CURRENTSOURCENOWPLAYINGLINE1__AnalogSerialOutput__, CURRENTSOURCENOWPLAYINGLINE1 );

            CURRENTSOURCENOWPLAYINGLINE2 = new Crestron.Logos.SplusObjects.StringOutput( CURRENTSOURCENOWPLAYINGLINE2__AnalogSerialOutput__, this );
            m_StringOutputList.Add( CURRENTSOURCENOWPLAYINGLINE2__AnalogSerialOutput__, CURRENTSOURCENOWPLAYINGLINE2 );

            CURRENTSOURCENOWPLAYINGTRANSPORT = new Crestron.Logos.SplusObjects.StringOutput( CURRENTSOURCENOWPLAYINGTRANSPORT__AnalogSerialOutput__, this );
            m_StringOutputList.Add( CURRENTSOURCENOWPLAYINGTRANSPORT__AnalogSerialOutput__, CURRENTSOURCENOWPLAYINGTRANSPORT );

            NAMEOUT__DOLLAR__ = new InOutArray<StringOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            NAMEOUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( NAMEOUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( NAMEOUT__DOLLAR____AnalogSerialOutput__ + i, NAMEOUT__DOLLAR__[i+1] );
            }

            NOWPLAYINGLINE1OUT__DOLLAR__ = new InOutArray<StringOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            NOWPLAYINGLINE1OUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( NOWPLAYINGLINE1OUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( NOWPLAYINGLINE1OUT__DOLLAR____AnalogSerialOutput__ + i, NOWPLAYINGLINE1OUT__DOLLAR__[i+1] );
            }

            NOWPLAYINGLINE2OUT__DOLLAR__ = new InOutArray<StringOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            NOWPLAYINGLINE2OUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( NOWPLAYINGLINE2OUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( NOWPLAYINGLINE2OUT__DOLLAR____AnalogSerialOutput__ + i, NOWPLAYINGLINE2OUT__DOLLAR__[i+1] );
            }

            NOWPLAYINGTRANSPORTOUT__DOLLAR__ = new InOutArray<StringOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            NOWPLAYINGTRANSPORTOUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( NOWPLAYINGTRANSPORTOUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( NOWPLAYINGTRANSPORTOUT__DOLLAR____AnalogSerialOutput__ + i, NOWPLAYINGTRANSPORTOUT__DOLLAR__[i+1] );
            }

            ROOMCONNECTED.OnDigitalChange.Add( new InputChangeHandlerWrapper( ROOMCONNECTED_OnChange_0, false ) );
            SCROLLFIRST.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLFIRST_OnPush_1, false ) );
            SCROLLLAST.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLLAST_OnPush_2, false ) );
            SCROLLNEXT.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLNEXT_OnPush_3, false ) );
            SCROLLPREVIOUS.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLPREVIOUS_OnPush_4, false ) );
            SCROLLLINEUP.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLLINEUP_OnPush_5, false ) );
            SCROLLLINEDOWN.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLLINEDOWN_OnPush_6, false ) );
            SCROLLSELECT.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLSELECT_OnPush_7, false ) );
            for( uint i = 0; i < 5; i++ )
            ITEMSELECTED[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( ITEMSELECTED_OnPush_8, false ) );

            SOURCEACTIVEIN.OnAnalogChange.Add( new InputChangeHandlerWrapper( SOURCEACTIVEIN_OnChange_9, false ) );
            for( uint i = 0; i < 24; i++ )
            NOWPLAYINGLINE1IN__DOLLAR__[i+1].OnSerialChange.Add( new InputChangeHandlerWrapper( NOWPLAYINGLINE1IN__DOLLAR___OnChange_10, false ) );

            for( uint i = 0; i < 24; i++ )
            NOWPLAYINGLINE2IN__DOLLAR__[i+1].OnSerialChange.Add( new InputChangeHandlerWrapper( NOWPLAYINGLINE2IN__DOLLAR___OnChange_11, false ) );

            for( uint i = 0; i < 24; i++ )
            NOWPLAYINGTRANSPORTIN__DOLLAR__[i+1].OnSerialChange.Add( new InputChangeHandlerWrapper( NOWPLAYINGTRANSPORTIN__DOLLAR___OnChange_12, false ) );

            _SplusNVRAM.PopulateCustomAttributeList( true );

            NVRAM = _SplusNVRAM;
        }
public override void LogosSplusInitialize()
{
    SocketInfo __socketinfo__ = new SocketInfo( 1, this );
    InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
    _SplusNVRAM = new SplusNVRAM( this );
    _SplusNVRAM.RETURNSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 4, this );
    _SplusNVRAM.TEMPSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 40, this );
    
    MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( MUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( MUTE__DOLLAR____DigitalInput__, MUTE__DOLLAR__ );
    
    UNMUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( UNMUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( UNMUTE__DOLLAR____DigitalInput__, UNMUTE__DOLLAR__ );
    
    POLARITYON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( POLARITYON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( POLARITYON__DOLLAR____DigitalInput__, POLARITYON__DOLLAR__ );
    
    POLARITYOFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( POLARITYOFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( POLARITYOFF__DOLLAR____DigitalInput__, POLARITYOFF__DOLLAR__ );
    
    ROUTETOGROUP1ON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( ROUTETOGROUP1ON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( ROUTETOGROUP1ON__DOLLAR____DigitalInput__, ROUTETOGROUP1ON__DOLLAR__ );
    
    ROUTETOGROUP2ON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( ROUTETOGROUP2ON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( ROUTETOGROUP2ON__DOLLAR____DigitalInput__, ROUTETOGROUP2ON__DOLLAR__ );
    
    ROUTETOGROUP3ON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( ROUTETOGROUP3ON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( ROUTETOGROUP3ON__DOLLAR____DigitalInput__, ROUTETOGROUP3ON__DOLLAR__ );
    
    ROUTETOGROUP4ON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( ROUTETOGROUP4ON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( ROUTETOGROUP4ON__DOLLAR____DigitalInput__, ROUTETOGROUP4ON__DOLLAR__ );
    
    ROUTETOGROUP1OFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( ROUTETOGROUP1OFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( ROUTETOGROUP1OFF__DOLLAR____DigitalInput__, ROUTETOGROUP1OFF__DOLLAR__ );
    
    ROUTETOGROUP2OFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( ROUTETOGROUP2OFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( ROUTETOGROUP2OFF__DOLLAR____DigitalInput__, ROUTETOGROUP2OFF__DOLLAR__ );
    
    ROUTETOGROUP3OFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( ROUTETOGROUP3OFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( ROUTETOGROUP3OFF__DOLLAR____DigitalInput__, ROUTETOGROUP3OFF__DOLLAR__ );
    
    ROUTETOGROUP4OFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( ROUTETOGROUP4OFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( ROUTETOGROUP4OFF__DOLLAR____DigitalInput__, ROUTETOGROUP4OFF__DOLLAR__ );
    
    SOLOON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( SOLOON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( SOLOON__DOLLAR____DigitalInput__, SOLOON__DOLLAR__ );
    
    SOLOOFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( SOLOOFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( SOLOOFF__DOLLAR____DigitalInput__, SOLOOFF__DOLLAR__ );
    
    SUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( SUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( SUBSCRIBE__DOLLAR____DigitalInput__, SUBSCRIBE__DOLLAR__ );
    
    UNSUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( UNSUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( UNSUBSCRIBE__DOLLAR____DigitalInput__, UNSUBSCRIBE__DOLLAR__ );
    
    MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( MUTE_FB__DOLLAR____DigitalOutput__, MUTE_FB__DOLLAR__ );
    
    POLARITY_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( POLARITY_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( POLARITY_FB__DOLLAR____DigitalOutput__, POLARITY_FB__DOLLAR__ );
    
    ROUTETOGROUP1_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( ROUTETOGROUP1_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( ROUTETOGROUP1_FB__DOLLAR____DigitalOutput__, ROUTETOGROUP1_FB__DOLLAR__ );
    
    ROUTETOGROUP2_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( ROUTETOGROUP2_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( ROUTETOGROUP2_FB__DOLLAR____DigitalOutput__, ROUTETOGROUP2_FB__DOLLAR__ );
    
    ROUTETOGROUP3_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( ROUTETOGROUP3_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( ROUTETOGROUP3_FB__DOLLAR____DigitalOutput__, ROUTETOGROUP3_FB__DOLLAR__ );
    
    ROUTETOGROUP4_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( ROUTETOGROUP4_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( ROUTETOGROUP4_FB__DOLLAR____DigitalOutput__, ROUTETOGROUP4_FB__DOLLAR__ );
    
    SOLO_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( SOLO_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( SOLO_FB__DOLLAR____DigitalOutput__, SOLO_FB__DOLLAR__ );
    
    GAIN__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( GAIN__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( GAIN__DOLLAR____AnalogSerialInput__, GAIN__DOLLAR__ );
    
    PAN__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( PAN__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( PAN__DOLLAR____AnalogSerialInput__, PAN__DOLLAR__ );
    
    INPUT__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( INPUT__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( INPUT__DOLLAR____AnalogSerialInput__, INPUT__DOLLAR__ );
    
    AUX__DOLLAR__ = new InOutArray<AnalogInput>( 4, this );
    for( uint i = 0; i < 4; i++ )
    {
        AUX__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( AUX__DOLLAR____AnalogSerialInput__ + i, AUX__DOLLAR____AnalogSerialInput__, this );
        m_AnalogInputList.Add( AUX__DOLLAR____AnalogSerialInput__ + i, AUX__DOLLAR__[i+1] );
    }
    
    GAIN_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( GAIN_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( GAIN_FB__DOLLAR____AnalogSerialOutput__, GAIN_FB__DOLLAR__ );
    
    PAN_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( PAN_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( PAN_FB__DOLLAR____AnalogSerialOutput__, PAN_FB__DOLLAR__ );
    
    AUX_FB__DOLLAR__ = new InOutArray<AnalogOutput>( 4, this );
    for( uint i = 0; i < 4; i++ )
    {
        AUX_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( AUX_FB__DOLLAR____AnalogSerialOutput__ + i, this );
        m_AnalogOutputList.Add( AUX_FB__DOLLAR____AnalogSerialOutput__ + i, AUX_FB__DOLLAR__[i+1] );
    }
    
    TX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TX__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( TX__DOLLAR____AnalogSerialOutput__, TX__DOLLAR__ );
    
    RX__DOLLAR__ = new Crestron.Logos.SplusObjects.BufferInput( RX__DOLLAR____AnalogSerialInput__, 400, this );
    m_StringInputList.Add( RX__DOLLAR____AnalogSerialInput__, RX__DOLLAR__ );
    
    OBJECTID__DOLLAR__ = new StringParameter( OBJECTID__DOLLAR____Parameter__, this );
    m_ParameterList.Add( OBJECTID__DOLLAR____Parameter__, OBJECTID__DOLLAR__ );
    
    __SPLS_TMPVAR__WAITLABEL_0___Callback = new WaitFunction( __SPLS_TMPVAR__WAITLABEL_0___CallbackFn );
    
    MUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( MUTE__DOLLAR___OnPush_0, false ) );
    UNMUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( UNMUTE__DOLLAR___OnPush_1, false ) );
    POLARITYON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( POLARITYON__DOLLAR___OnPush_2, false ) );
    POLARITYOFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( POLARITYOFF__DOLLAR___OnPush_3, false ) );
    SOLOON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( SOLOON__DOLLAR___OnPush_4, false ) );
    SOLOOFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( SOLOOFF__DOLLAR___OnPush_5, false ) );
    ROUTETOGROUP1ON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( ROUTETOGROUP1ON__DOLLAR___OnPush_6, false ) );
    ROUTETOGROUP2ON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( ROUTETOGROUP2ON__DOLLAR___OnPush_7, false ) );
    ROUTETOGROUP3ON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( ROUTETOGROUP3ON__DOLLAR___OnPush_8, false ) );
    ROUTETOGROUP4ON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( ROUTETOGROUP4ON__DOLLAR___OnPush_9, false ) );
    ROUTETOGROUP1OFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( ROUTETOGROUP1OFF__DOLLAR___OnPush_10, false ) );
    ROUTETOGROUP2OFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( ROUTETOGROUP2OFF__DOLLAR___OnPush_11, false ) );
    ROUTETOGROUP3OFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( ROUTETOGROUP3OFF__DOLLAR___OnPush_12, false ) );
    ROUTETOGROUP4OFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( ROUTETOGROUP4OFF__DOLLAR___OnPush_13, false ) );
    GAIN__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( GAIN__DOLLAR___OnChange_14, false ) );
    PAN__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( PAN__DOLLAR___OnChange_15, false ) );
    for( uint i = 0; i < 4; i++ )
        AUX__DOLLAR__[i+1].OnAnalogChange.Add( new InputChangeHandlerWrapper( AUX__DOLLAR___OnChange_16, false ) );
        
    SUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( SUBSCRIBE__DOLLAR___OnPush_17, false ) );
    UNSUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( UNSUBSCRIBE__DOLLAR___OnPush_18, false ) );
    INPUT__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( INPUT__DOLLAR___OnChange_19, false ) );
    RX__DOLLAR__.OnSerialChange.Add( new InputChangeHandlerWrapper( RX__DOLLAR___OnChange_20, false ) );
    
    _SplusNVRAM.PopulateCustomAttributeList( true );
    
    NVRAM = _SplusNVRAM;
    
}
public override void LogosSplusInitialize()
{
    SocketInfo __socketinfo__ = new SocketInfo( 1, this );
    InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
    _SplusNVRAM = new SplusNVRAM( this );
    _SplusNVRAM.TEMPSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 40, this );
    _SplusNVRAM.DELAYSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 5, this );
    _SplusNVRAM.DELAYSENDSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 4, this );
    
    SUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( SUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( SUBSCRIBE__DOLLAR____DigitalInput__, SUBSCRIBE__DOLLAR__ );
    
    UNSUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( UNSUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( UNSUBSCRIBE__DOLLAR____DigitalInput__, UNSUBSCRIBE__DOLLAR__ );
    
    DELAY__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( DELAY__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( DELAY__DOLLAR____AnalogSerialInput__, DELAY__DOLLAR__ );
    
    DELAY_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( DELAY_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( DELAY_FB__DOLLAR____AnalogSerialOutput__, DELAY_FB__DOLLAR__ );
    
    TX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TX__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( TX__DOLLAR____AnalogSerialOutput__, TX__DOLLAR__ );
    
    RX__DOLLAR__ = new Crestron.Logos.SplusObjects.BufferInput( RX__DOLLAR____AnalogSerialInput__, 400, this );
    m_StringInputList.Add( RX__DOLLAR____AnalogSerialInput__, RX__DOLLAR__ );
    
    OBJECTID__DOLLAR__ = new StringParameter( OBJECTID__DOLLAR____Parameter__, this );
    m_ParameterList.Add( OBJECTID__DOLLAR____Parameter__, OBJECTID__DOLLAR__ );
    
    
    DELAY__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( DELAY__DOLLAR___OnChange_0, false ) );
    SUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( SUBSCRIBE__DOLLAR___OnPush_1, false ) );
    UNSUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( UNSUBSCRIBE__DOLLAR___OnPush_2, false ) );
    RX__DOLLAR__.OnSerialChange.Add( new InputChangeHandlerWrapper( RX__DOLLAR___OnChange_3, false ) );
    
    _SplusNVRAM.PopulateCustomAttributeList( true );
    
    NVRAM = _SplusNVRAM;
    
}
public override void LogosSplusInitialize()
{
    SocketInfo __socketinfo__ = new SocketInfo( 1, this );
    InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
    _SplusNVRAM = new SplusNVRAM( this );
    _SplusNVRAM.RETURNSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 4, this );
    _SplusNVRAM.TEMPSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 40, this );
    
    SUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( SUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( SUBSCRIBE__DOLLAR____DigitalInput__, SUBSCRIBE__DOLLAR__ );
    
    UNSUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( UNSUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( UNSUBSCRIBE__DOLLAR____DigitalInput__, UNSUBSCRIBE__DOLLAR__ );
    
    MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( MUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( MUTE__DOLLAR____DigitalInput__, MUTE__DOLLAR__ );
    
    UNMUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( UNMUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( UNMUTE__DOLLAR____DigitalInput__, UNMUTE__DOLLAR__ );
    
    POLARITYON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( POLARITYON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( POLARITYON__DOLLAR____DigitalInput__, POLARITYON__DOLLAR__ );
    
    POLARITYOFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( POLARITYOFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( POLARITYOFF__DOLLAR____DigitalInput__, POLARITYOFF__DOLLAR__ );
    
    MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( MUTE_FB__DOLLAR____DigitalOutput__, MUTE_FB__DOLLAR__ );
    
    POLARITY_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( POLARITY_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( POLARITY_FB__DOLLAR____DigitalOutput__, POLARITY_FB__DOLLAR__ );
    
    GAIN__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( GAIN__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( GAIN__DOLLAR____AnalogSerialInput__, GAIN__DOLLAR__ );
    
    INPUT__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( INPUT__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( INPUT__DOLLAR____AnalogSerialInput__, INPUT__DOLLAR__ );
    
    GAIN_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( GAIN_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( GAIN_FB__DOLLAR____AnalogSerialOutput__, GAIN_FB__DOLLAR__ );
    
    TX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TX__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( TX__DOLLAR____AnalogSerialOutput__, TX__DOLLAR__ );
    
    RX__DOLLAR__ = new Crestron.Logos.SplusObjects.BufferInput( RX__DOLLAR____AnalogSerialInput__, 400, this );
    m_StringInputList.Add( RX__DOLLAR____AnalogSerialInput__, RX__DOLLAR__ );
    
    OBJECTID__DOLLAR__ = new StringParameter( OBJECTID__DOLLAR____Parameter__, this );
    m_ParameterList.Add( OBJECTID__DOLLAR____Parameter__, OBJECTID__DOLLAR__ );
    
    __SPLS_TMPVAR__WAITLABEL_0___Callback = new WaitFunction( __SPLS_TMPVAR__WAITLABEL_0___CallbackFn );
    
    MUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( MUTE__DOLLAR___OnPush_0, false ) );
    UNMUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( UNMUTE__DOLLAR___OnPush_1, false ) );
    POLARITYON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( POLARITYON__DOLLAR___OnPush_2, false ) );
    POLARITYOFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( POLARITYOFF__DOLLAR___OnPush_3, false ) );
    GAIN__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( GAIN__DOLLAR___OnChange_4, false ) );
    SUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( SUBSCRIBE__DOLLAR___OnPush_5, false ) );
    UNSUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( UNSUBSCRIBE__DOLLAR___OnPush_6, false ) );
    INPUT__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( INPUT__DOLLAR___OnChange_7, false ) );
    RX__DOLLAR__.OnSerialChange.Add( new InputChangeHandlerWrapper( RX__DOLLAR___OnChange_8, false ) );
    
    _SplusNVRAM.PopulateCustomAttributeList( true );
    
    NVRAM = _SplusNVRAM;
    
}
Example #6
0
        public override void LogosSplusInitialize()
        {
            SocketInfo __socketinfo__ = new SocketInfo(1, this);

            InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
            _SplusNVRAM = new SplusNVRAM(this);
            _SplusNVRAM.RETURNSTRING = new CrestronString(Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 4, this);
            _SplusNVRAM.TEMPSTRING   = new CrestronString(Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 40, this);

            SUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput(SUBSCRIBE__DOLLAR____DigitalInput__, this);
            m_DigitalInputList.Add(SUBSCRIBE__DOLLAR____DigitalInput__, SUBSCRIBE__DOLLAR__);

            UNSUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput(UNSUBSCRIBE__DOLLAR____DigitalInput__, this);
            m_DigitalInputList.Add(UNSUBSCRIBE__DOLLAR____DigitalInput__, UNSUBSCRIBE__DOLLAR__);

            MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput(MUTE__DOLLAR____DigitalInput__, this);
            m_DigitalInputList.Add(MUTE__DOLLAR____DigitalInput__, MUTE__DOLLAR__);

            UNMUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput(UNMUTE__DOLLAR____DigitalInput__, this);
            m_DigitalInputList.Add(UNMUTE__DOLLAR____DigitalInput__, UNMUTE__DOLLAR__);

            POLARITYON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput(POLARITYON__DOLLAR____DigitalInput__, this);
            m_DigitalInputList.Add(POLARITYON__DOLLAR____DigitalInput__, POLARITYON__DOLLAR__);

            POLARITYOFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput(POLARITYOFF__DOLLAR____DigitalInput__, this);
            m_DigitalInputList.Add(POLARITYOFF__DOLLAR____DigitalInput__, POLARITYOFF__DOLLAR__);

            MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput(MUTE_FB__DOLLAR____DigitalOutput__, this);
            m_DigitalOutputList.Add(MUTE_FB__DOLLAR____DigitalOutput__, MUTE_FB__DOLLAR__);

            POLARITY_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput(POLARITY_FB__DOLLAR____DigitalOutput__, this);
            m_DigitalOutputList.Add(POLARITY_FB__DOLLAR____DigitalOutput__, POLARITY_FB__DOLLAR__);

            GAIN__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput(GAIN__DOLLAR____AnalogSerialInput__, this);
            m_AnalogInputList.Add(GAIN__DOLLAR____AnalogSerialInput__, GAIN__DOLLAR__);

            GAIN_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput(GAIN_FB__DOLLAR____AnalogSerialOutput__, this);
            m_AnalogOutputList.Add(GAIN_FB__DOLLAR____AnalogSerialOutput__, GAIN_FB__DOLLAR__);

            TX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput(TX__DOLLAR____AnalogSerialOutput__, this);
            m_StringOutputList.Add(TX__DOLLAR____AnalogSerialOutput__, TX__DOLLAR__);

            RX__DOLLAR__ = new Crestron.Logos.SplusObjects.BufferInput(RX__DOLLAR____AnalogSerialInput__, 400, this);
            m_StringInputList.Add(RX__DOLLAR____AnalogSerialInput__, RX__DOLLAR__);

            OBJECTID__DOLLAR__ = new StringParameter(OBJECTID__DOLLAR____Parameter__, this);
            m_ParameterList.Add(OBJECTID__DOLLAR____Parameter__, OBJECTID__DOLLAR__);

            __SPLS_TMPVAR__WAITLABEL_0___Callback = new WaitFunction(__SPLS_TMPVAR__WAITLABEL_0___CallbackFn);

            MUTE__DOLLAR__.OnDigitalPush.Add(new InputChangeHandlerWrapper(MUTE__DOLLAR___OnPush_0, false));
            UNMUTE__DOLLAR__.OnDigitalPush.Add(new InputChangeHandlerWrapper(UNMUTE__DOLLAR___OnPush_1, false));
            POLARITYON__DOLLAR__.OnDigitalPush.Add(new InputChangeHandlerWrapper(POLARITYON__DOLLAR___OnPush_2, false));
            POLARITYOFF__DOLLAR__.OnDigitalPush.Add(new InputChangeHandlerWrapper(POLARITYOFF__DOLLAR___OnPush_3, false));
            GAIN__DOLLAR__.OnAnalogChange.Add(new InputChangeHandlerWrapper(GAIN__DOLLAR___OnChange_4, false));
            SUBSCRIBE__DOLLAR__.OnDigitalPush.Add(new InputChangeHandlerWrapper(SUBSCRIBE__DOLLAR___OnPush_5, false));
            UNSUBSCRIBE__DOLLAR__.OnDigitalPush.Add(new InputChangeHandlerWrapper(UNSUBSCRIBE__DOLLAR___OnPush_6, false));
            RX__DOLLAR__.OnSerialChange.Add(new InputChangeHandlerWrapper(RX__DOLLAR___OnChange_7, false));

            _SplusNVRAM.PopulateCustomAttributeList(true);

            NVRAM = _SplusNVRAM;
        }
public override void LogosSplusInitialize()
{
    SocketInfo __socketinfo__ = new SocketInfo( 1, this );
    InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
    _SplusNVRAM = new SplusNVRAM( this );
    _SplusNVRAM.TEMPSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 40, this );
    _SplusNVRAM.RETURNSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 4, this );
    _SplusNVRAM.MAINSTR1  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 32, this );
    _SplusNVRAM.MAINSTR2  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 32, this );
    _SplusNVRAM.MAINSTR3  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 32, this );
    
    SUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( SUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( SUBSCRIBE__DOLLAR____DigitalInput__, SUBSCRIBE__DOLLAR__ );
    
    UNSUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( UNSUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( UNSUBSCRIBE__DOLLAR____DigitalInput__, UNSUBSCRIBE__DOLLAR__ );
    
    METER_SUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( METER_SUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( METER_SUBSCRIBE__DOLLAR____DigitalInput__, METER_SUBSCRIBE__DOLLAR__ );
    
    BUTTON_1__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_1__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_1__DOLLAR____DigitalInput__, BUTTON_1__DOLLAR__ );
    
    BUTTON_2__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_2__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_2__DOLLAR____DigitalInput__, BUTTON_2__DOLLAR__ );
    
    BUTTON_3__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_3__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_3__DOLLAR____DigitalInput__, BUTTON_3__DOLLAR__ );
    
    BUTTON_4__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_4__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_4__DOLLAR____DigitalInput__, BUTTON_4__DOLLAR__ );
    
    BUTTON_5__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_5__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_5__DOLLAR____DigitalInput__, BUTTON_5__DOLLAR__ );
    
    BUTTON_6__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_6__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_6__DOLLAR____DigitalInput__, BUTTON_6__DOLLAR__ );
    
    BUTTON_7__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_7__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_7__DOLLAR____DigitalInput__, BUTTON_7__DOLLAR__ );
    
    BUTTON_8__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_8__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_8__DOLLAR____DigitalInput__, BUTTON_8__DOLLAR__ );
    
    BUTTON_9__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_9__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_9__DOLLAR____DigitalInput__, BUTTON_9__DOLLAR__ );
    
    BUTTON_0__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_0__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_0__DOLLAR____DigitalInput__, BUTTON_0__DOLLAR__ );
    
    BUTTON_PAUSE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_PAUSE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_PAUSE__DOLLAR____DigitalInput__, BUTTON_PAUSE__DOLLAR__ );
    
    BUTTON_DELETE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_DELETE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_DELETE__DOLLAR____DigitalInput__, BUTTON_DELETE__DOLLAR__ );
    
    BUTTON_REDIAL__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_REDIAL__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_REDIAL__DOLLAR____DigitalInput__, BUTTON_REDIAL__DOLLAR__ );
    
    BUTTON_INTERNATIONAL_PLUS__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_INTERNATIONAL_PLUS__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_INTERNATIONAL_PLUS__DOLLAR____DigitalInput__, BUTTON_INTERNATIONAL_PLUS__DOLLAR__ );
    
    BUTTON_BACKSPACE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_BACKSPACE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_BACKSPACE__DOLLAR____DigitalInput__, BUTTON_BACKSPACE__DOLLAR__ );
    
    BUTTON_FLASH__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_FLASH__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_FLASH__DOLLAR____DigitalInput__, BUTTON_FLASH__DOLLAR__ );
    
    BUTTON___POUND____DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON___POUND____DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON___POUND____DOLLAR____DigitalInput__, BUTTON___POUND____DOLLAR__ );
    
    BUTTON_ASTERISK__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BUTTON_ASTERISK__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BUTTON_ASTERISK__DOLLAR____DigitalInput__, BUTTON_ASTERISK__DOLLAR__ );
    
    HANG_UP__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( HANG_UP__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( HANG_UP__DOLLAR____DigitalInput__, HANG_UP__DOLLAR__ );
    
    DIAL__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( DIAL__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( DIAL__DOLLAR____DigitalInput__, DIAL__DOLLAR__ );
    
    TOGGLE_DIAL_HANG_UP__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( TOGGLE_DIAL_HANG_UP__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( TOGGLE_DIAL_HANG_UP__DOLLAR____DigitalInput__, TOGGLE_DIAL_HANG_UP__DOLLAR__ );
    
    TX_MUTEON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( TX_MUTEON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( TX_MUTEON__DOLLAR____DigitalInput__, TX_MUTEON__DOLLAR__ );
    
    TX_MUTEOFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( TX_MUTEOFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( TX_MUTEOFF__DOLLAR____DigitalInput__, TX_MUTEOFF__DOLLAR__ );
    
    TX_MUTETOGGLE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( TX_MUTETOGGLE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( TX_MUTETOGGLE__DOLLAR____DigitalInput__, TX_MUTETOGGLE__DOLLAR__ );
    
    RX_MUTEON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( RX_MUTEON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( RX_MUTEON__DOLLAR____DigitalInput__, RX_MUTEON__DOLLAR__ );
    
    RX_MUTEOFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( RX_MUTEOFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( RX_MUTEOFF__DOLLAR____DigitalInput__, RX_MUTEOFF__DOLLAR__ );
    
    RX_MUTETOGGLE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( RX_MUTETOGGLE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( RX_MUTETOGGLE__DOLLAR____DigitalInput__, RX_MUTETOGGLE__DOLLAR__ );
    
    SPEED_STORE__DOLLAR__ = new InOutArray<DigitalInput>( 16, this );
    for( uint i = 0; i < 16; i++ )
    {
        SPEED_STORE__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( SPEED_STORE__DOLLAR____DigitalInput__ + i, SPEED_STORE__DOLLAR____DigitalInput__, this );
        m_DigitalInputList.Add( SPEED_STORE__DOLLAR____DigitalInput__ + i, SPEED_STORE__DOLLAR__[i+1] );
    }
    
    SPEED_DIAL__DOLLAR__ = new InOutArray<DigitalInput>( 16, this );
    for( uint i = 0; i < 16; i++ )
    {
        SPEED_DIAL__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( SPEED_DIAL__DOLLAR____DigitalInput__ + i, SPEED_DIAL__DOLLAR____DigitalInput__, this );
        m_DigitalInputList.Add( SPEED_DIAL__DOLLAR____DigitalInput__ + i, SPEED_DIAL__DOLLAR__[i+1] );
    }
    
    INCOMING_CALL_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( INCOMING_CALL_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( INCOMING_CALL_FB__DOLLAR____DigitalOutput__, INCOMING_CALL_FB__DOLLAR__ );
    
    HOOK_STATUS_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( HOOK_STATUS_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( HOOK_STATUS_FB__DOLLAR____DigitalOutput__, HOOK_STATUS_FB__DOLLAR__ );
    
    TX_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( TX_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( TX_MUTE_FB__DOLLAR____DigitalOutput__, TX_MUTE_FB__DOLLAR__ );
    
    RX_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( RX_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( RX_MUTE_FB__DOLLAR____DigitalOutput__, RX_MUTE_FB__DOLLAR__ );
    
    SPEED_DIAL_FB__DOLLAR__ = new InOutArray<DigitalOutput>( 16, this );
    for( uint i = 0; i < 16; i++ )
    {
        SPEED_DIAL_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SPEED_DIAL_FB__DOLLAR____DigitalOutput__ + i, this );
        m_DigitalOutputList.Add( SPEED_DIAL_FB__DOLLAR____DigitalOutput__ + i, SPEED_DIAL_FB__DOLLAR__[i+1] );
    }
    
    AUTO_ANSWER__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( AUTO_ANSWER__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( AUTO_ANSWER__DOLLAR____AnalogSerialInput__, AUTO_ANSWER__DOLLAR__ );
    
    TX_GAIN__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( TX_GAIN__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( TX_GAIN__DOLLAR____AnalogSerialInput__, TX_GAIN__DOLLAR__ );
    
    RX_GAIN__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( RX_GAIN__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( RX_GAIN__DOLLAR____AnalogSerialInput__, RX_GAIN__DOLLAR__ );
    
    DTMF_GAIN__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( DTMF_GAIN__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( DTMF_GAIN__DOLLAR____AnalogSerialInput__, DTMF_GAIN__DOLLAR__ );
    
    DIAL_TONE_GAIN__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( DIAL_TONE_GAIN__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( DIAL_TONE_GAIN__DOLLAR____AnalogSerialInput__, DIAL_TONE_GAIN__DOLLAR__ );
    
    RING_GAIN__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( RING_GAIN__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( RING_GAIN__DOLLAR____AnalogSerialInput__, RING_GAIN__DOLLAR__ );
    
    AUTO_ANSWER_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( AUTO_ANSWER_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( AUTO_ANSWER_FB__DOLLAR____AnalogSerialOutput__, AUTO_ANSWER_FB__DOLLAR__ );
    
    TX_GAIN_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( TX_GAIN_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( TX_GAIN_FB__DOLLAR____AnalogSerialOutput__, TX_GAIN_FB__DOLLAR__ );
    
    TX_METER_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( TX_METER_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( TX_METER_FB__DOLLAR____AnalogSerialOutput__, TX_METER_FB__DOLLAR__ );
    
    RX_GAIN_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( RX_GAIN_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( RX_GAIN_FB__DOLLAR____AnalogSerialOutput__, RX_GAIN_FB__DOLLAR__ );
    
    RX_METER_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( RX_METER_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( RX_METER_FB__DOLLAR____AnalogSerialOutput__, RX_METER_FB__DOLLAR__ );
    
    DTMF_GAIN_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( DTMF_GAIN_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( DTMF_GAIN_FB__DOLLAR____AnalogSerialOutput__, DTMF_GAIN_FB__DOLLAR__ );
    
    DIAL_TONE_GAIN_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( DIAL_TONE_GAIN_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( DIAL_TONE_GAIN_FB__DOLLAR____AnalogSerialOutput__, DIAL_TONE_GAIN_FB__DOLLAR__ );
    
    RING_GAIN_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( RING_GAIN_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( RING_GAIN_FB__DOLLAR____AnalogSerialOutput__, RING_GAIN_FB__DOLLAR__ );
    
    TX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TX__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( TX__DOLLAR____AnalogSerialOutput__, TX__DOLLAR__ );
    
    PHONE_NUMBER_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( PHONE_NUMBER_FB__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( PHONE_NUMBER_FB__DOLLAR____AnalogSerialOutput__, PHONE_NUMBER_FB__DOLLAR__ );
    
    RX__DOLLAR__ = new Crestron.Logos.SplusObjects.BufferInput( RX__DOLLAR____AnalogSerialInput__, 400, this );
    m_StringInputList.Add( RX__DOLLAR____AnalogSerialInput__, RX__DOLLAR__ );
    
    METER_RATE__DOLLAR__ = new UShortParameter( METER_RATE__DOLLAR____Parameter__, this );
    m_ParameterList.Add( METER_RATE__DOLLAR____Parameter__, METER_RATE__DOLLAR__ );
    
    CARD__DOLLAR__ = new StringParameter( CARD__DOLLAR____Parameter__, this );
    m_ParameterList.Add( CARD__DOLLAR____Parameter__, CARD__DOLLAR__ );
    
    __SPLS_TMPVAR__WAITLABEL_0___Callback = new WaitFunction( __SPLS_TMPVAR__WAITLABEL_0___CallbackFn );
    __SPLS_TMPVAR__WAITLABEL_1___Callback = new WaitFunction( __SPLS_TMPVAR__WAITLABEL_1___CallbackFn );
    
    SUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( SUBSCRIBE__DOLLAR___OnPush_0, false ) );
    UNSUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( UNSUBSCRIBE__DOLLAR___OnPush_1, false ) );
    METER_SUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( METER_SUBSCRIBE__DOLLAR___OnPush_2, false ) );
    METER_SUBSCRIBE__DOLLAR__.OnDigitalRelease.Add( new InputChangeHandlerWrapper( METER_SUBSCRIBE__DOLLAR___OnRelease_3, false ) );
    AUTO_ANSWER__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( AUTO_ANSWER__DOLLAR___OnChange_4, false ) );
    TX_GAIN__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( TX_GAIN__DOLLAR___OnChange_5, false ) );
    RX_GAIN__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( RX_GAIN__DOLLAR___OnChange_6, false ) );
    DTMF_GAIN__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( DTMF_GAIN__DOLLAR___OnChange_7, false ) );
    DIAL_TONE_GAIN__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( DIAL_TONE_GAIN__DOLLAR___OnChange_8, false ) );
    RING_GAIN__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( RING_GAIN__DOLLAR___OnChange_9, false ) );
    BUTTON_1__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_1__DOLLAR___OnPush_10, false ) );
    BUTTON_2__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_2__DOLLAR___OnPush_11, false ) );
    BUTTON_3__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_3__DOLLAR___OnPush_12, false ) );
    BUTTON_4__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_4__DOLLAR___OnPush_13, false ) );
    BUTTON_5__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_5__DOLLAR___OnPush_14, false ) );
    BUTTON_6__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_6__DOLLAR___OnPush_15, false ) );
    BUTTON_7__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_7__DOLLAR___OnPush_16, false ) );
    BUTTON_8__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_8__DOLLAR___OnPush_17, false ) );
    BUTTON_9__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_9__DOLLAR___OnPush_18, false ) );
    BUTTON_0__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_0__DOLLAR___OnPush_19, false ) );
    HANG_UP__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( HANG_UP__DOLLAR___OnPush_20, false ) );
    DIAL__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( DIAL__DOLLAR___OnPush_21, false ) );
    TOGGLE_DIAL_HANG_UP__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( TOGGLE_DIAL_HANG_UP__DOLLAR___OnPush_22, false ) );
    BUTTON_PAUSE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_PAUSE__DOLLAR___OnPush_23, false ) );
    BUTTON_DELETE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_DELETE__DOLLAR___OnPush_24, false ) );
    BUTTON_REDIAL__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_REDIAL__DOLLAR___OnPush_25, false ) );
    BUTTON_INTERNATIONAL_PLUS__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_INTERNATIONAL_PLUS__DOLLAR___OnPush_26, false ) );
    BUTTON_BACKSPACE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_BACKSPACE__DOLLAR___OnPush_27, false ) );
    BUTTON_FLASH__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_FLASH__DOLLAR___OnPush_28, false ) );
    BUTTON___POUND____DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON___POUND____DOLLAR___OnPush_29, false ) );
    BUTTON_ASTERISK__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BUTTON_ASTERISK__DOLLAR___OnPush_30, false ) );
    TX_MUTEON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( TX_MUTEON__DOLLAR___OnPush_31, false ) );
    TX_MUTEOFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( TX_MUTEOFF__DOLLAR___OnPush_32, false ) );
    TX_MUTETOGGLE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( TX_MUTETOGGLE__DOLLAR___OnPush_33, false ) );
    RX_MUTEON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( RX_MUTEON__DOLLAR___OnPush_34, false ) );
    RX_MUTEOFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( RX_MUTEOFF__DOLLAR___OnPush_35, false ) );
    RX_MUTETOGGLE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( RX_MUTETOGGLE__DOLLAR___OnPush_36, false ) );
    for( uint i = 0; i < 16; i++ )
        SPEED_STORE__DOLLAR__[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( SPEED_STORE__DOLLAR___OnPush_37, false ) );
        
    for( uint i = 0; i < 16; i++ )
        SPEED_DIAL__DOLLAR__[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( SPEED_DIAL__DOLLAR___OnPush_38, false ) );
        
    RX__DOLLAR__.OnSerialChange.Add( new InputChangeHandlerWrapper( RX__DOLLAR___OnChange_39, false ) );
    
    _SplusNVRAM.PopulateCustomAttributeList( true );
    
    NVRAM = _SplusNVRAM;
    
}
public override void LogosSplusInitialize()
{
    SocketInfo __socketinfo__ = new SocketInfo( 1, this );
    InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
    _SplusNVRAM = new SplusNVRAM( this );
    _SplusNVRAM.SOURCEGAIN  = new ushort[ 9 ];
    _SplusNVRAM.BGM_GAIN  = new ushort[ 9 ];
    _SplusNVRAM.MASTERGAIN  = new ushort[ 9 ];
    _SplusNVRAM.XOKSOURCEGAIN  = new ushort[ 9 ];
    _SplusNVRAM.XOKBGM_GAIN  = new ushort[ 9 ];
    _SplusNVRAM.XOKMASTERGAIN  = new ushort[ 9 ];
    _SplusNVRAM.RETURNSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 4, this );
    _SplusNVRAM.TEMPSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 40, this );
    
    ENABLE_FEEDBACK__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( ENABLE_FEEDBACK__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( ENABLE_FEEDBACK__DOLLAR____DigitalInput__, ENABLE_FEEDBACK__DOLLAR__ );
    
    DISABLE_FEEDBACK__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( DISABLE_FEEDBACK__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( DISABLE_FEEDBACK__DOLLAR____DigitalInput__, DISABLE_FEEDBACK__DOLLAR__ );
    
    SOURCEMUTE_RM__DOLLAR__ = new InOutArray<DigitalInput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        SOURCEMUTE_RM__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( SOURCEMUTE_RM__DOLLAR____DigitalInput__ + i, SOURCEMUTE_RM__DOLLAR____DigitalInput__, this );
        m_DigitalInputList.Add( SOURCEMUTE_RM__DOLLAR____DigitalInput__ + i, SOURCEMUTE_RM__DOLLAR__[i+1] );
    }
    
    BGM_MUTE_RM__DOLLAR__ = new InOutArray<DigitalInput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        BGM_MUTE_RM__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( BGM_MUTE_RM__DOLLAR____DigitalInput__ + i, BGM_MUTE_RM__DOLLAR____DigitalInput__, this );
        m_DigitalInputList.Add( BGM_MUTE_RM__DOLLAR____DigitalInput__ + i, BGM_MUTE_RM__DOLLAR__[i+1] );
    }
    
    MASTERMUTE_RM__DOLLAR__ = new InOutArray<DigitalInput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        MASTERMUTE_RM__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( MASTERMUTE_RM__DOLLAR____DigitalInput__ + i, MASTERMUTE_RM__DOLLAR____DigitalInput__, this );
        m_DigitalInputList.Add( MASTERMUTE_RM__DOLLAR____DigitalInput__ + i, MASTERMUTE_RM__DOLLAR__[i+1] );
    }
    
    PARTITION__DOLLAR__ = new InOutArray<DigitalInput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        PARTITION__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( PARTITION__DOLLAR____DigitalInput__ + i, PARTITION__DOLLAR____DigitalInput__, this );
        m_DigitalInputList.Add( PARTITION__DOLLAR____DigitalInput__ + i, PARTITION__DOLLAR__[i+1] );
    }
    
    SOURCEMUTE_RM_FB__DOLLAR__ = new InOutArray<DigitalOutput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        SOURCEMUTE_RM_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SOURCEMUTE_RM_FB__DOLLAR____DigitalOutput__ + i, this );
        m_DigitalOutputList.Add( SOURCEMUTE_RM_FB__DOLLAR____DigitalOutput__ + i, SOURCEMUTE_RM_FB__DOLLAR__[i+1] );
    }
    
    BGM_MUTE_RM_FB__DOLLAR__ = new InOutArray<DigitalOutput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        BGM_MUTE_RM_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( BGM_MUTE_RM_FB__DOLLAR____DigitalOutput__ + i, this );
        m_DigitalOutputList.Add( BGM_MUTE_RM_FB__DOLLAR____DigitalOutput__ + i, BGM_MUTE_RM_FB__DOLLAR__[i+1] );
    }
    
    MASTERMUTE_RM_FB__DOLLAR__ = new InOutArray<DigitalOutput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        MASTERMUTE_RM_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( MASTERMUTE_RM_FB__DOLLAR____DigitalOutput__ + i, this );
        m_DigitalOutputList.Add( MASTERMUTE_RM_FB__DOLLAR____DigitalOutput__ + i, MASTERMUTE_RM_FB__DOLLAR__[i+1] );
    }
    
    PARTITION_FB__DOLLAR__ = new InOutArray<DigitalOutput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        PARTITION_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( PARTITION_FB__DOLLAR____DigitalOutput__ + i, this );
        m_DigitalOutputList.Add( PARTITION_FB__DOLLAR____DigitalOutput__ + i, PARTITION_FB__DOLLAR__[i+1] );
    }
    
    CHAN_OFFSET__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHAN_OFFSET__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHAN_OFFSET__DOLLAR____AnalogSerialInput__, CHAN_OFFSET__DOLLAR__ );
    
    SOURCEGAIN_RM__DOLLAR__ = new InOutArray<AnalogInput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        SOURCEGAIN_RM__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( SOURCEGAIN_RM__DOLLAR____AnalogSerialInput__ + i, SOURCEGAIN_RM__DOLLAR____AnalogSerialInput__, this );
        m_AnalogInputList.Add( SOURCEGAIN_RM__DOLLAR____AnalogSerialInput__ + i, SOURCEGAIN_RM__DOLLAR__[i+1] );
    }
    
    BGM_GAIN_RM__DOLLAR__ = new InOutArray<AnalogInput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        BGM_GAIN_RM__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( BGM_GAIN_RM__DOLLAR____AnalogSerialInput__ + i, BGM_GAIN_RM__DOLLAR____AnalogSerialInput__, this );
        m_AnalogInputList.Add( BGM_GAIN_RM__DOLLAR____AnalogSerialInput__ + i, BGM_GAIN_RM__DOLLAR__[i+1] );
    }
    
    MASTERGAIN_RM__DOLLAR__ = new InOutArray<AnalogInput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        MASTERGAIN_RM__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( MASTERGAIN_RM__DOLLAR____AnalogSerialInput__ + i, MASTERGAIN_RM__DOLLAR____AnalogSerialInput__, this );
        m_AnalogInputList.Add( MASTERGAIN_RM__DOLLAR____AnalogSerialInput__ + i, MASTERGAIN_RM__DOLLAR__[i+1] );
    }
    
    BGM_INPUT_RM__DOLLAR__ = new InOutArray<AnalogInput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        BGM_INPUT_RM__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( BGM_INPUT_RM__DOLLAR____AnalogSerialInput__ + i, BGM_INPUT_RM__DOLLAR____AnalogSerialInput__, this );
        m_AnalogInputList.Add( BGM_INPUT_RM__DOLLAR____AnalogSerialInput__ + i, BGM_INPUT_RM__DOLLAR__[i+1] );
    }
    
    GROUP_RM__DOLLAR__ = new InOutArray<AnalogInput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        GROUP_RM__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( GROUP_RM__DOLLAR____AnalogSerialInput__ + i, GROUP_RM__DOLLAR____AnalogSerialInput__, this );
        m_AnalogInputList.Add( GROUP_RM__DOLLAR____AnalogSerialInput__ + i, GROUP_RM__DOLLAR__[i+1] );
    }
    
    SOURCEGAIN_RM_FB__DOLLAR__ = new InOutArray<AnalogOutput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        SOURCEGAIN_RM_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( SOURCEGAIN_RM_FB__DOLLAR____AnalogSerialOutput__ + i, this );
        m_AnalogOutputList.Add( SOURCEGAIN_RM_FB__DOLLAR____AnalogSerialOutput__ + i, SOURCEGAIN_RM_FB__DOLLAR__[i+1] );
    }
    
    BGM_GAIN_RM_FB__DOLLAR__ = new InOutArray<AnalogOutput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        BGM_GAIN_RM_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( BGM_GAIN_RM_FB__DOLLAR____AnalogSerialOutput__ + i, this );
        m_AnalogOutputList.Add( BGM_GAIN_RM_FB__DOLLAR____AnalogSerialOutput__ + i, BGM_GAIN_RM_FB__DOLLAR__[i+1] );
    }
    
    MASTERGAIN_RM_FB__DOLLAR__ = new InOutArray<AnalogOutput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        MASTERGAIN_RM_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( MASTERGAIN_RM_FB__DOLLAR____AnalogSerialOutput__ + i, this );
        m_AnalogOutputList.Add( MASTERGAIN_RM_FB__DOLLAR____AnalogSerialOutput__ + i, MASTERGAIN_RM_FB__DOLLAR__[i+1] );
    }
    
    BGM_INPUT_RM_FB__DOLLAR__ = new InOutArray<AnalogOutput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        BGM_INPUT_RM_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( BGM_INPUT_RM_FB__DOLLAR____AnalogSerialOutput__ + i, this );
        m_AnalogOutputList.Add( BGM_INPUT_RM_FB__DOLLAR____AnalogSerialOutput__ + i, BGM_INPUT_RM_FB__DOLLAR__[i+1] );
    }
    
    GROUP_RM_FB__DOLLAR__ = new InOutArray<AnalogOutput>( 8, this );
    for( uint i = 0; i < 8; i++ )
    {
        GROUP_RM_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( GROUP_RM_FB__DOLLAR____AnalogSerialOutput__ + i, this );
        m_AnalogOutputList.Add( GROUP_RM_FB__DOLLAR____AnalogSerialOutput__ + i, GROUP_RM_FB__DOLLAR__[i+1] );
    }
    
    TX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TX__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( TX__DOLLAR____AnalogSerialOutput__, TX__DOLLAR__ );
    
    RX__DOLLAR__ = new Crestron.Logos.SplusObjects.BufferInput( RX__DOLLAR____AnalogSerialInput__, 400, this );
    m_StringInputList.Add( RX__DOLLAR____AnalogSerialInput__, RX__DOLLAR__ );
    
    MAX_ROOMS__DOLLAR__ = new UShortParameter( MAX_ROOMS__DOLLAR____Parameter__, this );
    m_ParameterList.Add( MAX_ROOMS__DOLLAR____Parameter__, MAX_ROOMS__DOLLAR__ );
    
    OBJECTID__DOLLAR__ = new StringParameter( OBJECTID__DOLLAR____Parameter__, this );
    m_ParameterList.Add( OBJECTID__DOLLAR____Parameter__, OBJECTID__DOLLAR__ );
    
    __SPLS_TMPVAR__WAITLABEL_0___Callback = new WaitFunction( __SPLS_TMPVAR__WAITLABEL_0___CallbackFn );
    
    CHAN_OFFSET__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHAN_OFFSET__DOLLAR___OnChange_0, false ) );
    ENABLE_FEEDBACK__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( ENABLE_FEEDBACK__DOLLAR___OnPush_1, false ) );
    DISABLE_FEEDBACK__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( DISABLE_FEEDBACK__DOLLAR___OnPush_2, false ) );
    for( uint i = 0; i < 8; i++ )
        SOURCEMUTE_RM__DOLLAR__[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( SOURCEMUTE_RM__DOLLAR___OnPush_3, false ) );
        
    for( uint i = 0; i < 8; i++ )
        BGM_MUTE_RM__DOLLAR__[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( BGM_MUTE_RM__DOLLAR___OnPush_4, false ) );
        
    for( uint i = 0; i < 8; i++ )
        MASTERMUTE_RM__DOLLAR__[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( MASTERMUTE_RM__DOLLAR___OnPush_5, false ) );
        
    for( uint i = 0; i < 8; i++ )
        SOURCEGAIN_RM__DOLLAR__[i+1].OnAnalogChange.Add( new InputChangeHandlerWrapper( SOURCEGAIN_RM__DOLLAR___OnChange_6, false ) );
        
    for( uint i = 0; i < 8; i++ )
        BGM_GAIN_RM__DOLLAR__[i+1].OnAnalogChange.Add( new InputChangeHandlerWrapper( BGM_GAIN_RM__DOLLAR___OnChange_7, false ) );
        
    for( uint i = 0; i < 8; i++ )
        MASTERGAIN_RM__DOLLAR__[i+1].OnAnalogChange.Add( new InputChangeHandlerWrapper( MASTERGAIN_RM__DOLLAR___OnChange_8, false ) );
        
    for( uint i = 0; i < 8; i++ )
        BGM_INPUT_RM__DOLLAR__[i+1].OnAnalogChange.Add( new InputChangeHandlerWrapper( BGM_INPUT_RM__DOLLAR___OnChange_9, false ) );
        
    for( uint i = 0; i < 8; i++ )
        PARTITION__DOLLAR__[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( PARTITION__DOLLAR___OnPush_10, false ) );
        
    for( uint i = 0; i < 8; i++ )
        GROUP_RM__DOLLAR__[i+1].OnAnalogChange.Add( new InputChangeHandlerWrapper( GROUP_RM__DOLLAR___OnChange_11, false ) );
        
    RX__DOLLAR__.OnSerialChange.Add( new InputChangeHandlerWrapper( RX__DOLLAR___OnChange_12, false ) );
    
    _SplusNVRAM.PopulateCustomAttributeList( true );
    
    NVRAM = _SplusNVRAM;
    
}
        public override void LogosSplusInitialize()
        {
            _SplusNVRAM = new SplusNVRAM( this );

            ROOMCONNECTED = new Crestron.Logos.SplusObjects.DigitalInput( ROOMCONNECTED__DigitalInput__, this );
            m_DigitalInputList.Add( ROOMCONNECTED__DigitalInput__, ROOMCONNECTED );

            SELECTSINGLESOURCE = new Crestron.Logos.SplusObjects.DigitalInput( SELECTSINGLESOURCE__DigitalInput__, this );
            m_DigitalInputList.Add( SELECTSINGLESOURCE__DigitalInput__, SELECTSINGLESOURCE );

            SOURCELINESELECTED = new InOutArray<DigitalInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCELINESELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( SOURCELINESELECTED__DigitalInput__ + i, SOURCELINESELECTED__DigitalInput__, this );
            m_DigitalInputList.Add( SOURCELINESELECTED__DigitalInput__ + i, SOURCELINESELECTED[i+1] );
            }

            SOURCELISTINITIALIZED = new Crestron.Logos.SplusObjects.DigitalOutput( SOURCELISTINITIALIZED__DigitalOutput__, this );
            m_DigitalOutputList.Add( SOURCELISTINITIALIZED__DigitalOutput__, SOURCELISTINITIALIZED );

            SOURCELISTHASONEITEM = new Crestron.Logos.SplusObjects.DigitalOutput( SOURCELISTHASONEITEM__DigitalOutput__, this );
            m_DigitalOutputList.Add( SOURCELISTHASONEITEM__DigitalOutput__, SOURCELISTHASONEITEM );

            SHIFTSOURCEHIGHLIGHTTOTOP = new Crestron.Logos.SplusObjects.DigitalOutput( SHIFTSOURCEHIGHLIGHTTOTOP__DigitalOutput__, this );
            m_DigitalOutputList.Add( SHIFTSOURCEHIGHLIGHTTOTOP__DigitalOutput__, SHIFTSOURCEHIGHLIGHTTOTOP );

            SOURCESELECTED = new InOutArray<DigitalOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCESELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SOURCESELECTED__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( SOURCESELECTED__DigitalOutput__ + i, SOURCESELECTED[i+1] );
            }

            GOTOSOURCECONTROLPAGE = new InOutArray<DigitalOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            GOTOSOURCECONTROLPAGE[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( GOTOSOURCECONTROLPAGE__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( GOTOSOURCECONTROLPAGE__DigitalOutput__ + i, GOTOSOURCECONTROLPAGE[i+1] );
            }

            SOURCEACTIVEIN = new Crestron.Logos.SplusObjects.AnalogInput( SOURCEACTIVEIN__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SOURCEACTIVEIN__AnalogSerialInput__, SOURCEACTIVEIN );

            LISTPOSITION = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            LISTPOSITION[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( LISTPOSITION__AnalogSerialInput__ + i, LISTPOSITION__AnalogSerialInput__, this );
            m_AnalogInputList.Add( LISTPOSITION__AnalogSerialInput__ + i, LISTPOSITION[i+1] );
            }

            SOURCEICONSIN = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCEICONSIN[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( SOURCEICONSIN__AnalogSerialInput__ + i, SOURCEICONSIN__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SOURCEICONSIN__AnalogSerialInput__ + i, SOURCEICONSIN[i+1] );
            }

            SOURCEHIGHLIGHTOUT = new Crestron.Logos.SplusObjects.AnalogOutput( SOURCEHIGHLIGHTOUT__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( SOURCEHIGHLIGHTOUT__AnalogSerialOutput__, SOURCEHIGHLIGHTOUT );

            SOURCESCROLLMAX = new Crestron.Logos.SplusObjects.AnalogOutput( SOURCESCROLLMAX__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( SOURCESCROLLMAX__AnalogSerialOutput__, SOURCESCROLLMAX );

            SINGLESOURCEICON = new Crestron.Logos.SplusObjects.AnalogOutput( SINGLESOURCEICON__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( SINGLESOURCEICON__AnalogSerialOutput__, SINGLESOURCEICON );

            CURRENTSOURCEICON = new Crestron.Logos.SplusObjects.AnalogOutput( CURRENTSOURCEICON__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( CURRENTSOURCEICON__AnalogSerialOutput__, CURRENTSOURCEICON );

            SINGLESOURCE = new Crestron.Logos.SplusObjects.AnalogOutput( SINGLESOURCE__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( SINGLESOURCE__AnalogSerialOutput__, SINGLESOURCE );

            SOURCEICONSOUT = new InOutArray<AnalogOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCEICONSOUT[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( SOURCEICONSOUT__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( SOURCEICONSOUT__AnalogSerialOutput__ + i, SOURCEICONSOUT[i+1] );
            }

            NAMEIN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NAMEIN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( NAMEIN__DOLLAR____AnalogSerialInput__ + i, NAMEIN__DOLLAR____AnalogSerialInput__, 32, this );
            m_StringInputList.Add( NAMEIN__DOLLAR____AnalogSerialInput__ + i, NAMEIN__DOLLAR__[i+1] );
            }

            NOWPLAYINGLINE1IN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NOWPLAYINGLINE1IN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( NOWPLAYINGLINE1IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE1IN__DOLLAR____AnalogSerialInput__, 100, this );
            m_StringInputList.Add( NOWPLAYINGLINE1IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE1IN__DOLLAR__[i+1] );
            }

            NOWPLAYINGLINE2IN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NOWPLAYINGLINE2IN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( NOWPLAYINGLINE2IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE2IN__DOLLAR____AnalogSerialInput__, 100, this );
            m_StringInputList.Add( NOWPLAYINGLINE2IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE2IN__DOLLAR__[i+1] );
            }

            NOWPLAYINGTRANSPORTIN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NOWPLAYINGTRANSPORTIN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( NOWPLAYINGTRANSPORTIN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGTRANSPORTIN__DOLLAR____AnalogSerialInput__, 1, this );
            m_StringInputList.Add( NOWPLAYINGTRANSPORTIN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGTRANSPORTIN__DOLLAR__[i+1] );
            }

            SINGLESOURCENAME = new Crestron.Logos.SplusObjects.StringOutput( SINGLESOURCENAME__AnalogSerialOutput__, this );
            m_StringOutputList.Add( SINGLESOURCENAME__AnalogSerialOutput__, SINGLESOURCENAME );

            CURRENTSOURCENAME = new Crestron.Logos.SplusObjects.StringOutput( CURRENTSOURCENAME__AnalogSerialOutput__, this );
            m_StringOutputList.Add( CURRENTSOURCENAME__AnalogSerialOutput__, CURRENTSOURCENAME );

            CURRENTSOURCENOWPLAYINGLINE1 = new Crestron.Logos.SplusObjects.StringOutput( CURRENTSOURCENOWPLAYINGLINE1__AnalogSerialOutput__, this );
            m_StringOutputList.Add( CURRENTSOURCENOWPLAYINGLINE1__AnalogSerialOutput__, CURRENTSOURCENOWPLAYINGLINE1 );

            CURRENTSOURCENOWPLAYINGLINE2 = new Crestron.Logos.SplusObjects.StringOutput( CURRENTSOURCENOWPLAYINGLINE2__AnalogSerialOutput__, this );
            m_StringOutputList.Add( CURRENTSOURCENOWPLAYINGLINE2__AnalogSerialOutput__, CURRENTSOURCENOWPLAYINGLINE2 );

            CURRENTSOURCENOWPLAYINGTRANSPORT = new Crestron.Logos.SplusObjects.StringOutput( CURRENTSOURCENOWPLAYINGTRANSPORT__AnalogSerialOutput__, this );
            m_StringOutputList.Add( CURRENTSOURCENOWPLAYINGTRANSPORT__AnalogSerialOutput__, CURRENTSOURCENOWPLAYINGTRANSPORT );

            NAMEOUT__DOLLAR__ = new InOutArray<StringOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NAMEOUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( NAMEOUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( NAMEOUT__DOLLAR____AnalogSerialOutput__ + i, NAMEOUT__DOLLAR__[i+1] );
            }

            ROOMCONNECTED.OnDigitalChange.Add( new InputChangeHandlerWrapper( ROOMCONNECTED_OnChange_0, false ) );
            SELECTSINGLESOURCE.OnDigitalPush.Add( new InputChangeHandlerWrapper( SELECTSINGLESOURCE_OnPush_1, false ) );
            SOURCEACTIVEIN.OnAnalogChange.Add( new InputChangeHandlerWrapper( SOURCEACTIVEIN_OnChange_2, false ) );
            for( uint i = 0; i < 24; i++ )
            SOURCELINESELECTED[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( SOURCELINESELECTED_OnPush_3, false ) );

            for( uint i = 0; i < 24; i++ )
            NOWPLAYINGLINE1IN__DOLLAR__[i+1].OnSerialChange.Add( new InputChangeHandlerWrapper( NOWPLAYINGLINE1IN__DOLLAR___OnChange_4, false ) );

            for( uint i = 0; i < 24; i++ )
            NOWPLAYINGLINE2IN__DOLLAR__[i+1].OnSerialChange.Add( new InputChangeHandlerWrapper( NOWPLAYINGLINE2IN__DOLLAR___OnChange_5, false ) );

            for( uint i = 0; i < 24; i++ )
            NOWPLAYINGTRANSPORTIN__DOLLAR__[i+1].OnSerialChange.Add( new InputChangeHandlerWrapper( NOWPLAYINGTRANSPORTIN__DOLLAR___OnChange_6, false ) );

            _SplusNVRAM.PopulateCustomAttributeList( true );

            NVRAM = _SplusNVRAM;
        }
public override void LogosSplusInitialize()
{
    SocketInfo __socketinfo__ = new SocketInfo( 1, this );
    InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
    _SplusNVRAM = new SplusNVRAM( this );
    _SplusNVRAM.WIDTH  = new ushort[ 102 ];
    _SplusNVRAM.FREQUENCY  = new ushort[ 102 ];
    _SplusNVRAM.RETURNSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 4, this );
    _SplusNVRAM.TEMPSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 40, this );
    _SplusNVRAM.NOTCH  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 2, this );
    _SplusNVRAM.NEGATIVE  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 2, this );
    _SplusNVRAM.BOOSTSTRING  = new CrestronString[ 102 ];
    for( uint i = 0; i < 102; i++ )
        _SplusNVRAM.BOOSTSTRING [i] = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 20, this );
    _SplusNVRAM.WIDTHSTRING  = new CrestronString[ 102 ];
    for( uint i = 0; i < 102; i++ )
        _SplusNVRAM.WIDTHSTRING [i] = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 20, this );
    _SplusNVRAM.FREQUENCYSTRING  = new CrestronString[ 102 ];
    for( uint i = 0; i < 102; i++ )
        _SplusNVRAM.FREQUENCYSTRING [i] = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 20, this );
    
    SUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( SUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( SUBSCRIBE__DOLLAR____DigitalInput__, SUBSCRIBE__DOLLAR__ );
    
    UNSUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( UNSUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( UNSUBSCRIBE__DOLLAR____DigitalInput__, UNSUBSCRIBE__DOLLAR__ );
    
    BYPASS_ON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BYPASS_ON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BYPASS_ON__DOLLAR____DigitalInput__, BYPASS_ON__DOLLAR__ );
    
    BYPASS_OFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( BYPASS_OFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( BYPASS_OFF__DOLLAR____DigitalInput__, BYPASS_OFF__DOLLAR__ );
    
    BYPASS_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( BYPASS_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( BYPASS_FB__DOLLAR____DigitalOutput__, BYPASS_FB__DOLLAR__ );
    
    INPUT__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( INPUT__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( INPUT__DOLLAR____AnalogSerialInput__, INPUT__DOLLAR__ );
    
    BOOSTPERCENT__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( BOOSTPERCENT__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( BOOSTPERCENT__DOLLAR____AnalogSerialInput__, BOOSTPERCENT__DOLLAR__ );
    
    WIDTH__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( WIDTH__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( WIDTH__DOLLAR____AnalogSerialInput__, WIDTH__DOLLAR__ );
    
    FREQUENCY__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( FREQUENCY__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( FREQUENCY__DOLLAR____AnalogSerialInput__, FREQUENCY__DOLLAR__ );
    
    TYPE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( TYPE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( TYPE__DOLLAR____AnalogSerialInput__, TYPE__DOLLAR__ );
    
    SLOPE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( SLOPE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( SLOPE__DOLLAR____AnalogSerialInput__, SLOPE__DOLLAR__ );
    
    BOOSTPERCENT_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( BOOSTPERCENT_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( BOOSTPERCENT_FB__DOLLAR____AnalogSerialOutput__, BOOSTPERCENT_FB__DOLLAR__ );
    
    WIDTH_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( WIDTH_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( WIDTH_FB__DOLLAR____AnalogSerialOutput__, WIDTH_FB__DOLLAR__ );
    
    FREQUENCY_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( FREQUENCY_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( FREQUENCY_FB__DOLLAR____AnalogSerialOutput__, FREQUENCY_FB__DOLLAR__ );
    
    TYPE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( TYPE_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( TYPE_FB__DOLLAR____AnalogSerialOutput__, TYPE_FB__DOLLAR__ );
    
    SLOPE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( SLOPE_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( SLOPE_FB__DOLLAR____AnalogSerialOutput__, SLOPE_FB__DOLLAR__ );
    
    TX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TX__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( TX__DOLLAR____AnalogSerialOutput__, TX__DOLLAR__ );
    
    BOOSTSTRING_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( BOOSTSTRING_FB__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( BOOSTSTRING_FB__DOLLAR____AnalogSerialOutput__, BOOSTSTRING_FB__DOLLAR__ );
    
    WIDTHSTRING_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( WIDTHSTRING_FB__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( WIDTHSTRING_FB__DOLLAR____AnalogSerialOutput__, WIDTHSTRING_FB__DOLLAR__ );
    
    FREQUENCYSTRING_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( FREQUENCYSTRING_FB__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( FREQUENCYSTRING_FB__DOLLAR____AnalogSerialOutput__, FREQUENCYSTRING_FB__DOLLAR__ );
    
    TYPESTRING_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TYPESTRING_FB__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( TYPESTRING_FB__DOLLAR____AnalogSerialOutput__, TYPESTRING_FB__DOLLAR__ );
    
    SLOPESTRING_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( SLOPESTRING_FB__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( SLOPESTRING_FB__DOLLAR____AnalogSerialOutput__, SLOPESTRING_FB__DOLLAR__ );
    
    RX__DOLLAR__ = new Crestron.Logos.SplusObjects.BufferInput( RX__DOLLAR____AnalogSerialInput__, 400, this );
    m_StringInputList.Add( RX__DOLLAR____AnalogSerialInput__, RX__DOLLAR__ );
    
    OBJECTID__DOLLAR__ = new StringParameter( OBJECTID__DOLLAR____Parameter__, this );
    m_ParameterList.Add( OBJECTID__DOLLAR____Parameter__, OBJECTID__DOLLAR__ );
    
    __SPLS_TMPVAR__WAITLABEL_0___Callback = new WaitFunction( __SPLS_TMPVAR__WAITLABEL_0___CallbackFn );
    
    BOOSTPERCENT__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( BOOSTPERCENT__DOLLAR___OnChange_0, false ) );
    WIDTH__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( WIDTH__DOLLAR___OnChange_1, false ) );
    FREQUENCY__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( FREQUENCY__DOLLAR___OnChange_2, false ) );
    TYPE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( TYPE__DOLLAR___OnChange_3, false ) );
    SLOPE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( SLOPE__DOLLAR___OnChange_4, false ) );
    BYPASS_ON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BYPASS_ON__DOLLAR___OnPush_5, false ) );
    BYPASS_OFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( BYPASS_OFF__DOLLAR___OnPush_6, false ) );
    SUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( SUBSCRIBE__DOLLAR___OnPush_7, false ) );
    UNSUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( UNSUBSCRIBE__DOLLAR___OnPush_8, false ) );
    INPUT__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( INPUT__DOLLAR___OnChange_9, false ) );
    RX__DOLLAR__.OnSerialChange.Add( new InputChangeHandlerWrapper( RX__DOLLAR___OnChange_10, false ) );
    
    _SplusNVRAM.PopulateCustomAttributeList( true );
    
    NVRAM = _SplusNVRAM;
    
}
        public override void LogosSplusInitialize()
        {
            _SplusNVRAM = new SplusNVRAM( this );
            STEMP  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 50, this );

            VOLUME_UP = new Crestron.Logos.SplusObjects.DigitalInput( VOLUME_UP__DigitalInput__, this );
            m_DigitalInputList.Add( VOLUME_UP__DigitalInput__, VOLUME_UP );

            VOLUME_DOWN = new Crestron.Logos.SplusObjects.DigitalInput( VOLUME_DOWN__DigitalInput__, this );
            m_DigitalInputList.Add( VOLUME_DOWN__DigitalInput__, VOLUME_DOWN );

            CONTRAST_UP = new Crestron.Logos.SplusObjects.DigitalInput( CONTRAST_UP__DigitalInput__, this );
            m_DigitalInputList.Add( CONTRAST_UP__DigitalInput__, CONTRAST_UP );

            CONTRAST_DOWN = new Crestron.Logos.SplusObjects.DigitalInput( CONTRAST_DOWN__DigitalInput__, this );
            m_DigitalInputList.Add( CONTRAST_DOWN__DigitalInput__, CONTRAST_DOWN );

            BRIGHTNESS_UP = new Crestron.Logos.SplusObjects.DigitalInput( BRIGHTNESS_UP__DigitalInput__, this );
            m_DigitalInputList.Add( BRIGHTNESS_UP__DigitalInput__, BRIGHTNESS_UP );

            BRIGHTNESS_DOWN = new Crestron.Logos.SplusObjects.DigitalInput( BRIGHTNESS_DOWN__DigitalInput__, this );
            m_DigitalInputList.Add( BRIGHTNESS_DOWN__DigitalInput__, BRIGHTNESS_DOWN );

            SATURATION_UP = new Crestron.Logos.SplusObjects.DigitalInput( SATURATION_UP__DigitalInput__, this );
            m_DigitalInputList.Add( SATURATION_UP__DigitalInput__, SATURATION_UP );

            SATURATION_DOWN = new Crestron.Logos.SplusObjects.DigitalInput( SATURATION_DOWN__DigitalInput__, this );
            m_DigitalInputList.Add( SATURATION_DOWN__DigitalInput__, SATURATION_DOWN );

            TINT_UP = new Crestron.Logos.SplusObjects.DigitalInput( TINT_UP__DigitalInput__, this );
            m_DigitalInputList.Add( TINT_UP__DigitalInput__, TINT_UP );

            TINT_DOWN = new Crestron.Logos.SplusObjects.DigitalInput( TINT_DOWN__DigitalInput__, this );
            m_DigitalInputList.Add( TINT_DOWN__DigitalInput__, TINT_DOWN );

            RAMPING = new Crestron.Logos.SplusObjects.DigitalInput( RAMPING__DigitalInput__, this );
            m_DigitalInputList.Add( RAMPING__DigitalInput__, RAMPING );

            RAMP_DONE = new Crestron.Logos.SplusObjects.DigitalInput( RAMP_DONE__DigitalInput__, this );
            m_DigitalInputList.Add( RAMP_DONE__DigitalInput__, RAMP_DONE );

            POLL_SENT = new Crestron.Logos.SplusObjects.AnalogInput( POLL_SENT__AnalogSerialInput__, this );
            m_AnalogInputList.Add( POLL_SENT__AnalogSerialInput__, POLL_SENT );

            POWER_IN = new Crestron.Logos.SplusObjects.AnalogOutput( POWER_IN__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( POWER_IN__AnalogSerialOutput__, POWER_IN );

            INPUT_IN = new Crestron.Logos.SplusObjects.AnalogOutput( INPUT_IN__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( INPUT_IN__AnalogSerialOutput__, INPUT_IN );

            VOLUME_IN = new Crestron.Logos.SplusObjects.AnalogOutput( VOLUME_IN__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( VOLUME_IN__AnalogSerialOutput__, VOLUME_IN );

            VOLUME_MUTE_IN = new Crestron.Logos.SplusObjects.AnalogOutput( VOLUME_MUTE_IN__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( VOLUME_MUTE_IN__AnalogSerialOutput__, VOLUME_MUTE_IN );

            CONTRAST_IN = new Crestron.Logos.SplusObjects.AnalogOutput( CONTRAST_IN__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( CONTRAST_IN__AnalogSerialOutput__, CONTRAST_IN );

            BRIGHTNESS_IN = new Crestron.Logos.SplusObjects.AnalogOutput( BRIGHTNESS_IN__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( BRIGHTNESS_IN__AnalogSerialOutput__, BRIGHTNESS_IN );

            SATURATION_IN = new Crestron.Logos.SplusObjects.AnalogOutput( SATURATION_IN__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( SATURATION_IN__AnalogSerialOutput__, SATURATION_IN );

            TINT_IN = new Crestron.Logos.SplusObjects.AnalogOutput( TINT_IN__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( TINT_IN__AnalogSerialOutput__, TINT_IN );

            AUTO_COLOR_CONTROL_IN = new Crestron.Logos.SplusObjects.AnalogOutput( AUTO_COLOR_CONTROL_IN__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( AUTO_COLOR_CONTROL_IN__AnalogSerialOutput__, AUTO_COLOR_CONTROL_IN );

            COLOR_TEMPERATURE_IN = new Crestron.Logos.SplusObjects.AnalogOutput( COLOR_TEMPERATURE_IN__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( COLOR_TEMPERATURE_IN__AnalogSerialOutput__, COLOR_TEMPERATURE_IN );

            CHANNEL_IN = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_IN__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( CHANNEL_IN__AnalogSerialOutput__, CHANNEL_IN );

            TO_DEVICE__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TO_DEVICE__DOLLAR____AnalogSerialOutput__, this );
            m_StringOutputList.Add( TO_DEVICE__DOLLAR____AnalogSerialOutput__, TO_DEVICE__DOLLAR__ );

            FROM_DEVICE__DOLLAR__ = new Crestron.Logos.SplusObjects.BufferInput( FROM_DEVICE__DOLLAR____AnalogSerialInput__, 100, this );
            m_StringInputList.Add( FROM_DEVICE__DOLLAR____AnalogSerialInput__, FROM_DEVICE__DOLLAR__ );

            VOLUME_UP.OnDigitalPush.Add( new InputChangeHandlerWrapper( VOLUME_UP_OnPush_0, false ) );
            VOLUME_DOWN.OnDigitalPush.Add( new InputChangeHandlerWrapper( VOLUME_DOWN_OnPush_1, false ) );
            CONTRAST_UP.OnDigitalPush.Add( new InputChangeHandlerWrapper( CONTRAST_UP_OnPush_2, false ) );
            CONTRAST_DOWN.OnDigitalPush.Add( new InputChangeHandlerWrapper( CONTRAST_DOWN_OnPush_3, false ) );
            BRIGHTNESS_UP.OnDigitalPush.Add( new InputChangeHandlerWrapper( BRIGHTNESS_UP_OnPush_4, false ) );
            BRIGHTNESS_DOWN.OnDigitalPush.Add( new InputChangeHandlerWrapper( BRIGHTNESS_DOWN_OnPush_5, false ) );
            SATURATION_UP.OnDigitalPush.Add( new InputChangeHandlerWrapper( SATURATION_UP_OnPush_6, false ) );
            SATURATION_DOWN.OnDigitalPush.Add( new InputChangeHandlerWrapper( SATURATION_DOWN_OnPush_7, false ) );
            TINT_UP.OnDigitalPush.Add( new InputChangeHandlerWrapper( TINT_UP_OnPush_8, false ) );
            TINT_DOWN.OnDigitalPush.Add( new InputChangeHandlerWrapper( TINT_DOWN_OnPush_9, false ) );
            RAMP_DONE.OnDigitalPush.Add( new InputChangeHandlerWrapper( RAMP_DONE_OnPush_10, false ) );
            POLL_SENT.OnAnalogChange.Add( new InputChangeHandlerWrapper( POLL_SENT_OnChange_11, false ) );
            FROM_DEVICE__DOLLAR__.OnSerialChange.Add( new InputChangeHandlerWrapper( FROM_DEVICE__DOLLAR___OnChange_12, false ) );

            _SplusNVRAM.PopulateCustomAttributeList( true );

            NVRAM = _SplusNVRAM;
        }
        public override void LogosSplusInitialize()
        {
            _SplusNVRAM = new SplusNVRAM( this );
            OPTIONSMENUMAP  = new ushort[ 8 ];
            OPTIONSMENUICONS  = new ushort[ 8 ];
            GROUPSMENUMAP  = new ushort[ 7 ];
            OPTIONSMENU__DOLLAR__  = new CrestronString[ 8 ];
            for( uint i = 0; i < 8; i++ )
            OPTIONSMENU__DOLLAR__ [i] = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 32, this );
            EQPRESETNAMES__DOLLAR__  = new CrestronString[ 7 ];
            for( uint i = 0; i < 7; i++ )
            EQPRESETNAMES__DOLLAR__ [i] = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 11, this );

            ROOMANDSOURCEMENUINITIALIZED = new Crestron.Logos.SplusObjects.DigitalInput( ROOMANDSOURCEMENUINITIALIZED__DigitalInput__, this );
            m_DigitalInputList.Add( ROOMANDSOURCEMENUINITIALIZED__DigitalInput__, ROOMANDSOURCEMENUINITIALIZED );

            SOURCELISTHASONEITEM = new Crestron.Logos.SplusObjects.DigitalInput( SOURCELISTHASONEITEM__DigitalInput__, this );
            m_DigitalInputList.Add( SOURCELISTHASONEITEM__DigitalInput__, SOURCELISTHASONEITEM );

            REFRESHOPTIONSMENU = new Crestron.Logos.SplusObjects.DigitalInput( REFRESHOPTIONSMENU__DigitalInput__, this );
            m_DigitalInputList.Add( REFRESHOPTIONSMENU__DigitalInput__, REFRESHOPTIONSMENU );

            ROOMISON = new Crestron.Logos.SplusObjects.DigitalInput( ROOMISON__DigitalInput__, this );
            m_DigitalInputList.Add( ROOMISON__DigitalInput__, ROOMISON );

            HASSOURCES = new Crestron.Logos.SplusObjects.DigitalInput( HASSOURCES__DigitalInput__, this );
            m_DigitalInputList.Add( HASSOURCES__DigitalInput__, HASSOURCES );

            SOURCESHAREAVAILABLE = new Crestron.Logos.SplusObjects.DigitalInput( SOURCESHAREAVAILABLE__DigitalInput__, this );
            m_DigitalInputList.Add( SOURCESHAREAVAILABLE__DigitalInput__, SOURCESHAREAVAILABLE );

            HASROOMS = new Crestron.Logos.SplusObjects.DigitalInput( HASROOMS__DigitalInput__, this );
            m_DigitalInputList.Add( HASROOMS__DigitalInput__, HASROOMS );

            HASSLEEP = new Crestron.Logos.SplusObjects.DigitalInput( HASSLEEP__DigitalInput__, this );
            m_DigitalInputList.Add( HASSLEEP__DigitalInput__, HASSLEEP );

            HASGROUPS = new Crestron.Logos.SplusObjects.DigitalInput( HASGROUPS__DigitalInput__, this );
            m_DigitalInputList.Add( HASGROUPS__DigitalInput__, HASGROUPS );

            TOOLSMENUENABLED = new Crestron.Logos.SplusObjects.DigitalInput( TOOLSMENUENABLED__DigitalInput__, this );
            m_DigitalInputList.Add( TOOLSMENUENABLED__DigitalInput__, TOOLSMENUENABLED );

            GROUPSMENUENABLED = new Crestron.Logos.SplusObjects.DigitalInput( GROUPSMENUENABLED__DigitalInput__, this );
            m_DigitalInputList.Add( GROUPSMENUENABLED__DigitalInput__, GROUPSMENUENABLED );

            SLEEPISON = new Crestron.Logos.SplusObjects.DigitalInput( SLEEPISON__DigitalInput__, this );
            m_DigitalInputList.Add( SLEEPISON__DigitalInput__, SLEEPISON );

            SLEEPISOFF = new Crestron.Logos.SplusObjects.DigitalInput( SLEEPISOFF__DigitalInput__, this );
            m_DigitalInputList.Add( SLEEPISOFF__DigitalInput__, SLEEPISOFF );

            SLEEPWARNINGACTIVATED = new Crestron.Logos.SplusObjects.DigitalInput( SLEEPWARNINGACTIVATED__DigitalInput__, this );
            m_DigitalInputList.Add( SLEEPWARNINGACTIVATED__DigitalInput__, SLEEPWARNINGACTIVATED );

            SLEEPWARNINGISACTIVE = new Crestron.Logos.SplusObjects.DigitalInput( SLEEPWARNINGISACTIVE__DigitalInput__, this );
            m_DigitalInputList.Add( SLEEPWARNINGISACTIVE__DigitalInput__, SLEEPWARNINGISACTIVE );

            LOUDNESSISON = new Crestron.Logos.SplusObjects.DigitalInput( LOUDNESSISON__DigitalInput__, this );
            m_DigitalInputList.Add( LOUDNESSISON__DigitalInput__, LOUDNESSISON );

            LOUDNESSISOFF = new Crestron.Logos.SplusObjects.DigitalInput( LOUDNESSISOFF__DigitalInput__, this );
            m_DigitalInputList.Add( LOUDNESSISOFF__DigitalInput__, LOUDNESSISOFF );

            ONSLEEPPAGE = new Crestron.Logos.SplusObjects.DigitalInput( ONSLEEPPAGE__DigitalInput__, this );
            m_DigitalInputList.Add( ONSLEEPPAGE__DigitalInput__, ONSLEEPPAGE );

            ONTOOLSPAGE = new Crestron.Logos.SplusObjects.DigitalInput( ONTOOLSPAGE__DigitalInput__, this );
            m_DigitalInputList.Add( ONTOOLSPAGE__DigitalInput__, ONTOOLSPAGE );

            SLEEPSELECTBUTTON = new Crestron.Logos.SplusObjects.DigitalInput( SLEEPSELECTBUTTON__DigitalInput__, this );
            m_DigitalInputList.Add( SLEEPSELECTBUTTON__DigitalInput__, SLEEPSELECTBUTTON );

            TOOLSSELECTBUTTON = new Crestron.Logos.SplusObjects.DigitalInput( TOOLSSELECTBUTTON__DigitalInput__, this );
            m_DigitalInputList.Add( TOOLSSELECTBUTTON__DigitalInput__, TOOLSSELECTBUTTON );

            SLEEPBACKBUTTON = new Crestron.Logos.SplusObjects.DigitalInput( SLEEPBACKBUTTON__DigitalInput__, this );
            m_DigitalInputList.Add( SLEEPBACKBUTTON__DigitalInput__, SLEEPBACKBUTTON );

            TOOLSBACKBUTTON = new Crestron.Logos.SplusObjects.DigitalInput( TOOLSBACKBUTTON__DigitalInput__, this );
            m_DigitalInputList.Add( TOOLSBACKBUTTON__DigitalInput__, TOOLSBACKBUTTON );

            GROUPSCONFIGURED = new InOutArray<DigitalInput>( 6, this );
            for( uint i = 0; i < 6; i++ )
            {
            GROUPSCONFIGURED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( GROUPSCONFIGURED__DigitalInput__ + i, GROUPSCONFIGURED__DigitalInput__, this );
            m_DigitalInputList.Add( GROUPSCONFIGURED__DigitalInput__ + i, GROUPSCONFIGURED[i+1] );
            }

            GROUPSACTIVE = new InOutArray<DigitalInput>( 6, this );
            for( uint i = 0; i < 6; i++ )
            {
            GROUPSACTIVE[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( GROUPSACTIVE__DigitalInput__ + i, GROUPSACTIVE__DigitalInput__, this );
            m_DigitalInputList.Add( GROUPSACTIVE__DigitalInput__ + i, GROUPSACTIVE[i+1] );
            }

            OPTIONSLINESELECTED = new InOutArray<DigitalInput>( 7, this );
            for( uint i = 0; i < 7; i++ )
            {
            OPTIONSLINESELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( OPTIONSLINESELECTED__DigitalInput__ + i, OPTIONSLINESELECTED__DigitalInput__, this );
            m_DigitalInputList.Add( OPTIONSLINESELECTED__DigitalInput__ + i, OPTIONSLINESELECTED[i+1] );
            }

            SLEEPLINESELECTED = new InOutArray<DigitalInput>( 2, this );
            for( uint i = 0; i < 2; i++ )
            {
            SLEEPLINESELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( SLEEPLINESELECTED__DigitalInput__ + i, SLEEPLINESELECTED__DigitalInput__, this );
            m_DigitalInputList.Add( SLEEPLINESELECTED__DigitalInput__ + i, SLEEPLINESELECTED[i+1] );
            }

            TOOLSLINESELECTED = new InOutArray<DigitalInput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            TOOLSLINESELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( TOOLSLINESELECTED__DigitalInput__ + i, TOOLSLINESELECTED__DigitalInput__, this );
            m_DigitalInputList.Add( TOOLSLINESELECTED__DigitalInput__ + i, TOOLSLINESELECTED[i+1] );
            }

            GROUPSLINESELECTED = new InOutArray<DigitalInput>( 6, this );
            for( uint i = 0; i < 6; i++ )
            {
            GROUPSLINESELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( GROUPSLINESELECTED__DigitalInput__ + i, GROUPSLINESELECTED__DigitalInput__, this );
            m_DigitalInputList.Add( GROUPSLINESELECTED__DigitalInput__ + i, GROUPSLINESELECTED[i+1] );
            }

            GOTOAUDIOMENUPAGE = new Crestron.Logos.SplusObjects.DigitalOutput( GOTOAUDIOMENUPAGE__DigitalOutput__, this );
            m_DigitalOutputList.Add( GOTOAUDIOMENUPAGE__DigitalOutput__, GOTOAUDIOMENUPAGE );

            GOTOSOURCESPAGE = new Crestron.Logos.SplusObjects.DigitalOutput( GOTOSOURCESPAGE__DigitalOutput__, this );
            m_DigitalOutputList.Add( GOTOSOURCESPAGE__DigitalOutput__, GOTOSOURCESPAGE );

            GOTOSOURCESHARINGPAGE = new Crestron.Logos.SplusObjects.DigitalOutput( GOTOSOURCESHARINGPAGE__DigitalOutput__, this );
            m_DigitalOutputList.Add( GOTOSOURCESHARINGPAGE__DigitalOutput__, GOTOSOURCESHARINGPAGE );

            GOTOROOMSPAGE = new Crestron.Logos.SplusObjects.DigitalOutput( GOTOROOMSPAGE__DigitalOutput__, this );
            m_DigitalOutputList.Add( GOTOROOMSPAGE__DigitalOutput__, GOTOROOMSPAGE );

            GOTOSLEEPPAGE = new Crestron.Logos.SplusObjects.DigitalOutput( GOTOSLEEPPAGE__DigitalOutput__, this );
            m_DigitalOutputList.Add( GOTOSLEEPPAGE__DigitalOutput__, GOTOSLEEPPAGE );

            GOTOTOOLSPAGE = new Crestron.Logos.SplusObjects.DigitalOutput( GOTOTOOLSPAGE__DigitalOutput__, this );
            m_DigitalOutputList.Add( GOTOTOOLSPAGE__DigitalOutput__, GOTOTOOLSPAGE );

            GOTOGROUPSPAGE = new Crestron.Logos.SplusObjects.DigitalOutput( GOTOGROUPSPAGE__DigitalOutput__, this );
            m_DigitalOutputList.Add( GOTOGROUPSPAGE__DigitalOutput__, GOTOGROUPSPAGE );

            SLEEPTIMEADJUSTACTIVE = new Crestron.Logos.SplusObjects.DigitalOutput( SLEEPTIMEADJUSTACTIVE__DigitalOutput__, this );
            m_DigitalOutputList.Add( SLEEPTIMEADJUSTACTIVE__DigitalOutput__, SLEEPTIMEADJUSTACTIVE );

            SLEEPENABLEADJUSTACTIVE = new Crestron.Logos.SplusObjects.DigitalOutput( SLEEPENABLEADJUSTACTIVE__DigitalOutput__, this );
            m_DigitalOutputList.Add( SLEEPENABLEADJUSTACTIVE__DigitalOutput__, SLEEPENABLEADJUSTACTIVE );

            BASSADJUSTACTIVE = new Crestron.Logos.SplusObjects.DigitalOutput( BASSADJUSTACTIVE__DigitalOutput__, this );
            m_DigitalOutputList.Add( BASSADJUSTACTIVE__DigitalOutput__, BASSADJUSTACTIVE );

            TREBLEADJUSTACTIVE = new Crestron.Logos.SplusObjects.DigitalOutput( TREBLEADJUSTACTIVE__DigitalOutput__, this );
            m_DigitalOutputList.Add( TREBLEADJUSTACTIVE__DigitalOutput__, TREBLEADJUSTACTIVE );

            EQPRESETADJUSTACTIVE = new Crestron.Logos.SplusObjects.DigitalOutput( EQPRESETADJUSTACTIVE__DigitalOutput__, this );
            m_DigitalOutputList.Add( EQPRESETADJUSTACTIVE__DigitalOutput__, EQPRESETADJUSTACTIVE );

            BALANCEADJUSTACTIVE = new Crestron.Logos.SplusObjects.DigitalOutput( BALANCEADJUSTACTIVE__DigitalOutput__, this );
            m_DigitalOutputList.Add( BALANCEADJUSTACTIVE__DigitalOutput__, BALANCEADJUSTACTIVE );

            LOUDNESSADJUSTACTIVE = new Crestron.Logos.SplusObjects.DigitalOutput( LOUDNESSADJUSTACTIVE__DigitalOutput__, this );
            m_DigitalOutputList.Add( LOUDNESSADJUSTACTIVE__DigitalOutput__, LOUDNESSADJUSTACTIVE );

            SELECTSINGLESOURCE = new Crestron.Logos.SplusObjects.DigitalOutput( SELECTSINGLESOURCE__DigitalOutput__, this );
            m_DigitalOutputList.Add( SELECTSINGLESOURCE__DigitalOutput__, SELECTSINGLESOURCE );

            SHIFTOPTIONSHIGHLIGHTTOTOP = new Crestron.Logos.SplusObjects.DigitalOutput( SHIFTOPTIONSHIGHLIGHTTOTOP__DigitalOutput__, this );
            m_DigitalOutputList.Add( SHIFTOPTIONSHIGHLIGHTTOTOP__DigitalOutput__, SHIFTOPTIONSHIGHLIGHTTOTOP );

            TOGGLEGROUPS = new InOutArray<DigitalOutput>( 6, this );
            for( uint i = 0; i < 6; i++ )
            {
            TOGGLEGROUPS[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( TOGGLEGROUPS__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( TOGGLEGROUPS__DigitalOutput__ + i, TOGGLEGROUPS[i+1] );
            }

            GOTOSOURCECONTROLPAGE = new InOutArray<DigitalOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            GOTOSOURCECONTROLPAGE[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( GOTOSOURCECONTROLPAGE__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( GOTOSOURCECONTROLPAGE__DigitalOutput__ + i, GOTOSOURCECONTROLPAGE[i+1] );
            }

            OPTIONSITEMSACTIVE = new InOutArray<DigitalOutput>( 7, this );
            for( uint i = 0; i < 7; i++ )
            {
            OPTIONSITEMSACTIVE[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( OPTIONSITEMSACTIVE__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( OPTIONSITEMSACTIVE__DigitalOutput__ + i, OPTIONSITEMSACTIVE[i+1] );
            }

            SLEEPITEMSACTIVE = new InOutArray<DigitalOutput>( 2, this );
            for( uint i = 0; i < 2; i++ )
            {
            SLEEPITEMSACTIVE[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SLEEPITEMSACTIVE__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( SLEEPITEMSACTIVE__DigitalOutput__ + i, SLEEPITEMSACTIVE[i+1] );
            }

            TOOLSITEMSACTIVE = new InOutArray<DigitalOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            TOOLSITEMSACTIVE[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( TOOLSITEMSACTIVE__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( TOOLSITEMSACTIVE__DigitalOutput__ + i, TOOLSITEMSACTIVE[i+1] );
            }

            SINGLESOURCE = new Crestron.Logos.SplusObjects.AnalogInput( SINGLESOURCE__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SINGLESOURCE__AnalogSerialInput__, SINGLESOURCE );

            ACTIVESOURCE = new Crestron.Logos.SplusObjects.AnalogInput( ACTIVESOURCE__AnalogSerialInput__, this );
            m_AnalogInputList.Add( ACTIVESOURCE__AnalogSerialInput__, ACTIVESOURCE );

            SLEEPTIME = new Crestron.Logos.SplusObjects.AnalogInput( SLEEPTIME__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SLEEPTIME__AnalogSerialInput__, SLEEPTIME );

            BASS_DB = new Crestron.Logos.SplusObjects.AnalogInput( BASS_DB__AnalogSerialInput__, this );
            m_AnalogInputList.Add( BASS_DB__AnalogSerialInput__, BASS_DB );

            TREBLE_DB = new Crestron.Logos.SplusObjects.AnalogInput( TREBLE_DB__AnalogSerialInput__, this );
            m_AnalogInputList.Add( TREBLE_DB__AnalogSerialInput__, TREBLE_DB );

            EQPRESET = new Crestron.Logos.SplusObjects.AnalogInput( EQPRESET__AnalogSerialInput__, this );
            m_AnalogInputList.Add( EQPRESET__AnalogSerialInput__, EQPRESET );

            BALANCE = new Crestron.Logos.SplusObjects.AnalogInput( BALANCE__AnalogSerialInput__, this );
            m_AnalogInputList.Add( BALANCE__AnalogSerialInput__, BALANCE );

            SINGLESOURCEICON = new Crestron.Logos.SplusObjects.AnalogInput( SINGLESOURCEICON__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SINGLESOURCEICON__AnalogSerialInput__, SINGLESOURCEICON );

            ACTIVESOURCEICON = new Crestron.Logos.SplusObjects.AnalogInput( ACTIVESOURCEICON__AnalogSerialInput__, this );
            m_AnalogInputList.Add( ACTIVESOURCEICON__AnalogSerialInput__, ACTIVESOURCEICON );

            OPTIONSHIGHLIGHTOUT = new Crestron.Logos.SplusObjects.AnalogOutput( OPTIONSHIGHLIGHTOUT__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( OPTIONSHIGHLIGHTOUT__AnalogSerialOutput__, OPTIONSHIGHLIGHTOUT );

            OPTIONSITEMCOUNTOUT = new Crestron.Logos.SplusObjects.AnalogOutput( OPTIONSITEMCOUNTOUT__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( OPTIONSITEMCOUNTOUT__AnalogSerialOutput__, OPTIONSITEMCOUNTOUT );

            SLEEPITEMCOUNTOUT = new Crestron.Logos.SplusObjects.AnalogOutput( SLEEPITEMCOUNTOUT__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( SLEEPITEMCOUNTOUT__AnalogSerialOutput__, SLEEPITEMCOUNTOUT );

            TOOLSITEMCOUNTOUT = new Crestron.Logos.SplusObjects.AnalogOutput( TOOLSITEMCOUNTOUT__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( TOOLSITEMCOUNTOUT__AnalogSerialOutput__, TOOLSITEMCOUNTOUT );

            GROUPSITEMCOUNTOUT = new Crestron.Logos.SplusObjects.AnalogOutput( GROUPSITEMCOUNTOUT__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( GROUPSITEMCOUNTOUT__AnalogSerialOutput__, GROUPSITEMCOUNTOUT );

            OPTIONSICONSOUT = new InOutArray<AnalogOutput>( 7, this );
            for( uint i = 0; i < 7; i++ )
            {
            OPTIONSICONSOUT[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( OPTIONSICONSOUT__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( OPTIONSICONSOUT__AnalogSerialOutput__ + i, OPTIONSICONSOUT[i+1] );
            }

            GROUPSICONSOUT = new InOutArray<AnalogOutput>( 6, this );
            for( uint i = 0; i < 6; i++ )
            {
            GROUPSICONSOUT[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( GROUPSICONSOUT__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( GROUPSICONSOUT__AnalogSerialOutput__ + i, GROUPSICONSOUT[i+1] );
            }

            SINGLESOURCENAME = new Crestron.Logos.SplusObjects.StringInput( SINGLESOURCENAME__AnalogSerialInput__, 32, this );
            m_StringInputList.Add( SINGLESOURCENAME__AnalogSerialInput__, SINGLESOURCENAME );

            ACTIVESOURCENAME__DOLLAR__ = new Crestron.Logos.SplusObjects.StringInput( ACTIVESOURCENAME__DOLLAR____AnalogSerialInput__, 32, this );
            m_StringInputList.Add( ACTIVESOURCENAME__DOLLAR____AnalogSerialInput__, ACTIVESOURCENAME__DOLLAR__ );

            GROUPSNAMES = new InOutArray<StringInput>( 6, this );
            for( uint i = 0; i < 6; i++ )
            {
            GROUPSNAMES[i+1] = new Crestron.Logos.SplusObjects.StringInput( GROUPSNAMES__AnalogSerialInput__ + i, GROUPSNAMES__AnalogSerialInput__, 32, this );
            m_StringInputList.Add( GROUPSNAMES__AnalogSerialInput__ + i, GROUPSNAMES[i+1] );
            }

            OPTIONSLABEL__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( OPTIONSLABEL__DOLLAR____AnalogSerialOutput__, this );
            m_StringOutputList.Add( OPTIONSLABEL__DOLLAR____AnalogSerialOutput__, OPTIONSLABEL__DOLLAR__ );

            SLEEPLABEL__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( SLEEPLABEL__DOLLAR____AnalogSerialOutput__, this );
            m_StringOutputList.Add( SLEEPLABEL__DOLLAR____AnalogSerialOutput__, SLEEPLABEL__DOLLAR__ );

            TOOLSLABEL__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TOOLSLABEL__DOLLAR____AnalogSerialOutput__, this );
            m_StringOutputList.Add( TOOLSLABEL__DOLLAR____AnalogSerialOutput__, TOOLSLABEL__DOLLAR__ );

            GROUPSLABEL__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( GROUPSLABEL__DOLLAR____AnalogSerialOutput__, this );
            m_StringOutputList.Add( GROUPSLABEL__DOLLAR____AnalogSerialOutput__, GROUPSLABEL__DOLLAR__ );

            SLEEPWARNINGMESSAGE = new Crestron.Logos.SplusObjects.StringOutput( SLEEPWARNINGMESSAGE__AnalogSerialOutput__, this );
            m_StringOutputList.Add( SLEEPWARNINGMESSAGE__AnalogSerialOutput__, SLEEPWARNINGMESSAGE );

            OPTIONSITEMS__DOLLAR__ = new InOutArray<StringOutput>( 7, this );
            for( uint i = 0; i < 7; i++ )
            {
            OPTIONSITEMS__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( OPTIONSITEMS__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( OPTIONSITEMS__DOLLAR____AnalogSerialOutput__ + i, OPTIONSITEMS__DOLLAR__[i+1] );
            }

            SLEEPITEMS__DOLLAR__ = new InOutArray<StringOutput>( 2, this );
            for( uint i = 0; i < 2; i++ )
            {
            SLEEPITEMS__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( SLEEPITEMS__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( SLEEPITEMS__DOLLAR____AnalogSerialOutput__ + i, SLEEPITEMS__DOLLAR__[i+1] );
            }

            TOOLSITEMS__DOLLAR__ = new InOutArray<StringOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            TOOLSITEMS__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( TOOLSITEMS__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( TOOLSITEMS__DOLLAR____AnalogSerialOutput__ + i, TOOLSITEMS__DOLLAR__[i+1] );
            }

            GROUPSITEMS__DOLLAR__ = new InOutArray<StringOutput>( 6, this );
            for( uint i = 0; i < 6; i++ )
            {
            GROUPSITEMS__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( GROUPSITEMS__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( GROUPSITEMS__DOLLAR____AnalogSerialOutput__ + i, GROUPSITEMS__DOLLAR__[i+1] );
            }

            ROOMANDSOURCEMENUINITIALIZED.OnDigitalPush.Add( new InputChangeHandlerWrapper( ROOMANDSOURCEMENUINITIALIZED_OnPush_0, false ) );
            REFRESHOPTIONSMENU.OnDigitalPush.Add( new InputChangeHandlerWrapper( REFRESHOPTIONSMENU_OnPush_1, false ) );
            HASSLEEP.OnDigitalChange.Add( new InputChangeHandlerWrapper( HASSLEEP_OnChange_2, false ) );
            TOOLSMENUENABLED.OnDigitalChange.Add( new InputChangeHandlerWrapper( TOOLSMENUENABLED_OnChange_3, false ) );
            SLEEPISON.OnDigitalPush.Add( new InputChangeHandlerWrapper( SLEEPISON_OnPush_4, false ) );
            SLEEPISOFF.OnDigitalPush.Add( new InputChangeHandlerWrapper( SLEEPISOFF_OnPush_5, false ) );
            LOUDNESSISON.OnDigitalPush.Add( new InputChangeHandlerWrapper( LOUDNESSISON_OnPush_6, false ) );
            LOUDNESSISOFF.OnDigitalPush.Add( new InputChangeHandlerWrapper( LOUDNESSISOFF_OnPush_7, false ) );
            ONSLEEPPAGE.OnDigitalRelease.Add( new InputChangeHandlerWrapper( ONSLEEPPAGE_OnRelease_8, false ) );
            ONTOOLSPAGE.OnDigitalRelease.Add( new InputChangeHandlerWrapper( ONTOOLSPAGE_OnRelease_9, false ) );
            SLEEPWARNINGACTIVATED.OnDigitalPush.Add( new InputChangeHandlerWrapper( SLEEPWARNINGACTIVATED_OnPush_10, false ) );
            SLEEPSELECTBUTTON.OnDigitalPush.Add( new InputChangeHandlerWrapper( SLEEPSELECTBUTTON_OnPush_11, false ) );
            TOOLSSELECTBUTTON.OnDigitalPush.Add( new InputChangeHandlerWrapper( TOOLSSELECTBUTTON_OnPush_12, false ) );
            SLEEPBACKBUTTON.OnDigitalPush.Add( new InputChangeHandlerWrapper( SLEEPBACKBUTTON_OnPush_13, false ) );
            TOOLSBACKBUTTON.OnDigitalPush.Add( new InputChangeHandlerWrapper( TOOLSBACKBUTTON_OnPush_14, false ) );
            SLEEPTIME.OnAnalogChange.Add( new InputChangeHandlerWrapper( SLEEPTIME_OnChange_15, false ) );
            BASS_DB.OnAnalogChange.Add( new InputChangeHandlerWrapper( BASS_DB_OnChange_16, false ) );
            TREBLE_DB.OnAnalogChange.Add( new InputChangeHandlerWrapper( TREBLE_DB_OnChange_17, false ) );
            EQPRESET.OnAnalogChange.Add( new InputChangeHandlerWrapper( EQPRESET_OnChange_18, false ) );
            BALANCE.OnAnalogChange.Add( new InputChangeHandlerWrapper( BALANCE_OnChange_19, false ) );
            for( uint i = 0; i < 7; i++ )
            OPTIONSLINESELECTED[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( OPTIONSLINESELECTED_OnPush_20, false ) );

            for( uint i = 0; i < 2; i++ )
            SLEEPLINESELECTED[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( SLEEPLINESELECTED_OnPush_21, false ) );

            for( uint i = 0; i < 5; i++ )
            TOOLSLINESELECTED[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( TOOLSLINESELECTED_OnPush_22, false ) );

            for( uint i = 0; i < 6; i++ )
            GROUPSLINESELECTED[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( GROUPSLINESELECTED_OnPush_23, false ) );

            ACTIVESOURCEICON.OnAnalogChange.Add( new InputChangeHandlerWrapper( ACTIVESOURCEICON_OnChange_24, false ) );
            for( uint i = 0; i < 6; i++ )
            GROUPSACTIVE[i+1].OnDigitalChange.Add( new InputChangeHandlerWrapper( GROUPSACTIVE_OnChange_25, false ) );

            _SplusNVRAM.PopulateCustomAttributeList( true );

            NVRAM = _SplusNVRAM;
        }
        public override void LogosSplusInitialize()
        {
            _SplusNVRAM = new SplusNVRAM( this );
            SOURCESHAREROOMMAP  = new ushort[ 25 ];

            SYSTEMINITIALIZED = new Crestron.Logos.SplusObjects.DigitalInput( SYSTEMINITIALIZED__DigitalInput__, this );
            m_DigitalInputList.Add( SYSTEMINITIALIZED__DigitalInput__, SYSTEMINITIALIZED );

            ONSOURCESHARINGPAGE = new Crestron.Logos.SplusObjects.DigitalInput( ONSOURCESHARINGPAGE__DigitalInput__, this );
            m_DigitalInputList.Add( ONSOURCESHARINGPAGE__DigitalInput__, ONSOURCESHARINGPAGE );

            ROOMDISABLED = new InOutArray<DigitalInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMDISABLED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( ROOMDISABLED__DigitalInput__ + i, ROOMDISABLED__DigitalInput__, this );
            m_DigitalInputList.Add( ROOMDISABLED__DigitalInput__ + i, ROOMDISABLED[i+1] );
            }

            ROOMLINESELECTED = new InOutArray<DigitalInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMLINESELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( ROOMLINESELECTED__DigitalInput__ + i, ROOMLINESELECTED__DigitalInput__, this );
            m_DigitalInputList.Add( ROOMLINESELECTED__DigitalInput__ + i, ROOMLINESELECTED[i+1] );
            }

            SOURCESHARELINESELECTED = new InOutArray<DigitalInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCESHARELINESELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( SOURCESHARELINESELECTED__DigitalInput__ + i, SOURCESHARELINESELECTED__DigitalInput__, this );
            m_DigitalInputList.Add( SOURCESHARELINESELECTED__DigitalInput__ + i, SOURCESHARELINESELECTED[i+1] );
            }

            ROOMLISTINITIALIZED = new Crestron.Logos.SplusObjects.DigitalOutput( ROOMLISTINITIALIZED__DigitalOutput__, this );
            m_DigitalOutputList.Add( ROOMLISTINITIALIZED__DigitalOutput__, ROOMLISTINITIALIZED );

            SHIFTSOURCESHAREHIGHLIGHTTOTOP = new Crestron.Logos.SplusObjects.DigitalOutput( SHIFTSOURCESHAREHIGHLIGHTTOTOP__DigitalOutput__, this );
            m_DigitalOutputList.Add( SHIFTSOURCESHAREHIGHLIGHTTOTOP__DigitalOutput__, SHIFTSOURCESHAREHIGHLIGHTTOTOP );

            ITEMSELECTEDFB = new InOutArray<DigitalOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ITEMSELECTEDFB[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( ITEMSELECTEDFB__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( ITEMSELECTEDFB__DigitalOutput__ + i, ITEMSELECTEDFB[i+1] );
            }

            LINECHECKEDFB = new InOutArray<DigitalOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            LINECHECKEDFB[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( LINECHECKEDFB__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( LINECHECKEDFB__DigitalOutput__ + i, LINECHECKEDFB[i+1] );
            }

            ROOMSELECTED = new InOutArray<DigitalOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMSELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( ROOMSELECTED__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( ROOMSELECTED__DigitalOutput__ + i, ROOMSELECTED[i+1] );
            }

            SELECTEDROOM = new Crestron.Logos.SplusObjects.AnalogInput( SELECTEDROOM__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SELECTEDROOM__AnalogSerialInput__, SELECTEDROOM );

            SOURCESHAREEXCLUDEDROOM = new Crestron.Logos.SplusObjects.AnalogInput( SOURCESHAREEXCLUDEDROOM__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SOURCESHAREEXCLUDEDROOM__AnalogSerialInput__, SOURCESHAREEXCLUDEDROOM );

            LISTPOSITION = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            LISTPOSITION[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( LISTPOSITION__AnalogSerialInput__ + i, LISTPOSITION__AnalogSerialInput__, this );
            m_AnalogInputList.Add( LISTPOSITION__AnalogSerialInput__ + i, LISTPOSITION[i+1] );
            }

            ROOMSOURCE = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMSOURCE[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( ROOMSOURCE__AnalogSerialInput__ + i, ROOMSOURCE__AnalogSerialInput__, this );
            m_AnalogInputList.Add( ROOMSOURCE__AnalogSerialInput__ + i, ROOMSOURCE[i+1] );
            }

            ROOMICONSIN = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMICONSIN[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( ROOMICONSIN__AnalogSerialInput__ + i, ROOMICONSIN__AnalogSerialInput__, this );
            m_AnalogInputList.Add( ROOMICONSIN__AnalogSerialInput__ + i, ROOMICONSIN[i+1] );
            }

            SOURCESHAREHIGHLIGHTOUT = new Crestron.Logos.SplusObjects.AnalogOutput( SOURCESHAREHIGHLIGHTOUT__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( SOURCESHAREHIGHLIGHTOUT__AnalogSerialOutput__, SOURCESHAREHIGHLIGHTOUT );

            ROOMSCROLLMAX = new Crestron.Logos.SplusObjects.AnalogOutput( ROOMSCROLLMAX__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( ROOMSCROLLMAX__AnalogSerialOutput__, ROOMSCROLLMAX );

            SOURCESHARESCROLLMAX = new Crestron.Logos.SplusObjects.AnalogOutput( SOURCESHARESCROLLMAX__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( SOURCESHARESCROLLMAX__AnalogSerialOutput__, SOURCESHARESCROLLMAX );

            SOURCESHAREROOMSOURCE = new InOutArray<AnalogOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCESHAREROOMSOURCE[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( SOURCESHAREROOMSOURCE__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( SOURCESHAREROOMSOURCE__AnalogSerialOutput__ + i, SOURCESHAREROOMSOURCE[i+1] );
            }

            ROOMICONSOUT = new InOutArray<AnalogOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMICONSOUT[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( ROOMICONSOUT__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( ROOMICONSOUT__AnalogSerialOutput__ + i, ROOMICONSOUT[i+1] );
            }

            SOURCESHAREICONSOUT = new InOutArray<AnalogOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCESHAREICONSOUT[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( SOURCESHAREICONSOUT__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( SOURCESHAREICONSOUT__AnalogSerialOutput__ + i, SOURCESHAREICONSOUT[i+1] );
            }

            ROOMNAMEIN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMNAMEIN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( ROOMNAMEIN__DOLLAR____AnalogSerialInput__ + i, ROOMNAMEIN__DOLLAR____AnalogSerialInput__, 32, this );
            m_StringInputList.Add( ROOMNAMEIN__DOLLAR____AnalogSerialInput__ + i, ROOMNAMEIN__DOLLAR__[i+1] );
            }

            CURRENTROOM__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( CURRENTROOM__DOLLAR____AnalogSerialOutput__, this );
            m_StringOutputList.Add( CURRENTROOM__DOLLAR____AnalogSerialOutput__, CURRENTROOM__DOLLAR__ );

            ROOMNAMEOUT__DOLLAR__ = new InOutArray<StringOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMNAMEOUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( ROOMNAMEOUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( ROOMNAMEOUT__DOLLAR____AnalogSerialOutput__ + i, ROOMNAMEOUT__DOLLAR__[i+1] );
            }

            SOURCESHAREROOMNAMEOUT__DOLLAR__ = new InOutArray<StringOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCESHAREROOMNAMEOUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( SOURCESHAREROOMNAMEOUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( SOURCESHAREROOMNAMEOUT__DOLLAR____AnalogSerialOutput__ + i, SOURCESHAREROOMNAMEOUT__DOLLAR__[i+1] );
            }

            SYSTEMINITIALIZED.OnDigitalPush.Add( new InputChangeHandlerWrapper( SYSTEMINITIALIZED_OnPush_0, false ) );
            SELECTEDROOM.OnAnalogChange.Add( new InputChangeHandlerWrapper( SELECTEDROOM_OnChange_1, false ) );
            for( uint i = 0; i < 24; i++ )
            ROOMLINESELECTED[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( ROOMLINESELECTED_OnPush_2, false ) );

            for( uint i = 0; i < 24; i++ )
            SOURCESHARELINESELECTED[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( SOURCESHARELINESELECTED_OnPush_3, false ) );

            for( uint i = 0; i < 24; i++ )
            ROOMSOURCE[i+1].OnAnalogChange.Add( new InputChangeHandlerWrapper( ROOMSOURCE_OnChange_4, false ) );

            ONSOURCESHARINGPAGE.OnDigitalPush.Add( new InputChangeHandlerWrapper( ONSOURCESHARINGPAGE_OnPush_5, false ) );

            _SplusNVRAM.PopulateCustomAttributeList( true );

            NVRAM = _SplusNVRAM;
        }
Example #14
0
        public override void LogosSplusInitialize()
        {
            _SplusNVRAM = new SplusNVRAM(this);

            INIT = new Crestron.Logos.SplusObjects.DigitalInput(INIT__DigitalInput__, this);
            m_DigitalInputList.Add(INIT__DigitalInput__, INIT);

            READ = new Crestron.Logos.SplusObjects.DigitalInput(READ__DigitalInput__, this);
            m_DigitalInputList.Add(READ__DigitalInput__, READ);

            WRITE = new Crestron.Logos.SplusObjects.DigitalInput(WRITE__DigitalInput__, this);
            m_DigitalInputList.Add(WRITE__DigitalInput__, WRITE);

            D_IN = new InOutArray <DigitalInput>(300, this);
            for (uint i = 0; i < 300; i++)
            {
                D_IN[i + 1] = new Crestron.Logos.SplusObjects.DigitalInput(D_IN__DigitalInput__ + i, D_IN__DigitalInput__, this);
                m_DigitalInputList.Add(D_IN__DigitalInput__ + i, D_IN[i + 1]);
            }

            D_OUT = new InOutArray <DigitalOutput>(300, this);
            for (uint i = 0; i < 300; i++)
            {
                D_OUT[i + 1] = new Crestron.Logos.SplusObjects.DigitalOutput(D_OUT__DigitalOutput__ + i, this);
                m_DigitalOutputList.Add(D_OUT__DigitalOutput__ + i, D_OUT[i + 1]);
            }

            A_IN = new InOutArray <AnalogInput>(24, this);
            for (uint i = 0; i < 24; i++)
            {
                A_IN[i + 1] = new Crestron.Logos.SplusObjects.AnalogInput(A_IN__AnalogSerialInput__ + i, A_IN__AnalogSerialInput__, this);
                m_AnalogInputList.Add(A_IN__AnalogSerialInput__ + i, A_IN[i + 1]);
            }

            A_OUT = new InOutArray <AnalogOutput>(24, this);
            for (uint i = 0; i < 24; i++)
            {
                A_OUT[i + 1] = new Crestron.Logos.SplusObjects.AnalogOutput(A_OUT__AnalogSerialOutput__ + i, this);
                m_AnalogOutputList.Add(A_OUT__AnalogSerialOutput__ + i, A_OUT[i + 1]);
            }

            S_IN = new InOutArray <StringInput>(100, this);
            for (uint i = 0; i < 100; i++)
            {
                S_IN[i + 1] = new Crestron.Logos.SplusObjects.StringInput(S_IN__AnalogSerialInput__ + i, S_IN__AnalogSerialInput__, 255, this);
                m_StringInputList.Add(S_IN__AnalogSerialInput__ + i, S_IN[i + 1]);
            }

            S_OUT = new InOutArray <StringOutput>(100, this);
            for (uint i = 0; i < 100; i++)
            {
                S_OUT[i + 1] = new Crestron.Logos.SplusObjects.StringOutput(S_OUT__AnalogSerialOutput__ + i, this);
                m_StringOutputList.Add(S_OUT__AnalogSerialOutput__ + i, S_OUT[i + 1]);
            }

            TSTAT_ID = new UShortParameter(TSTAT_ID__Parameter__, this);
            m_ParameterList.Add(TSTAT_ID__Parameter__, TSTAT_ID);

            ACCESS_LEVEL = new UShortParameter(ACCESS_LEVEL__Parameter__, this);
            m_ParameterList.Add(ACCESS_LEVEL__Parameter__, ACCESS_LEVEL);

            TSTAT_NAME = new StringParameter(TSTAT_NAME__Parameter__, this);
            m_ParameterList.Add(TSTAT_NAME__Parameter__, TSTAT_NAME);

            FILE_NAME__DOLLAR__ = new StringParameter(FILE_NAME__DOLLAR____Parameter__, this);
            m_ParameterList.Add(FILE_NAME__DOLLAR____Parameter__, FILE_NAME__DOLLAR__);

            READ_AT_BOOTUP = new StringParameter(READ_AT_BOOTUP__Parameter__, this);
            m_ParameterList.Add(READ_AT_BOOTUP__Parameter__, READ_AT_BOOTUP);


            INIT.OnDigitalPush.Add(new InputChangeHandlerWrapper(INIT_OnPush_0, true));
            READ.OnDigitalPush.Add(new InputChangeHandlerWrapper(READ_OnPush_1, true));
            WRITE.OnDigitalPush.Add(new InputChangeHandlerWrapper(WRITE_OnPush_2, true));
            for (uint i = 0; i < 300; i++)
            {
                D_IN[i + 1].OnDigitalChange.Add(new InputChangeHandlerWrapper(D_IN_OnChange_3, false));
            }

            for (uint i = 0; i < 24; i++)
            {
                A_IN[i + 1].OnAnalogChange.Add(new InputChangeHandlerWrapper(A_IN_OnChange_4, false));
            }

            for (uint i = 0; i < 100; i++)
            {
                S_IN[i + 1].OnSerialChange.Add(new InputChangeHandlerWrapper(S_IN_OnChange_5, false));
            }


            _SplusNVRAM.PopulateCustomAttributeList(true);

            NVRAM = _SplusNVRAM;
        }
        public override void LogosSplusInitialize()
        {
            SocketInfo __socketinfo__ = new SocketInfo(1, this);

            InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
            _SplusNVRAM = new SplusNVRAM(this);

            INITILIZEFILESYSTEM = new Crestron.Logos.SplusObjects.DigitalInput(INITILIZEFILESYSTEM__DigitalInput__, this);
            m_DigitalInputList.Add(INITILIZEFILESYSTEM__DigitalInput__, INITILIZEFILESYSTEM);

            ADDNAME = new Crestron.Logos.SplusObjects.DigitalInput(ADDNAME__DigitalInput__, this);
            m_DigitalInputList.Add(ADDNAME__DigitalInput__, ADDNAME);

            REMOVENAME = new Crestron.Logos.SplusObjects.DigitalInput(REMOVENAME__DigitalInput__, this);
            m_DigitalInputList.Add(REMOVENAME__DigitalInput__, REMOVENAME);

            REFRESHLIST = new Crestron.Logos.SplusObjects.DigitalInput(REFRESHLIST__DigitalInput__, this);
            m_DigitalInputList.Add(REFRESHLIST__DigitalInput__, REFRESHLIST);

            FETCHNAME = new Crestron.Logos.SplusObjects.DigitalInput(FETCHNAME__DigitalInput__, this);
            m_DigitalInputList.Add(FETCHNAME__DigitalInput__, FETCHNAME);

            BUSY = new Crestron.Logos.SplusObjects.DigitalOutput(BUSY__DigitalOutput__, this);
            m_DigitalOutputList.Add(BUSY__DigitalOutput__, BUSY);

            LISTLENGHT = new Crestron.Logos.SplusObjects.AnalogOutput(LISTLENGHT__AnalogSerialOutput__, this);
            m_AnalogOutputList.Add(LISTLENGHT__AnalogSerialOutput__, LISTLENGHT);

            SEARCHNAME__DOLLAR__ = new Crestron.Logos.SplusObjects.StringInput(SEARCHNAME__DOLLAR____AnalogSerialInput__, 50, this);
            m_StringInputList.Add(SEARCHNAME__DOLLAR____AnalogSerialInput__, SEARCHNAME__DOLLAR__);

            ADDNAME__DOLLAR__ = new Crestron.Logos.SplusObjects.StringInput(ADDNAME__DOLLAR____AnalogSerialInput__, 50, this);
            m_StringInputList.Add(ADDNAME__DOLLAR____AnalogSerialInput__, ADDNAME__DOLLAR__);

            ADDDESCRIPTION__DOLLAR__ = new Crestron.Logos.SplusObjects.StringInput(ADDDESCRIPTION__DOLLAR____AnalogSerialInput__, 254, this);
            m_StringInputList.Add(ADDDESCRIPTION__DOLLAR____AnalogSerialInput__, ADDDESCRIPTION__DOLLAR__);

            ADDCOMMAND__DOLLAR__ = new Crestron.Logos.SplusObjects.StringInput(ADDCOMMAND__DOLLAR____AnalogSerialInput__, 150, this);
            m_StringInputList.Add(ADDCOMMAND__DOLLAR____AnalogSerialInput__, ADDCOMMAND__DOLLAR__);

            NAME__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput(NAME__DOLLAR____AnalogSerialOutput__, this);
            m_StringOutputList.Add(NAME__DOLLAR____AnalogSerialOutput__, NAME__DOLLAR__);

            DESCRIPTION__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput(DESCRIPTION__DOLLAR____AnalogSerialOutput__, this);
            m_StringOutputList.Add(DESCRIPTION__DOLLAR____AnalogSerialOutput__, DESCRIPTION__DOLLAR__);

            COMMAND__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput(COMMAND__DOLLAR____AnalogSerialOutput__, this);
            m_StringOutputList.Add(COMMAND__DOLLAR____AnalogSerialOutput__, COMMAND__DOLLAR__);

            FILEPATH__DOLLAR__ = new StringParameter(FILEPATH__DOLLAR____Parameter__, this);
            m_ParameterList.Add(FILEPATH__DOLLAR____Parameter__, FILEPATH__DOLLAR__);


            ADDNAME.OnDigitalPush.Add(new InputChangeHandlerWrapper(ADDNAME_OnPush_0, false));
            ADDNAME.OnDigitalRelease.Add(new InputChangeHandlerWrapper(ADDNAME_OnRelease_1, false));
            REMOVENAME.OnDigitalPush.Add(new InputChangeHandlerWrapper(REMOVENAME_OnPush_2, false));
            REMOVENAME.OnDigitalRelease.Add(new InputChangeHandlerWrapper(REMOVENAME_OnRelease_3, false));
            REFRESHLIST.OnDigitalPush.Add(new InputChangeHandlerWrapper(REFRESHLIST_OnPush_4, false));
            INITILIZEFILESYSTEM.OnDigitalPush.Add(new InputChangeHandlerWrapper(INITILIZEFILESYSTEM_OnPush_5, false));
            FETCHNAME.OnDigitalPush.Add(new InputChangeHandlerWrapper(FETCHNAME_OnPush_6, false));

            _SplusNVRAM.PopulateCustomAttributeList(true);

            NVRAM = _SplusNVRAM;
        }
public override void LogosSplusInitialize()
{
    SocketInfo __socketinfo__ = new SocketInfo( 1, this );
    InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
    _SplusNVRAM = new SplusNVRAM( this );
    _SplusNVRAM.TEMPSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 40, this );
    _SplusNVRAM.STATEVARIABLE  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 2, this );
    
    SUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( SUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( SUBSCRIBE__DOLLAR____DigitalInput__, SUBSCRIBE__DOLLAR__ );
    
    UNSUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( UNSUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( UNSUBSCRIBE__DOLLAR____DigitalInput__, UNSUBSCRIBE__DOLLAR__ );
    
    VALUE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( VALUE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( VALUE__DOLLAR____AnalogSerialInput__, VALUE__DOLLAR__ );
    
    STATEVARIABLE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( STATEVARIABLE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( STATEVARIABLE__DOLLAR____AnalogSerialInput__, STATEVARIABLE__DOLLAR__ );
    
    VALUE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( VALUE_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( VALUE_FB__DOLLAR____AnalogSerialOutput__, VALUE_FB__DOLLAR__ );
    
    OBJECTID__DOLLAR__ = new Crestron.Logos.SplusObjects.StringInput( OBJECTID__DOLLAR____AnalogSerialInput__, 3, this );
    m_StringInputList.Add( OBJECTID__DOLLAR____AnalogSerialInput__, OBJECTID__DOLLAR__ );
    
    TX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TX__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( TX__DOLLAR____AnalogSerialOutput__, TX__DOLLAR__ );
    
    RX__DOLLAR__ = new Crestron.Logos.SplusObjects.BufferInput( RX__DOLLAR____AnalogSerialInput__, 400, this );
    m_StringInputList.Add( RX__DOLLAR____AnalogSerialInput__, RX__DOLLAR__ );
    
    __SPLS_TMPVAR__WAITLABEL_0___Callback = new WaitFunction( __SPLS_TMPVAR__WAITLABEL_0___CallbackFn );
    
    STATEVARIABLE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( STATEVARIABLE__DOLLAR___OnChange_0, false ) );
    VALUE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( VALUE__DOLLAR___OnChange_1, false ) );
    SUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( SUBSCRIBE__DOLLAR___OnPush_2, false ) );
    UNSUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( UNSUBSCRIBE__DOLLAR___OnPush_3, false ) );
    RX__DOLLAR__.OnSerialChange.Add( new InputChangeHandlerWrapper( RX__DOLLAR___OnChange_4, false ) );
    
    _SplusNVRAM.PopulateCustomAttributeList( true );
    
    NVRAM = _SplusNVRAM;
    
}
        public override void LogosSplusInitialize()
        {
            _SplusNVRAM = new SplusNVRAM( this );
            SOURCESHAREROOMMAP  = new ushort[ 25 ];

            SYSTEMINITIALIZED = new Crestron.Logos.SplusObjects.DigitalInput( SYSTEMINITIALIZED__DigitalInput__, this );
            m_DigitalInputList.Add( SYSTEMINITIALIZED__DigitalInput__, SYSTEMINITIALIZED );

            SCROLLFIRST = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLFIRST__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLFIRST__DigitalInput__, SCROLLFIRST );

            SCROLLLAST = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLLAST__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLLAST__DigitalInput__, SCROLLLAST );

            SCROLLPREVIOUS = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLPREVIOUS__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLPREVIOUS__DigitalInput__, SCROLLPREVIOUS );

            SCROLLNEXT = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLNEXT__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLNEXT__DigitalInput__, SCROLLNEXT );

            SCROLLLINEUP = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLLINEUP__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLLINEUP__DigitalInput__, SCROLLLINEUP );

            SCROLLLINEDOWN = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLLINEDOWN__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLLINEDOWN__DigitalInput__, SCROLLLINEDOWN );

            SCROLLSELECT = new Crestron.Logos.SplusObjects.DigitalInput( SCROLLSELECT__DigitalInput__, this );
            m_DigitalInputList.Add( SCROLLSELECT__DigitalInput__, SCROLLSELECT );

            PREVENTSCROLLSELECT = new Crestron.Logos.SplusObjects.DigitalInput( PREVENTSCROLLSELECT__DigitalInput__, this );
            m_DigitalInputList.Add( PREVENTSCROLLSELECT__DigitalInput__, PREVENTSCROLLSELECT );

            ONROOMSELECTPAGE = new Crestron.Logos.SplusObjects.DigitalInput( ONROOMSELECTPAGE__DigitalInput__, this );
            m_DigitalInputList.Add( ONROOMSELECTPAGE__DigitalInput__, ONROOMSELECTPAGE );

            ONSOURCESHARINGPAGE = new Crestron.Logos.SplusObjects.DigitalInput( ONSOURCESHARINGPAGE__DigitalInput__, this );
            m_DigitalInputList.Add( ONSOURCESHARINGPAGE__DigitalInput__, ONSOURCESHARINGPAGE );

            COMBINEROOMANDSOURCENAMES = new Crestron.Logos.SplusObjects.DigitalInput( COMBINEROOMANDSOURCENAMES__DigitalInput__, this );
            m_DigitalInputList.Add( COMBINEROOMANDSOURCENAMES__DigitalInput__, COMBINEROOMANDSOURCENAMES );

            SOURCESHAREALL = new Crestron.Logos.SplusObjects.DigitalInput( SOURCESHAREALL__DigitalInput__, this );
            m_DigitalInputList.Add( SOURCESHAREALL__DigitalInput__, SOURCESHAREALL );

            OMNIVOLUMEACTIVE = new Crestron.Logos.SplusObjects.DigitalInput( OMNIVOLUMEACTIVE__DigitalInput__, this );
            m_DigitalInputList.Add( OMNIVOLUMEACTIVE__DigitalInput__, OMNIVOLUMEACTIVE );

            HIGHLIGHTEDVOLUMEUP = new Crestron.Logos.SplusObjects.DigitalInput( HIGHLIGHTEDVOLUMEUP__DigitalInput__, this );
            m_DigitalInputList.Add( HIGHLIGHTEDVOLUMEUP__DigitalInput__, HIGHLIGHTEDVOLUMEUP );

            HIGHLIGHTEDVOLUMEDOWN = new Crestron.Logos.SplusObjects.DigitalInput( HIGHLIGHTEDVOLUMEDOWN__DigitalInput__, this );
            m_DigitalInputList.Add( HIGHLIGHTEDVOLUMEDOWN__DigitalInput__, HIGHLIGHTEDVOLUMEDOWN );

            ITEMSELECTED = new InOutArray<DigitalInput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            ITEMSELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( ITEMSELECTED__DigitalInput__ + i, ITEMSELECTED__DigitalInput__, this );
            m_DigitalInputList.Add( ITEMSELECTED__DigitalInput__ + i, ITEMSELECTED[i+1] );
            }

            ROOMDISABLED = new InOutArray<DigitalInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMDISABLED[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( ROOMDISABLED__DigitalInput__ + i, ROOMDISABLED__DigitalInput__, this );
            m_DigitalInputList.Add( ROOMDISABLED__DigitalInput__ + i, ROOMDISABLED[i+1] );
            }

            ROOMFIXEDMODEON = new InOutArray<DigitalInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMFIXEDMODEON[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( ROOMFIXEDMODEON__DigitalInput__ + i, ROOMFIXEDMODEON__DigitalInput__, this );
            m_DigitalInputList.Add( ROOMFIXEDMODEON__DigitalInput__ + i, ROOMFIXEDMODEON[i+1] );
            }

            LINEVOLUMEUP = new InOutArray<DigitalInput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            LINEVOLUMEUP[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( LINEVOLUMEUP__DigitalInput__ + i, LINEVOLUMEUP__DigitalInput__, this );
            m_DigitalInputList.Add( LINEVOLUMEUP__DigitalInput__ + i, LINEVOLUMEUP[i+1] );
            }

            LINEVOLUMEDOWN = new InOutArray<DigitalInput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            LINEVOLUMEDOWN[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( LINEVOLUMEDOWN__DigitalInput__ + i, LINEVOLUMEDOWN__DigitalInput__, this );
            m_DigitalInputList.Add( LINEVOLUMEDOWN__DigitalInput__ + i, LINEVOLUMEDOWN[i+1] );
            }

            SHOWSCROLLCONTROLS = new Crestron.Logos.SplusObjects.DigitalOutput( SHOWSCROLLCONTROLS__DigitalOutput__, this );
            m_DigitalOutputList.Add( SHOWSCROLLCONTROLS__DigitalOutput__, SHOWSCROLLCONTROLS );

            SHOWSECONDARYSUBPAGES = new Crestron.Logos.SplusObjects.DigitalOutput( SHOWSECONDARYSUBPAGES__DigitalOutput__, this );
            m_DigitalOutputList.Add( SHOWSECONDARYSUBPAGES__DigitalOutput__, SHOWSECONDARYSUBPAGES );

            ITEMSELECTEDFB = new InOutArray<DigitalOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            ITEMSELECTEDFB[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( ITEMSELECTEDFB__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( ITEMSELECTEDFB__DigitalOutput__ + i, ITEMSELECTEDFB[i+1] );
            }

            LINECHECKEDFB = new InOutArray<DigitalOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            LINECHECKEDFB[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( LINECHECKEDFB__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( LINECHECKEDFB__DigitalOutput__ + i, LINECHECKEDFB[i+1] );
            }

            ROOMSELECTED = new InOutArray<DigitalOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMSELECTED[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( ROOMSELECTED__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( ROOMSELECTED__DigitalOutput__ + i, ROOMSELECTED[i+1] );
            }

            SCROLLHIGHLIGHTFB = new InOutArray<DigitalOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            SCROLLHIGHLIGHTFB[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SCROLLHIGHLIGHTFB__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( SCROLLHIGHLIGHTFB__DigitalOutput__ + i, SCROLLHIGHLIGHTFB[i+1] );
            }

            SHOWLINE = new InOutArray<DigitalOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            SHOWLINE[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SHOWLINE__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( SHOWLINE__DigitalOutput__ + i, SHOWLINE[i+1] );
            }

            LINEVALID = new InOutArray<DigitalOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            LINEVALID[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( LINEVALID__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( LINEVALID__DigitalOutput__ + i, LINEVALID[i+1] );
            }

            SHOWLINEOMNIVOLUME = new InOutArray<DigitalOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            SHOWLINEOMNIVOLUME[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SHOWLINEOMNIVOLUME__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( SHOWLINEOMNIVOLUME__DigitalOutput__ + i, SHOWLINEOMNIVOLUME[i+1] );
            }

            OMNIVOLUMEUP = new InOutArray<DigitalOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            OMNIVOLUMEUP[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( OMNIVOLUMEUP__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( OMNIVOLUMEUP__DigitalOutput__ + i, OMNIVOLUMEUP[i+1] );
            }

            OMNIVOLUMEDOWN = new InOutArray<DigitalOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            OMNIVOLUMEDOWN[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( OMNIVOLUMEDOWN__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( OMNIVOLUMEDOWN__DigitalOutput__ + i, OMNIVOLUMEDOWN[i+1] );
            }

            SCROLLPAGESIZE = new Crestron.Logos.SplusObjects.AnalogInput( SCROLLPAGESIZE__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SCROLLPAGESIZE__AnalogSerialInput__, SCROLLPAGESIZE );

            SELECTEDROOM = new Crestron.Logos.SplusObjects.AnalogInput( SELECTEDROOM__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SELECTEDROOM__AnalogSerialInput__, SELECTEDROOM );

            SOURCESHAREEXCLUDEDROOM = new Crestron.Logos.SplusObjects.AnalogInput( SOURCESHAREEXCLUDEDROOM__AnalogSerialInput__, this );
            m_AnalogInputList.Add( SOURCESHAREEXCLUDEDROOM__AnalogSerialInput__, SOURCESHAREEXCLUDEDROOM );

            LISTPOSITION = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            LISTPOSITION[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( LISTPOSITION__AnalogSerialInput__ + i, LISTPOSITION__AnalogSerialInput__, this );
            m_AnalogInputList.Add( LISTPOSITION__AnalogSerialInput__ + i, LISTPOSITION[i+1] );
            }

            ROOMSOURCE = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMSOURCE[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( ROOMSOURCE__AnalogSerialInput__ + i, ROOMSOURCE__AnalogSerialInput__, this );
            m_AnalogInputList.Add( ROOMSOURCE__AnalogSerialInput__ + i, ROOMSOURCE[i+1] );
            }

            ROOMICONSIN = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMICONSIN[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( ROOMICONSIN__AnalogSerialInput__ + i, ROOMICONSIN__AnalogSerialInput__, this );
            m_AnalogInputList.Add( ROOMICONSIN__AnalogSerialInput__ + i, ROOMICONSIN[i+1] );
            }

            ROOMVOLUMEFB = new InOutArray<AnalogInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMVOLUMEFB[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( ROOMVOLUMEFB__AnalogSerialInput__ + i, ROOMVOLUMEFB__AnalogSerialInput__, this );
            m_AnalogInputList.Add( ROOMVOLUMEFB__AnalogSerialInput__ + i, ROOMVOLUMEFB[i+1] );
            }

            SCROLLBAR = new Crestron.Logos.SplusObjects.AnalogOutput( SCROLLBAR__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( SCROLLBAR__AnalogSerialOutput__, SCROLLBAR );

            SOURCESHAREROOMSOURCE = new InOutArray<AnalogOutput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCESHAREROOMSOURCE[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( SOURCESHAREROOMSOURCE__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( SOURCESHAREROOMSOURCE__AnalogSerialOutput__ + i, SOURCESHAREROOMSOURCE[i+1] );
            }

            ACTIVEBUTTONMODE = new InOutArray<AnalogOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            ACTIVEBUTTONMODE[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( ACTIVEBUTTONMODE__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( ACTIVEBUTTONMODE__AnalogSerialOutput__ + i, ACTIVEBUTTONMODE[i+1] );
            }

            INACTIVEBUTTONMODE = new InOutArray<AnalogOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            INACTIVEBUTTONMODE[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( INACTIVEBUTTONMODE__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( INACTIVEBUTTONMODE__AnalogSerialOutput__ + i, INACTIVEBUTTONMODE[i+1] );
            }

            ROOMICONSOUT = new InOutArray<AnalogOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            ROOMICONSOUT[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( ROOMICONSOUT__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( ROOMICONSOUT__AnalogSerialOutput__ + i, ROOMICONSOUT[i+1] );
            }

            LINEVOLUMEFB = new InOutArray<AnalogOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            LINEVOLUMEFB[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( LINEVOLUMEFB__AnalogSerialOutput__ + i, this );
            m_AnalogOutputList.Add( LINEVOLUMEFB__AnalogSerialOutput__ + i, LINEVOLUMEFB[i+1] );
            }

            ROOMNAMEIN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            ROOMNAMEIN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( ROOMNAMEIN__DOLLAR____AnalogSerialInput__ + i, ROOMNAMEIN__DOLLAR____AnalogSerialInput__, 32, this );
            m_StringInputList.Add( ROOMNAMEIN__DOLLAR____AnalogSerialInput__ + i, ROOMNAMEIN__DOLLAR__[i+1] );
            }

            SOURCENAMEIN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            SOURCENAMEIN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( SOURCENAMEIN__DOLLAR____AnalogSerialInput__ + i, SOURCENAMEIN__DOLLAR____AnalogSerialInput__, 32, this );
            m_StringInputList.Add( SOURCENAMEIN__DOLLAR____AnalogSerialInput__ + i, SOURCENAMEIN__DOLLAR__[i+1] );
            }

            NOWPLAYINGLINE1IN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NOWPLAYINGLINE1IN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( NOWPLAYINGLINE1IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE1IN__DOLLAR____AnalogSerialInput__, 100, this );
            m_StringInputList.Add( NOWPLAYINGLINE1IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE1IN__DOLLAR__[i+1] );
            }

            NOWPLAYINGLINE2IN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NOWPLAYINGLINE2IN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( NOWPLAYINGLINE2IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE2IN__DOLLAR____AnalogSerialInput__, 100, this );
            m_StringInputList.Add( NOWPLAYINGLINE2IN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGLINE2IN__DOLLAR__[i+1] );
            }

            NOWPLAYINGTRANSPORTIN__DOLLAR__ = new InOutArray<StringInput>( 24, this );
            for( uint i = 0; i < 24; i++ )
            {
            NOWPLAYINGTRANSPORTIN__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringInput( NOWPLAYINGTRANSPORTIN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGTRANSPORTIN__DOLLAR____AnalogSerialInput__, 1, this );
            m_StringInputList.Add( NOWPLAYINGTRANSPORTIN__DOLLAR____AnalogSerialInput__ + i, NOWPLAYINGTRANSPORTIN__DOLLAR__[i+1] );
            }

            CURRENTROOM__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( CURRENTROOM__DOLLAR____AnalogSerialOutput__, this );
            m_StringOutputList.Add( CURRENTROOM__DOLLAR____AnalogSerialOutput__, CURRENTROOM__DOLLAR__ );

            ROOMNAMEOUT__DOLLAR__ = new InOutArray<StringOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            ROOMNAMEOUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( ROOMNAMEOUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( ROOMNAMEOUT__DOLLAR____AnalogSerialOutput__ + i, ROOMNAMEOUT__DOLLAR__[i+1] );
            }

            SOURCENAMEOUT__DOLLAR__ = new InOutArray<StringOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            SOURCENAMEOUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( SOURCENAMEOUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( SOURCENAMEOUT__DOLLAR____AnalogSerialOutput__ + i, SOURCENAMEOUT__DOLLAR__[i+1] );
            }

            NOWPLAYINGLINE1OUT__DOLLAR__ = new InOutArray<StringOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            NOWPLAYINGLINE1OUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( NOWPLAYINGLINE1OUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( NOWPLAYINGLINE1OUT__DOLLAR____AnalogSerialOutput__ + i, NOWPLAYINGLINE1OUT__DOLLAR__[i+1] );
            }

            NOWPLAYINGLINE2OUT__DOLLAR__ = new InOutArray<StringOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            NOWPLAYINGLINE2OUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( NOWPLAYINGLINE2OUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( NOWPLAYINGLINE2OUT__DOLLAR____AnalogSerialOutput__ + i, NOWPLAYINGLINE2OUT__DOLLAR__[i+1] );
            }

            NOWPLAYINGTRANSPORTOUT__DOLLAR__ = new InOutArray<StringOutput>( 5, this );
            for( uint i = 0; i < 5; i++ )
            {
            NOWPLAYINGTRANSPORTOUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.StringOutput( NOWPLAYINGTRANSPORTOUT__DOLLAR____AnalogSerialOutput__ + i, this );
            m_StringOutputList.Add( NOWPLAYINGTRANSPORTOUT__DOLLAR____AnalogSerialOutput__ + i, NOWPLAYINGTRANSPORTOUT__DOLLAR__[i+1] );
            }

            SYSTEMINITIALIZED.OnDigitalPush.Add( new InputChangeHandlerWrapper( SYSTEMINITIALIZED_OnPush_0, false ) );
            SCROLLFIRST.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLFIRST_OnPush_1, false ) );
            SCROLLLAST.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLLAST_OnPush_2, false ) );
            SCROLLNEXT.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLNEXT_OnPush_3, false ) );
            SCROLLPREVIOUS.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLPREVIOUS_OnPush_4, false ) );
            SCROLLLINEUP.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLLINEUP_OnPush_5, false ) );
            SCROLLLINEDOWN.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLLINEDOWN_OnPush_6, false ) );
            SCROLLSELECT.OnDigitalPush.Add( new InputChangeHandlerWrapper( SCROLLSELECT_OnPush_7, false ) );
            for( uint i = 0; i < 5; i++ )
            ITEMSELECTED[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( ITEMSELECTED_OnPush_8, false ) );

            for( uint i = 0; i < 24; i++ )
            NOWPLAYINGLINE1IN__DOLLAR__[i+1].OnSerialChange.Add( new InputChangeHandlerWrapper( NOWPLAYINGLINE1IN__DOLLAR___OnChange_9, false ) );

            for( uint i = 0; i < 24; i++ )
            NOWPLAYINGLINE2IN__DOLLAR__[i+1].OnSerialChange.Add( new InputChangeHandlerWrapper( NOWPLAYINGLINE2IN__DOLLAR___OnChange_10, false ) );

            for( uint i = 0; i < 24; i++ )
            NOWPLAYINGTRANSPORTIN__DOLLAR__[i+1].OnSerialChange.Add( new InputChangeHandlerWrapper( NOWPLAYINGTRANSPORTIN__DOLLAR___OnChange_11, false ) );

            for( uint i = 0; i < 24; i++ )
            ROOMSOURCE[i+1].OnAnalogChange.Add( new InputChangeHandlerWrapper( ROOMSOURCE_OnChange_12, false ) );

            SELECTEDROOM.OnAnalogChange.Add( new InputChangeHandlerWrapper( SELECTEDROOM_OnChange_13, false ) );
            ONROOMSELECTPAGE.OnDigitalPush.Add( new InputChangeHandlerWrapper( ONROOMSELECTPAGE_OnPush_14, false ) );
            ONROOMSELECTPAGE.OnDigitalRelease.Add( new InputChangeHandlerWrapper( ONROOMSELECTPAGE_OnRelease_15, false ) );
            ONSOURCESHARINGPAGE.OnDigitalPush.Add( new InputChangeHandlerWrapper( ONSOURCESHARINGPAGE_OnPush_16, false ) );
            SOURCESHAREALL.OnDigitalPush.Add( new InputChangeHandlerWrapper( SOURCESHAREALL_OnPush_17, false ) );
            for( uint i = 0; i < 5; i++ )
            LINEVOLUMEUP[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( LINEVOLUMEUP_OnPush_18, false ) );

            for( uint i = 0; i < 5; i++ )
            LINEVOLUMEUP[i+1].OnDigitalRelease.Add( new InputChangeHandlerWrapper( LINEVOLUMEUP_OnRelease_19, false ) );

            for( uint i = 0; i < 5; i++ )
            LINEVOLUMEDOWN[i+1].OnDigitalPush.Add( new InputChangeHandlerWrapper( LINEVOLUMEDOWN_OnPush_20, false ) );

            for( uint i = 0; i < 5; i++ )
            LINEVOLUMEDOWN[i+1].OnDigitalRelease.Add( new InputChangeHandlerWrapper( LINEVOLUMEDOWN_OnRelease_21, false ) );

            HIGHLIGHTEDVOLUMEUP.OnDigitalPush.Add( new InputChangeHandlerWrapper( HIGHLIGHTEDVOLUMEUP_OnPush_22, false ) );
            HIGHLIGHTEDVOLUMEUP.OnDigitalRelease.Add( new InputChangeHandlerWrapper( HIGHLIGHTEDVOLUMEUP_OnRelease_23, false ) );
            HIGHLIGHTEDVOLUMEDOWN.OnDigitalPush.Add( new InputChangeHandlerWrapper( HIGHLIGHTEDVOLUMEDOWN_OnPush_24, false ) );
            HIGHLIGHTEDVOLUMEDOWN.OnDigitalRelease.Add( new InputChangeHandlerWrapper( HIGHLIGHTEDVOLUMEDOWN_OnRelease_25, false ) );
            OMNIVOLUMEACTIVE.OnDigitalPush.Add( new InputChangeHandlerWrapper( OMNIVOLUMEACTIVE_OnPush_26, false ) );
            for( uint i = 0; i < 24; i++ )
            ROOMFIXEDMODEON[i+1].OnDigitalChange.Add( new InputChangeHandlerWrapper( ROOMFIXEDMODEON_OnChange_27, false ) );

            for( uint i = 0; i < 24; i++ )
            ROOMVOLUMEFB[i+1].OnAnalogChange.Add( new InputChangeHandlerWrapper( ROOMVOLUMEFB_OnChange_28, false ) );

            _SplusNVRAM.PopulateCustomAttributeList( true );

            NVRAM = _SplusNVRAM;
        }
        public override void LogosSplusInitialize()
        {
            _SplusNVRAM = new SplusNVRAM( this );

            DEBUG = new Crestron.Logos.SplusObjects.DigitalInput( DEBUG__DigitalInput__, this );
            m_DigitalInputList.Add( DEBUG__DigitalInput__, DEBUG );

            SETSIGNAL = new InOutArray<DigitalInput>( 20, this );
            for( uint i = 0; i < 20; i++ )
            {
            SETSIGNAL[i+1] = new Crestron.Logos.SplusObjects.DigitalInput( SETSIGNAL__DigitalInput__ + i, SETSIGNAL__DigitalInput__, this );
            m_DigitalInputList.Add( SETSIGNAL__DigitalInput__ + i, SETSIGNAL[i+1] );
            }

            SIGNALCONFIGURED = new InOutArray<DigitalOutput>( 20, this );
            for( uint i = 0; i < 20; i++ )
            {
            SIGNALCONFIGURED[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SIGNALCONFIGURED__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( SIGNALCONFIGURED__DigitalOutput__ + i, SIGNALCONFIGURED[i+1] );
            }

            SIGNALACTIVE = new InOutArray<DigitalOutput>( 20, this );
            for( uint i = 0; i < 20; i++ )
            {
            SIGNALACTIVE[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( SIGNALACTIVE__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( SIGNALACTIVE__DigitalOutput__ + i, SIGNALACTIVE[i+1] );
            }

            CONNECTED = new Crestron.Logos.SplusObjects.AnalogOutput( CONNECTED__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( CONNECTED__AnalogSerialOutput__, CONNECTED );

            MODULENAME = new Crestron.Logos.SplusObjects.StringInput( MODULENAME__AnalogSerialInput__, 255, this );
            m_StringInputList.Add( MODULENAME__AnalogSerialInput__, MODULENAME );

            SIGNALNAME = new InOutArray<StringInput>( 20, this );
            for( uint i = 0; i < 20; i++ )
            {
            SIGNALNAME[i+1] = new Crestron.Logos.SplusObjects.StringInput( SIGNALNAME__AnalogSerialInput__ + i, SIGNALNAME__AnalogSerialInput__, 255, this );
            m_StringInputList.Add( SIGNALNAME__AnalogSerialInput__ + i, SIGNALNAME[i+1] );
            }

            MODULE_CONTROL_MODE = new UShortParameter( MODULE_CONTROL_MODE__Parameter__, this );
            m_ParameterList.Add( MODULE_CONTROL_MODE__Parameter__, MODULE_CONTROL_MODE );

            DEBUG.OnDigitalPush.Add( new InputChangeHandlerWrapper( DEBUG_OnPush_0, false ) );
            for( uint i = 0; i < 20; i++ )
            SETSIGNAL[i+1].OnDigitalChange.Add( new InputChangeHandlerWrapper( SETSIGNAL_OnChange_1, false ) );

            _SplusNVRAM.PopulateCustomAttributeList( true );

            NVRAM = _SplusNVRAM;
        }
public override void LogosSplusInitialize()
{
    SocketInfo __socketinfo__ = new SocketInfo( 1, this );
    InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
    _SplusNVRAM = new SplusNVRAM( this );
    _SplusNVRAM.TEMPSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 40, this );
    _SplusNVRAM.RETURNSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 4, this );
    
    SUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( SUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( SUBSCRIBE__DOLLAR____DigitalInput__, SUBSCRIBE__DOLLAR__ );
    
    UNSUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( UNSUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( UNSUBSCRIBE__DOLLAR____DigitalInput__, UNSUBSCRIBE__DOLLAR__ );
    
    METER_SUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( METER_SUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( METER_SUBSCRIBE__DOLLAR____DigitalInput__, METER_SUBSCRIBE__DOLLAR__ );
    
    CHANNEL_1_MUTEON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_1_MUTEON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_1_MUTEON__DOLLAR____DigitalInput__, CHANNEL_1_MUTEON__DOLLAR__ );
    
    CHANNEL_1_MUTEOFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_1_MUTEOFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_1_MUTEOFF__DOLLAR____DigitalInput__, CHANNEL_1_MUTEOFF__DOLLAR__ );
    
    CHANNEL_1_MUTETOGGLE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_1_MUTETOGGLE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_1_MUTETOGGLE__DOLLAR____DigitalInput__, CHANNEL_1_MUTETOGGLE__DOLLAR__ );
    
    CHANNEL_2_MUTEON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_2_MUTEON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_2_MUTEON__DOLLAR____DigitalInput__, CHANNEL_2_MUTEON__DOLLAR__ );
    
    CHANNEL_2_MUTEOFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_2_MUTEOFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_2_MUTEOFF__DOLLAR____DigitalInput__, CHANNEL_2_MUTEOFF__DOLLAR__ );
    
    CHANNEL_2_MUTETOGGLE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_2_MUTETOGGLE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_2_MUTETOGGLE__DOLLAR____DigitalInput__, CHANNEL_2_MUTETOGGLE__DOLLAR__ );
    
    CHANNEL_3_MUTEON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_3_MUTEON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_3_MUTEON__DOLLAR____DigitalInput__, CHANNEL_3_MUTEON__DOLLAR__ );
    
    CHANNEL_3_MUTEOFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_3_MUTEOFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_3_MUTEOFF__DOLLAR____DigitalInput__, CHANNEL_3_MUTEOFF__DOLLAR__ );
    
    CHANNEL_3_MUTETOGGLE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_3_MUTETOGGLE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_3_MUTETOGGLE__DOLLAR____DigitalInput__, CHANNEL_3_MUTETOGGLE__DOLLAR__ );
    
    CHANNEL_4_MUTEON__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_4_MUTEON__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_4_MUTEON__DOLLAR____DigitalInput__, CHANNEL_4_MUTEON__DOLLAR__ );
    
    CHANNEL_4_MUTEOFF__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_4_MUTEOFF__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_4_MUTEOFF__DOLLAR____DigitalInput__, CHANNEL_4_MUTEOFF__DOLLAR__ );
    
    CHANNEL_4_MUTETOGGLE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHANNEL_4_MUTETOGGLE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHANNEL_4_MUTETOGGLE__DOLLAR____DigitalInput__, CHANNEL_4_MUTETOGGLE__DOLLAR__ );
    
    CHANNEL_1_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHANNEL_1_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHANNEL_1_MUTE_FB__DOLLAR____DigitalOutput__, CHANNEL_1_MUTE_FB__DOLLAR__ );
    
    CHANNEL_2_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHANNEL_2_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHANNEL_2_MUTE_FB__DOLLAR____DigitalOutput__, CHANNEL_2_MUTE_FB__DOLLAR__ );
    
    CHANNEL_3_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHANNEL_3_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHANNEL_3_MUTE_FB__DOLLAR____DigitalOutput__, CHANNEL_3_MUTE_FB__DOLLAR__ );
    
    CHANNEL_4_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHANNEL_4_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHANNEL_4_MUTE_FB__DOLLAR____DigitalOutput__, CHANNEL_4_MUTE_FB__DOLLAR__ );
    
    CHANNEL_1_REFERENCE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_1_REFERENCE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_1_REFERENCE__DOLLAR____AnalogSerialInput__, CHANNEL_1_REFERENCE__DOLLAR__ );
    
    CHANNEL_1_ATTACK__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_1_ATTACK__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_1_ATTACK__DOLLAR____AnalogSerialInput__, CHANNEL_1_ATTACK__DOLLAR__ );
    
    CHANNEL_1_RELEASE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_1_RELEASE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_1_RELEASE__DOLLAR____AnalogSerialInput__, CHANNEL_1_RELEASE__DOLLAR__ );
    
    CHANNEL_2_REFERENCE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_2_REFERENCE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_2_REFERENCE__DOLLAR____AnalogSerialInput__, CHANNEL_2_REFERENCE__DOLLAR__ );
    
    CHANNEL_2_ATTACK__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_2_ATTACK__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_2_ATTACK__DOLLAR____AnalogSerialInput__, CHANNEL_2_ATTACK__DOLLAR__ );
    
    CHANNEL_2_RELEASE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_2_RELEASE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_2_RELEASE__DOLLAR____AnalogSerialInput__, CHANNEL_2_RELEASE__DOLLAR__ );
    
    CHANNEL_3_REFERENCE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_3_REFERENCE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_3_REFERENCE__DOLLAR____AnalogSerialInput__, CHANNEL_3_REFERENCE__DOLLAR__ );
    
    CHANNEL_3_ATTACK__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_3_ATTACK__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_3_ATTACK__DOLLAR____AnalogSerialInput__, CHANNEL_3_ATTACK__DOLLAR__ );
    
    CHANNEL_3_RELEASE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_3_RELEASE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_3_RELEASE__DOLLAR____AnalogSerialInput__, CHANNEL_3_RELEASE__DOLLAR__ );
    
    CHANNEL_4_REFERENCE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_4_REFERENCE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_4_REFERENCE__DOLLAR____AnalogSerialInput__, CHANNEL_4_REFERENCE__DOLLAR__ );
    
    CHANNEL_4_ATTACK__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_4_ATTACK__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_4_ATTACK__DOLLAR____AnalogSerialInput__, CHANNEL_4_ATTACK__DOLLAR__ );
    
    CHANNEL_4_RELEASE__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHANNEL_4_RELEASE__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHANNEL_4_RELEASE__DOLLAR____AnalogSerialInput__, CHANNEL_4_RELEASE__DOLLAR__ );
    
    CHANNEL_1_METER_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_1_METER_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_1_METER_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_1_METER_FB__DOLLAR__ );
    
    CHANNEL_1_REFERENCE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_1_REFERENCE_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_1_REFERENCE_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_1_REFERENCE_FB__DOLLAR__ );
    
    CHANNEL_1_ATTACK_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_1_ATTACK_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_1_ATTACK_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_1_ATTACK_FB__DOLLAR__ );
    
    CHANNEL_1_RELEASE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_1_RELEASE_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_1_RELEASE_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_1_RELEASE_FB__DOLLAR__ );
    
    CHANNEL_2_METER_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_2_METER_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_2_METER_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_2_METER_FB__DOLLAR__ );
    
    CHANNEL_2_REFERENCE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_2_REFERENCE_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_2_REFERENCE_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_2_REFERENCE_FB__DOLLAR__ );
    
    CHANNEL_2_ATTACK_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_2_ATTACK_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_2_ATTACK_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_2_ATTACK_FB__DOLLAR__ );
    
    CHANNEL_2_RELEASE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_2_RELEASE_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_2_RELEASE_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_2_RELEASE_FB__DOLLAR__ );
    
    CHANNEL_3_METER_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_3_METER_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_3_METER_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_3_METER_FB__DOLLAR__ );
    
    CHANNEL_3_REFERENCE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_3_REFERENCE_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_3_REFERENCE_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_3_REFERENCE_FB__DOLLAR__ );
    
    CHANNEL_3_ATTACK_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_3_ATTACK_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_3_ATTACK_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_3_ATTACK_FB__DOLLAR__ );
    
    CHANNEL_3_RELEASE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_3_RELEASE_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_3_RELEASE_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_3_RELEASE_FB__DOLLAR__ );
    
    CHANNEL_4_METER_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_4_METER_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_4_METER_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_4_METER_FB__DOLLAR__ );
    
    CHANNEL_4_REFERENCE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_4_REFERENCE_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_4_REFERENCE_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_4_REFERENCE_FB__DOLLAR__ );
    
    CHANNEL_4_ATTACK_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_4_ATTACK_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_4_ATTACK_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_4_ATTACK_FB__DOLLAR__ );
    
    CHANNEL_4_RELEASE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHANNEL_4_RELEASE_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHANNEL_4_RELEASE_FB__DOLLAR____AnalogSerialOutput__, CHANNEL_4_RELEASE_FB__DOLLAR__ );
    
    TX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TX__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( TX__DOLLAR____AnalogSerialOutput__, TX__DOLLAR__ );
    
    RX__DOLLAR__ = new Crestron.Logos.SplusObjects.BufferInput( RX__DOLLAR____AnalogSerialInput__, 400, this );
    m_StringInputList.Add( RX__DOLLAR____AnalogSerialInput__, RX__DOLLAR__ );
    
    METERRATE__DOLLAR__ = new UShortParameter( METERRATE__DOLLAR____Parameter__, this );
    m_ParameterList.Add( METERRATE__DOLLAR____Parameter__, METERRATE__DOLLAR__ );
    
    CARD__DOLLAR__ = new UShortParameter( CARD__DOLLAR____Parameter__, this );
    m_ParameterList.Add( CARD__DOLLAR____Parameter__, CARD__DOLLAR__ );
    
    __SPLS_TMPVAR__WAITLABEL_0___Callback = new WaitFunction( __SPLS_TMPVAR__WAITLABEL_0___CallbackFn );
    __SPLS_TMPVAR__WAITLABEL_1___Callback = new WaitFunction( __SPLS_TMPVAR__WAITLABEL_1___CallbackFn );
    
    SUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( SUBSCRIBE__DOLLAR___OnPush_0, false ) );
    UNSUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( UNSUBSCRIBE__DOLLAR___OnPush_1, false ) );
    METER_SUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( METER_SUBSCRIBE__DOLLAR___OnPush_2, false ) );
    METER_SUBSCRIBE__DOLLAR__.OnDigitalRelease.Add( new InputChangeHandlerWrapper( METER_SUBSCRIBE__DOLLAR___OnRelease_3, false ) );
    CHANNEL_1_REFERENCE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_1_REFERENCE__DOLLAR___OnChange_4, false ) );
    CHANNEL_1_ATTACK__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_1_ATTACK__DOLLAR___OnChange_5, false ) );
    CHANNEL_1_RELEASE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_1_RELEASE__DOLLAR___OnChange_6, false ) );
    CHANNEL_2_REFERENCE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_2_REFERENCE__DOLLAR___OnChange_7, false ) );
    CHANNEL_2_ATTACK__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_2_ATTACK__DOLLAR___OnChange_8, false ) );
    CHANNEL_2_RELEASE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_2_RELEASE__DOLLAR___OnChange_9, false ) );
    CHANNEL_3_REFERENCE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_3_REFERENCE__DOLLAR___OnChange_10, false ) );
    CHANNEL_3_ATTACK__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_3_ATTACK__DOLLAR___OnChange_11, false ) );
    CHANNEL_3_RELEASE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_3_RELEASE__DOLLAR___OnChange_12, false ) );
    CHANNEL_4_REFERENCE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_4_REFERENCE__DOLLAR___OnChange_13, false ) );
    CHANNEL_4_ATTACK__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_4_ATTACK__DOLLAR___OnChange_14, false ) );
    CHANNEL_4_RELEASE__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHANNEL_4_RELEASE__DOLLAR___OnChange_15, false ) );
    CHANNEL_1_MUTEON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_1_MUTEON__DOLLAR___OnPush_16, false ) );
    CHANNEL_1_MUTEOFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_1_MUTEOFF__DOLLAR___OnPush_17, false ) );
    CHANNEL_1_MUTETOGGLE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_1_MUTETOGGLE__DOLLAR___OnPush_18, false ) );
    CHANNEL_2_MUTEON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_2_MUTEON__DOLLAR___OnPush_19, false ) );
    CHANNEL_2_MUTEOFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_2_MUTEOFF__DOLLAR___OnPush_20, false ) );
    CHANNEL_2_MUTETOGGLE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_2_MUTETOGGLE__DOLLAR___OnPush_21, false ) );
    CHANNEL_3_MUTEON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_3_MUTEON__DOLLAR___OnPush_22, false ) );
    CHANNEL_3_MUTEOFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_3_MUTEOFF__DOLLAR___OnPush_23, false ) );
    CHANNEL_3_MUTETOGGLE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_3_MUTETOGGLE__DOLLAR___OnPush_24, false ) );
    CHANNEL_4_MUTEON__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_4_MUTEON__DOLLAR___OnPush_25, false ) );
    CHANNEL_4_MUTEOFF__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_4_MUTEOFF__DOLLAR___OnPush_26, false ) );
    CHANNEL_4_MUTETOGGLE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHANNEL_4_MUTETOGGLE__DOLLAR___OnPush_27, false ) );
    RX__DOLLAR__.OnSerialChange.Add( new InputChangeHandlerWrapper( RX__DOLLAR___OnChange_28, false ) );
    
    _SplusNVRAM.PopulateCustomAttributeList( true );
    
    NVRAM = _SplusNVRAM;
    
}
public override void LogosSplusInitialize()
{
    SocketInfo __socketinfo__ = new SocketInfo( 1, this );
    InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
    _SplusNVRAM = new SplusNVRAM( this );
    _SplusNVRAM.RETURNSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 4, this );
    _SplusNVRAM.TEMPSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 40, this );
    
    ENABLE_FEEDBACK__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( ENABLE_FEEDBACK__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( ENABLE_FEEDBACK__DOLLAR____DigitalInput__, ENABLE_FEEDBACK__DOLLAR__ );
    
    DISABLE_FEEDBACK__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( DISABLE_FEEDBACK__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( DISABLE_FEEDBACK__DOLLAR____DigitalInput__, DISABLE_FEEDBACK__DOLLAR__ );
    
    CHAN1_MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHAN1_MUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHAN1_MUTE__DOLLAR____DigitalInput__, CHAN1_MUTE__DOLLAR__ );
    
    CHAN2_MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHAN2_MUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHAN2_MUTE__DOLLAR____DigitalInput__, CHAN2_MUTE__DOLLAR__ );
    
    CHAN3_MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHAN3_MUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHAN3_MUTE__DOLLAR____DigitalInput__, CHAN3_MUTE__DOLLAR__ );
    
    CHAN4_MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHAN4_MUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHAN4_MUTE__DOLLAR____DigitalInput__, CHAN4_MUTE__DOLLAR__ );
    
    CHAN5_MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHAN5_MUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHAN5_MUTE__DOLLAR____DigitalInput__, CHAN5_MUTE__DOLLAR__ );
    
    CHAN6_MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHAN6_MUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHAN6_MUTE__DOLLAR____DigitalInput__, CHAN6_MUTE__DOLLAR__ );
    
    CHAN7_MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHAN7_MUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHAN7_MUTE__DOLLAR____DigitalInput__, CHAN7_MUTE__DOLLAR__ );
    
    CHAN8_MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( CHAN8_MUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( CHAN8_MUTE__DOLLAR____DigitalInput__, CHAN8_MUTE__DOLLAR__ );
    
    MASTEROUT_MUTE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( MASTEROUT_MUTE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( MASTEROUT_MUTE__DOLLAR____DigitalInput__, MASTEROUT_MUTE__DOLLAR__ );
    
    CHAN1_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHAN1_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHAN1_MUTE_FB__DOLLAR____DigitalOutput__, CHAN1_MUTE_FB__DOLLAR__ );
    
    CHAN2_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHAN2_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHAN2_MUTE_FB__DOLLAR____DigitalOutput__, CHAN2_MUTE_FB__DOLLAR__ );
    
    CHAN3_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHAN3_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHAN3_MUTE_FB__DOLLAR____DigitalOutput__, CHAN3_MUTE_FB__DOLLAR__ );
    
    CHAN4_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHAN4_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHAN4_MUTE_FB__DOLLAR____DigitalOutput__, CHAN4_MUTE_FB__DOLLAR__ );
    
    CHAN5_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHAN5_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHAN5_MUTE_FB__DOLLAR____DigitalOutput__, CHAN5_MUTE_FB__DOLLAR__ );
    
    CHAN6_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHAN6_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHAN6_MUTE_FB__DOLLAR____DigitalOutput__, CHAN6_MUTE_FB__DOLLAR__ );
    
    CHAN7_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHAN7_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHAN7_MUTE_FB__DOLLAR____DigitalOutput__, CHAN7_MUTE_FB__DOLLAR__ );
    
    CHAN8_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( CHAN8_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( CHAN8_MUTE_FB__DOLLAR____DigitalOutput__, CHAN8_MUTE_FB__DOLLAR__ );
    
    MASTEROUT_MUTE_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalOutput( MASTEROUT_MUTE_FB__DOLLAR____DigitalOutput__, this );
    m_DigitalOutputList.Add( MASTEROUT_MUTE_FB__DOLLAR____DigitalOutput__, MASTEROUT_MUTE_FB__DOLLAR__ );
    
    CHAN_OFFSET__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHAN_OFFSET__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHAN_OFFSET__DOLLAR____AnalogSerialInput__, CHAN_OFFSET__DOLLAR__ );
    
    CHAN1_VOL__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHAN1_VOL__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHAN1_VOL__DOLLAR____AnalogSerialInput__, CHAN1_VOL__DOLLAR__ );
    
    CHAN2_VOL__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHAN2_VOL__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHAN2_VOL__DOLLAR____AnalogSerialInput__, CHAN2_VOL__DOLLAR__ );
    
    CHAN3_VOL__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHAN3_VOL__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHAN3_VOL__DOLLAR____AnalogSerialInput__, CHAN3_VOL__DOLLAR__ );
    
    CHAN4_VOL__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHAN4_VOL__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHAN4_VOL__DOLLAR____AnalogSerialInput__, CHAN4_VOL__DOLLAR__ );
    
    CHAN5_VOL__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHAN5_VOL__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHAN5_VOL__DOLLAR____AnalogSerialInput__, CHAN5_VOL__DOLLAR__ );
    
    CHAN6_VOL__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHAN6_VOL__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHAN6_VOL__DOLLAR____AnalogSerialInput__, CHAN6_VOL__DOLLAR__ );
    
    CHAN7_VOL__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHAN7_VOL__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHAN7_VOL__DOLLAR____AnalogSerialInput__, CHAN7_VOL__DOLLAR__ );
    
    CHAN8_VOL__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( CHAN8_VOL__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( CHAN8_VOL__DOLLAR____AnalogSerialInput__, CHAN8_VOL__DOLLAR__ );
    
    MASTERVOL__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogInput( MASTERVOL__DOLLAR____AnalogSerialInput__, this );
    m_AnalogInputList.Add( MASTERVOL__DOLLAR____AnalogSerialInput__, MASTERVOL__DOLLAR__ );
    
    CHAN1_VOL_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHAN1_VOL_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHAN1_VOL_FB__DOLLAR____AnalogSerialOutput__, CHAN1_VOL_FB__DOLLAR__ );
    
    CHAN2_VOL_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHAN2_VOL_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHAN2_VOL_FB__DOLLAR____AnalogSerialOutput__, CHAN2_VOL_FB__DOLLAR__ );
    
    CHAN3_VOL_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHAN3_VOL_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHAN3_VOL_FB__DOLLAR____AnalogSerialOutput__, CHAN3_VOL_FB__DOLLAR__ );
    
    CHAN4_VOL_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHAN4_VOL_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHAN4_VOL_FB__DOLLAR____AnalogSerialOutput__, CHAN4_VOL_FB__DOLLAR__ );
    
    CHAN5_VOL_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHAN5_VOL_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHAN5_VOL_FB__DOLLAR____AnalogSerialOutput__, CHAN5_VOL_FB__DOLLAR__ );
    
    CHAN6_VOL_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHAN6_VOL_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHAN6_VOL_FB__DOLLAR____AnalogSerialOutput__, CHAN6_VOL_FB__DOLLAR__ );
    
    CHAN7_VOL_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHAN7_VOL_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHAN7_VOL_FB__DOLLAR____AnalogSerialOutput__, CHAN7_VOL_FB__DOLLAR__ );
    
    CHAN8_VOL_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( CHAN8_VOL_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( CHAN8_VOL_FB__DOLLAR____AnalogSerialOutput__, CHAN8_VOL_FB__DOLLAR__ );
    
    MASTERVOL_FB__DOLLAR__ = new Crestron.Logos.SplusObjects.AnalogOutput( MASTERVOL_FB__DOLLAR____AnalogSerialOutput__, this );
    m_AnalogOutputList.Add( MASTERVOL_FB__DOLLAR____AnalogSerialOutput__, MASTERVOL_FB__DOLLAR__ );
    
    RX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringInput( RX__DOLLAR____AnalogSerialInput__, 400, this );
    m_StringInputList.Add( RX__DOLLAR____AnalogSerialInput__, RX__DOLLAR__ );
    
    TX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TX__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( TX__DOLLAR____AnalogSerialOutput__, TX__DOLLAR__ );
    
    OBJECTID__DOLLAR__ = new StringParameter( OBJECTID__DOLLAR____Parameter__, this );
    m_ParameterList.Add( OBJECTID__DOLLAR____Parameter__, OBJECTID__DOLLAR__ );
    
    __SPLS_TMPVAR__WAITLABEL_0___Callback = new WaitFunction( __SPLS_TMPVAR__WAITLABEL_0___CallbackFn );
    
    CHAN_OFFSET__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHAN_OFFSET__DOLLAR___OnChange_0, false ) );
    ENABLE_FEEDBACK__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( ENABLE_FEEDBACK__DOLLAR___OnPush_1, false ) );
    DISABLE_FEEDBACK__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( DISABLE_FEEDBACK__DOLLAR___OnPush_2, false ) );
    CHAN1_MUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHAN1_MUTE__DOLLAR___OnPush_3, false ) );
    CHAN1_MUTE__DOLLAR__.OnDigitalRelease.Add( new InputChangeHandlerWrapper( CHAN1_MUTE__DOLLAR___OnRelease_4, false ) );
    CHAN2_MUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHAN2_MUTE__DOLLAR___OnPush_5, false ) );
    CHAN2_MUTE__DOLLAR__.OnDigitalRelease.Add( new InputChangeHandlerWrapper( CHAN2_MUTE__DOLLAR___OnRelease_6, false ) );
    CHAN3_MUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHAN3_MUTE__DOLLAR___OnPush_7, false ) );
    CHAN3_MUTE__DOLLAR__.OnDigitalRelease.Add( new InputChangeHandlerWrapper( CHAN3_MUTE__DOLLAR___OnRelease_8, false ) );
    CHAN4_MUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHAN4_MUTE__DOLLAR___OnPush_9, false ) );
    CHAN4_MUTE__DOLLAR__.OnDigitalRelease.Add( new InputChangeHandlerWrapper( CHAN4_MUTE__DOLLAR___OnRelease_10, false ) );
    CHAN5_MUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHAN5_MUTE__DOLLAR___OnPush_11, false ) );
    CHAN5_MUTE__DOLLAR__.OnDigitalRelease.Add( new InputChangeHandlerWrapper( CHAN5_MUTE__DOLLAR___OnRelease_12, false ) );
    CHAN6_MUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHAN6_MUTE__DOLLAR___OnPush_13, false ) );
    CHAN6_MUTE__DOLLAR__.OnDigitalRelease.Add( new InputChangeHandlerWrapper( CHAN6_MUTE__DOLLAR___OnRelease_14, false ) );
    CHAN7_MUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHAN7_MUTE__DOLLAR___OnPush_15, false ) );
    CHAN7_MUTE__DOLLAR__.OnDigitalRelease.Add( new InputChangeHandlerWrapper( CHAN7_MUTE__DOLLAR___OnRelease_16, false ) );
    CHAN8_MUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( CHAN8_MUTE__DOLLAR___OnPush_17, false ) );
    CHAN8_MUTE__DOLLAR__.OnDigitalRelease.Add( new InputChangeHandlerWrapper( CHAN8_MUTE__DOLLAR___OnRelease_18, false ) );
    MASTEROUT_MUTE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( MASTEROUT_MUTE__DOLLAR___OnPush_19, false ) );
    MASTEROUT_MUTE__DOLLAR__.OnDigitalRelease.Add( new InputChangeHandlerWrapper( MASTEROUT_MUTE__DOLLAR___OnRelease_20, false ) );
    CHAN1_VOL__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHAN1_VOL__DOLLAR___OnChange_21, false ) );
    CHAN2_VOL__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHAN2_VOL__DOLLAR___OnChange_22, false ) );
    CHAN3_VOL__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHAN3_VOL__DOLLAR___OnChange_23, false ) );
    CHAN4_VOL__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHAN4_VOL__DOLLAR___OnChange_24, false ) );
    CHAN5_VOL__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHAN5_VOL__DOLLAR___OnChange_25, false ) );
    CHAN6_VOL__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHAN6_VOL__DOLLAR___OnChange_26, false ) );
    CHAN7_VOL__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHAN7_VOL__DOLLAR___OnChange_27, false ) );
    CHAN8_VOL__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( CHAN8_VOL__DOLLAR___OnChange_28, false ) );
    MASTERVOL__DOLLAR__.OnAnalogChange.Add( new InputChangeHandlerWrapper( MASTERVOL__DOLLAR___OnChange_29, false ) );
    RX__DOLLAR__.OnSerialChange.Add( new InputChangeHandlerWrapper( RX__DOLLAR___OnChange_30, false ) );
    
    _SplusNVRAM.PopulateCustomAttributeList( true );
    
    NVRAM = _SplusNVRAM;
    
}
public override void LogosSplusInitialize()
{
    SocketInfo __socketinfo__ = new SocketInfo( 1, this );
    InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
    _SplusNVRAM = new SplusNVRAM( this );
    _SplusNVRAM.TEMPSTRING  = new CrestronString( Crestron.Logos.SplusObjects.CrestronStringEncoding.eEncodingASCII, 40, this );
    
    SUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( SUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( SUBSCRIBE__DOLLAR____DigitalInput__, SUBSCRIBE__DOLLAR__ );
    
    UNSUBSCRIBE__DOLLAR__ = new Crestron.Logos.SplusObjects.DigitalInput( UNSUBSCRIBE__DOLLAR____DigitalInput__, this );
    m_DigitalInputList.Add( UNSUBSCRIBE__DOLLAR____DigitalInput__, UNSUBSCRIBE__DOLLAR__ );
    
    INPUTFOROUTPUT__DOLLAR__ = new InOutArray<AnalogInput>( 96, this );
    for( uint i = 0; i < 96; i++ )
    {
        INPUTFOROUTPUT__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogInput( INPUTFOROUTPUT__DOLLAR____AnalogSerialInput__ + i, INPUTFOROUTPUT__DOLLAR____AnalogSerialInput__, this );
        m_AnalogInputList.Add( INPUTFOROUTPUT__DOLLAR____AnalogSerialInput__ + i, INPUTFOROUTPUT__DOLLAR__[i+1] );
    }
    
    INPUTFOROUTPUT_FB__DOLLAR__ = new InOutArray<AnalogOutput>( 96, this );
    for( uint i = 0; i < 96; i++ )
    {
        INPUTFOROUTPUT_FB__DOLLAR__[i+1] = new Crestron.Logos.SplusObjects.AnalogOutput( INPUTFOROUTPUT_FB__DOLLAR____AnalogSerialOutput__ + i, this );
        m_AnalogOutputList.Add( INPUTFOROUTPUT_FB__DOLLAR____AnalogSerialOutput__ + i, INPUTFOROUTPUT_FB__DOLLAR__[i+1] );
    }
    
    TX__DOLLAR__ = new Crestron.Logos.SplusObjects.StringOutput( TX__DOLLAR____AnalogSerialOutput__, this );
    m_StringOutputList.Add( TX__DOLLAR____AnalogSerialOutput__, TX__DOLLAR__ );
    
    RX__DOLLAR__ = new Crestron.Logos.SplusObjects.BufferInput( RX__DOLLAR____AnalogSerialInput__, 400, this );
    m_StringInputList.Add( RX__DOLLAR____AnalogSerialInput__, RX__DOLLAR__ );
    
    IMAXOUTPUT = new UShortParameter( IMAXOUTPUT__Parameter__, this );
    m_ParameterList.Add( IMAXOUTPUT__Parameter__, IMAXOUTPUT );
    
    OBJECTID__DOLLAR__ = new StringParameter( OBJECTID__DOLLAR____Parameter__, this );
    m_ParameterList.Add( OBJECTID__DOLLAR____Parameter__, OBJECTID__DOLLAR__ );
    
    __SPLS_TMPVAR__WAITLABEL_0___Callback = new WaitFunction( __SPLS_TMPVAR__WAITLABEL_0___CallbackFn );
    
    for( uint i = 0; i < 96; i++ )
        INPUTFOROUTPUT__DOLLAR__[i+1].OnAnalogChange.Add( new InputChangeHandlerWrapper( INPUTFOROUTPUT__DOLLAR___OnChange_0, false ) );
        
    SUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( SUBSCRIBE__DOLLAR___OnPush_1, false ) );
    UNSUBSCRIBE__DOLLAR__.OnDigitalPush.Add( new InputChangeHandlerWrapper( UNSUBSCRIBE__DOLLAR___OnPush_2, false ) );
    RX__DOLLAR__.OnSerialChange.Add( new InputChangeHandlerWrapper( RX__DOLLAR___OnChange_3, false ) );
    
    _SplusNVRAM.PopulateCustomAttributeList( true );
    
    NVRAM = _SplusNVRAM;
    
}
        public override void LogosSplusInitialize()
        {
            SocketInfo __socketinfo__ = new SocketInfo( 1, this );
            InitialParametersClass.ResolveHostName = __socketinfo__.ResolveHostName;
            _SplusNVRAM = new SplusNVRAM( this );

            PROCESS = new Crestron.Logos.SplusObjects.DigitalInput( PROCESS__DigitalInput__, this );
            m_DigitalInputList.Add( PROCESS__DigitalInput__, PROCESS );

            ROOMNAMEVALID = new Crestron.Logos.SplusObjects.DigitalOutput( ROOMNAMEVALID__DigitalOutput__, this );
            m_DigitalOutputList.Add( ROOMNAMEVALID__DigitalOutput__, ROOMNAMEVALID );

            GROUPSINITIALIZED = new Crestron.Logos.SplusObjects.DigitalOutput( GROUPSINITIALIZED__DigitalOutput__, this );
            m_DigitalOutputList.Add( GROUPSINITIALIZED__DigitalOutput__, GROUPSINITIALIZED );

            ROOMOUT = new InOutArray<DigitalOutput>( 72, this );
            for( uint i = 0; i < 72; i++ )
            {
            ROOMOUT[i+1] = new Crestron.Logos.SplusObjects.DigitalOutput( ROOMOUT__DigitalOutput__ + i, this );
            m_DigitalOutputList.Add( ROOMOUT__DigitalOutput__ + i, ROOMOUT[i+1] );
            }

            CURRENTGROUP = new Crestron.Logos.SplusObjects.AnalogOutput( CURRENTGROUP__AnalogSerialOutput__, this );
            m_AnalogOutputList.Add( CURRENTGROUP__AnalogSerialOutput__, CURRENTGROUP );

            GROUPNAMESIN = new InOutArray<StringInput>( 6, this );
            for( uint i = 0; i < 6; i++ )
            {
            GROUPNAMESIN[i+1] = new Crestron.Logos.SplusObjects.StringInput( GROUPNAMESIN__AnalogSerialInput__ + i, GROUPNAMESIN__AnalogSerialInput__, 32, this );
            m_StringInputList.Add( GROUPNAMESIN__AnalogSerialInput__ + i, GROUPNAMESIN[i+1] );
            }

            GROUPLISTIN = new InOutArray<BufferInput>( 6, this );
            for( uint i = 0; i < 6; i++ )
            {
            GROUPLISTIN[i+1] = new Crestron.Logos.SplusObjects.BufferInput( GROUPLISTIN__AnalogSerialInput__ + i, GROUPLISTIN__AnalogSerialInput__, 300, this );
            m_StringInputList.Add( GROUPLISTIN__AnalogSerialInput__ + i, GROUPLISTIN[i+1] );
            }

            PROCESS.OnDigitalPush.Add( new InputChangeHandlerWrapper( PROCESS_OnPush_0, false ) );

            _SplusNVRAM.PopulateCustomAttributeList( true );

            NVRAM = _SplusNVRAM;
        }