public void SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel Channel, bool DesiredMute)
        {
            MuteChannelTable[DvRenderingControl.Enum_A_ARG_TYPE_Channel_ToString(Channel)] = DesiredMute;

            RC_LastChange("Mute", DesiredMute.ToString().ToLower(), "channel", DvRenderingControl.Enum_A_ARG_TYPE_Channel_ToString(Channel));

//			if(Channel==DvRenderingControl.Enum_A_ARG_TYPE_Channel.MASTER)
//			{
//				RC_LastChange("Mute",DesiredMute.ToString().ToLower());
//			}
        }
        public void SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel Channel, UInt16 DesiredVolume)
        {
            string arg = DvRenderingControl.Enum_A_ARG_TYPE_Channel_ToString(Channel);

            VolumeChannelTable[arg] = DesiredVolume;
            RC_LastChange("Volume", DesiredVolume.ToString(), "channel", DvRenderingControl.Enum_A_ARG_TYPE_Channel_ToString(Channel));

/*
 *                      if(Channel==RenderingControl.Enum_A_ARG_TYPE_Channel.MASTER)
 *                      {
 *                              RC_LastChange("Volume",DesiredVolume.ToString());
 *                      }*/
        }
        public UInt16 GetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel Channel)
        {
            string arg = DvRenderingControl.Enum_A_ARG_TYPE_Channel_ToString(Channel);

            return((UInt16)VolumeChannelTable[arg]);
        }
 public bool GetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel Channel)
 {
     return((bool)MuteChannelTable[DvRenderingControl.Enum_A_ARG_TYPE_Channel_ToString(Channel)]);
 }
Exemple #5
0
        protected void SelectPresetSink(System.UInt32 InstanceID, DvRenderingControl.Enum_A_ARG_TYPE_PresetName PresetName)
        {
            if (ID_Table.ContainsKey(InstanceID) == false)
            {
                throw(new UPnPCustomException(802, InstanceID.ToString() + " is not a valid InstanceID"));
            }
            else
            {
                AVConnection c  = (AVConnection)ID_Table[InstanceID];
                bool         OK = false;
                foreach (string preset in c.Presets)
                {
                    if (preset == DvRenderingControl.Enum_A_ARG_TYPE_PresetName_ToString(PresetName))
                    {
                        OK = true;
                        break;
                    }
                }
                if (OK == true)
                {
                    c.CurrentPreset = DvRenderingControl.Enum_A_ARG_TYPE_PresetName_ToString(PresetName);

                    c._SetBlueVideoBlack(100);
                    c._SetBlueVideoGain(100);
                    c._SetBrightness(100);
                    c._SetContrast(100);
                    c._SetGreenVideoBlack(100);
                    c._SetGreenVideoGain(100);
                    c._SetRedVideoBlack(100);
                    c._SetRedVideoGain(100);
                    c._SetSharpness(100);

                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.B, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.CF, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.LF, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.LFC, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.LFE, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.LS, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.MASTER, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.RF, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.RFC, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.RS, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.SD, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.SL, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.SR, false);
                    c._SetMute(DvRenderingControl.Enum_A_ARG_TYPE_Channel.T, false);

                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.B, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.CF, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.LF, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.LFC, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.LFE, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.LS, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.MASTER, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.RF, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.RFC, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.RS, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.SD, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.SL, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.SR, 100);
                    c._SetVolume(DvRenderingControl.Enum_A_ARG_TYPE_Channel.T, 100);
                }
                else
                {
                    throw(new UPnPCustomException(701, DvRenderingControl.Enum_A_ARG_TYPE_PresetName_ToString(PresetName) + " is not a supported preset"));
                }
            }
        }
Exemple #6
0
        public AVRenderer(int MaxConnections, ProtocolInfoString[] Info, ConnectionHandler h)
        {
            ConnectionMax    = MaxConnections;
            OnNewConnection += h;

            InfoStrings         = Info;
            device              = UPnPDevice.CreateEmbeddedDevice(1, Guid.NewGuid().ToString());
            device.FriendlyName = "AVRenderer Device (" + Dns.GetHostName() + ")";

            AVT = new DvAVTransport();
            AVT.GetUPnPService().Major = 1;
            AVT.GetUPnPService().Minor = 0;

            Manager = new DvConnectionManager();
            Manager.GetUPnPService().Major = 1;
            Manager.GetUPnPService().Minor = 0;

            Control = new DvRenderingControl();
            Control.GetUPnPService().Major = 1;
            Control.GetUPnPService().Minor = 0;

            Manager.External_PrepareForConnection     = new DvConnectionManager.Delegate_PrepareForConnection(PrepareForConnectionSink);
            Manager.External_ConnectionComplete       = new DvConnectionManager.Delegate_ConnectionComplete(ConnectionCompleteSink);
            Manager.External_GetCurrentConnectionIDs  = new DvConnectionManager.Delegate_GetCurrentConnectionIDs(GetCurrentConnectionIDsSink);
            Manager.External_GetProtocolInfo          = new DvConnectionManager.Delegate_GetProtocolInfo(GetProtocolInfoSink);
            Manager.External_GetCurrentConnectionInfo = new DvConnectionManager.Delegate_GetCurrentConnectionInfo(GetCurrentConnectionInfoSink);

            Manager.Evented_CurrentConnectionIDs = "";
            //Manager.Evented_PhysicalConnections = "";

            string Sink = "";

            foreach (ProtocolInfoString s in InfoStrings)
            {
                if (Sink == "")
                {
                    Sink = s.ToString();
                }
                else
                {
                    Sink = Sink + "," + s.ToString();
                }
            }

            Manager.Evented_SinkProtocolInfo   = Sink;
            Manager.Evented_SourceProtocolInfo = "";

            AVT.Accumulator_LastChange        = new InstanceID_LastChangeAccumulator("AVT");
            AVT.ModerationDuration_LastChange = 0.5;
            AVT.Evented_LastChange            = "<Event xmlns = "urn:schemas-upnp-org:metadata-1-0/AVT/"/>";

            AVT.External_GetMediaInfo               = new DvAVTransport.Delegate_GetMediaInfo(GetMediaInfoSink);
            AVT.External_GetPositionInfo            = new DvAVTransport.Delegate_GetPositionInfo(GetPositionInfoSink);
            AVT.External_GetTransportInfo           = new DvAVTransport.Delegate_GetTransportInfo(GetTransportInfoSink);
            AVT.External_GetTransportSettings       = new DvAVTransport.Delegate_GetTransportSettings(GetTransportSettingsSink);
            AVT.External_GetDeviceCapabilities      = new DvAVTransport.Delegate_GetDeviceCapabilities(GetDeviceCapabilitiesSink);
            AVT.External_GetCurrentTransportActions = new DvAVTransport.Delegate_GetCurrentTransportActions(GetCurrentTransportActionsSink);

            AVT.External_Play                  = new DvAVTransport.Delegate_Play(PlaySink);
            AVT.External_Stop                  = new DvAVTransport.Delegate_Stop(StopSink);
            AVT.External_Pause                 = new DvAVTransport.Delegate_Pause(PauseSink);
            AVT.External_Record                = new DvAVTransport.Delegate_Record(RecordSink);
            AVT.External_Previous              = new DvAVTransport.Delegate_Previous(PreviousSink);
            AVT.External_Next                  = new DvAVTransport.Delegate_Next(NextSink);
            AVT.External_Seek                  = new DvAVTransport.Delegate_Seek(SeekSink);
            AVT.External_SetAVTransportURI     = new DvAVTransport.Delegate_SetAVTransportURI(SetAVTransportURISink);
            AVT.External_SetNextAVTransportURI = new DvAVTransport.Delegate_SetNextAVTransportURI(SetNextAVTransportURISink);
            AVT.External_SetPlayMode           = new DvAVTransport.Delegate_SetPlayMode(SetPlayModeSink);
            AVT.External_SetRecordQualityMode  = new DvAVTransport.Delegate_SetRecordQualityMode(SetRecordQualityModeSink);
            AVT.External_Record                = new DvAVTransport.Delegate_Record(RecordSink);

            Control.Evented_LastChange = "<Event xmlns = "urn:schemas-upnp-org:metadata-1-0/RCS/"/>";

            Control.Accumulator_LastChange        = new InstanceID_LastChangeAccumulator("RCS");
            Control.ModerationDuration_LastChange = 1;

            Control.External_GetMute   = new DvRenderingControl.Delegate_GetMute(GetMuteSink);
            Control.External_SetMute   = new DvRenderingControl.Delegate_SetMute(SetMuteSink);
            Control.External_GetVolume = new DvRenderingControl.Delegate_GetVolume(GetVolumeSink);
            Control.External_SetVolume = new DvRenderingControl.Delegate_SetVolume(SetVolumeSink);
            Control.External_GetBlueVideoBlackLevel  = new DvRenderingControl.Delegate_GetBlueVideoBlackLevel(GetBlueVideoBlackSink);
            Control.External_GetBlueVideoGain        = new DvRenderingControl.Delegate_GetBlueVideoGain(GetBlueVideoGainSink);
            Control.External_SetBlueVideoBlackLevel  = new DvRenderingControl.Delegate_SetBlueVideoBlackLevel(SetBlueVideoBlackSink);
            Control.External_SetBlueVideoGain        = new DvRenderingControl.Delegate_SetBlueVideoGain(SetBlueVideoGainSink);
            Control.External_GetGreenVideoBlackLevel = new DvRenderingControl.Delegate_GetGreenVideoBlackLevel(GetGreenVideoBlackSink);
            Control.External_GetGreenVideoGain       = new DvRenderingControl.Delegate_GetGreenVideoGain(GetGreenVideoGainSink);
            Control.External_SetGreenVideoBlackLevel = new DvRenderingControl.Delegate_SetGreenVideoBlackLevel(SetGreenVideoBlackSink);
            Control.External_SetGreenVideoGain       = new DvRenderingControl.Delegate_SetGreenVideoGain(SetGreenVideoGainSink);
            Control.External_GetRedVideoBlackLevel   = new DvRenderingControl.Delegate_GetRedVideoBlackLevel(GetRedVideoBlackSink);
            Control.External_GetRedVideoGain         = new DvRenderingControl.Delegate_GetRedVideoGain(GetRedVideoGainSink);
            Control.External_SetRedVideoBlackLevel   = new DvRenderingControl.Delegate_SetRedVideoBlackLevel(SetRedVideoBlackSink);
            Control.External_SetRedVideoGain         = new DvRenderingControl.Delegate_SetRedVideoGain(SetRedVideoGainSink);
            Control.External_GetBrightness           = new DvRenderingControl.Delegate_GetBrightness(GetBrightnessSink);
            Control.External_SetBrightness           = new DvRenderingControl.Delegate_SetBrightness(SetBrightnessSink);
            Control.External_GetContrast             = new DvRenderingControl.Delegate_GetContrast(GetContrastSink);
            Control.External_SetContrast             = new DvRenderingControl.Delegate_SetContrast(SetContrastSink);
            Control.External_GetSharpness            = new DvRenderingControl.Delegate_GetSharpness(GetSharpnessSink);
            Control.External_SetSharpness            = new DvRenderingControl.Delegate_SetSharpness(SetSharpnessSink);


            Control.External_ListPresets  = new DvRenderingControl.Delegate_ListPresets(ListPresetsSink);
            Control.External_SelectPreset = new DvRenderingControl.Delegate_SelectPreset(SelectPresetSink);

            device.Manufacturer       = "OpenSource";
            device.ManufacturerURL    = "";
            device.PresentationURL    = "/";
            device.HasPresentation    = false;
            device.ModelName          = "Renderer";
            device.ModelDescription   = "AV Media Renderer Device";
            device.ModelURL           = new Uri("http://www.sourceforge.org");
            device.StandardDeviceType = "MediaRenderer";

            device.AddService(Manager);
            device.AddService(Control);
            device.AddService(AVT);

            if (ConnectionMax == 0)
            {
                Manager.Evented_CurrentConnectionIDs = "0";
                CurrentConnections = 1;
                AVConnection c = new AVConnection(this, "", "/", -1, DvConnectionManager.Enum_A_ARG_TYPE_Direction.INPUT, 0, 0, 0);
                c.Parent            = this;
                c._WhoCreatedMe     = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 0);
                ID_Table[(UInt32)0] = c;
                if (h != null)
                {
                    h(this, c);
                }
            }
        }