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)]); }
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")); } } }
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); } } }