private void onMuteChanged(RaumFeldEvent args) { if (args.ChangedValues.TryGetValue("val", out string mute)) { ZoneMute = (mute == "1"); } }
private void onVolumeChanged(RaumFeldEvent args) { if (args.ChangedValues.TryGetValue("val", out string volume)) { ZoneVolume = (double.Parse(volume)); } }
private void onRoomStatesChanged(RaumFeldEvent args) { // val = "uuid:29e07ad9-224f-4160-a2bc-61d17845182a=PLAYING" /> string[] stringSeparators = new string[] { "=", "," }; string[] splitValue = new string[0]; if (args.ChangedValues.TryGetValue("val", out string roomstates)) { splitValue = roomstates.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries); if ((RoomViewModels?.Count() ?? 0) == 0 || (splitValue?.Count() ?? 0) == 0) { return; } IRoomViewModel room = RoomViewModels.Select(r => r).Where(r => r.Udn == splitValue[0]).FirstOrDefault(); if (room != null) { switch (splitValue[1]) { case "PLAYING": break; case "STOPPED": break; case "TRANSITIONING": break; default: break; } } } }
private void onCurrentTrackURIChanged(RaumFeldEvent args) { // val = "http://192.168.0.18:37665/redirect?uri=smb%3A%2F%2Fjc-station%2Fmusic%2F%2FMP3%2FThe%2520Notwist%2F12%2F07%2520The%2520String.mp3" /> //if (args.ChangedValuea.TryGetValue("val", out string currenttrackuri)) //{ // Get Content?! //} }
private void onCurrentTrackChanged(RaumFeldEvent args) { // val = "7" /> if (args.ChangedValues.TryGetValue("val", out string currenttrack) && currenttrack != "0") { CurrentTrack = Int32.Parse(currenttrack); } }
private void onAVTransportURIChanged(RaumFeldEvent args) { // val = "dlna-playcontainer://uuid%3A1a636014-b38f-420e-8456-3792ba3279e4?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FMy Music%2FAlbums%2FThe%2520Notwist+12&md=0&fii=0" /> //if (e.Value.ChangedValues.TryGetValue("val", out string avtransporturi)) //{ // // Get Content?! //} }
private void onNumberOfTracksChanged(RaumFeldEvent args) { // val = "9" /> if (args.ChangedValues.TryGetValue("val", out string numberoftracks)) { NumberOfTracks = Int32.Parse(numberoftracks); } }
private void onCurrentTrackMetaDataChanged(RaumFeldEvent args) { // val = "<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:raumfeld="urn:schemas-raumfeld-com:meta-data/raumfeld" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" lang="en"><item parentID="0/My Music/Albums/The%20Notwist+12" id="0/My Music/Albums/The%20Notwist+12/75725c9134fd69b824706f8a3b3030c4" restricted="1"><raumfeld:name>Track</raumfeld:name><upnp:class>object.item.audioItem.musicTrack</upnp:class><raumfeld:section>My Music</raumfeld:section><dc:title>The String</dc:title><upnp:album>12</upnp:album><upnp:artist>The Notwist</upnp:artist><upnp:genre>Punk Rock</upnp:genre><dc:creator>The Notwist</dc:creator><upnp:originalTrackNumber>7</upnp:originalTrackNumber><dc:date>1995-01-01</dc:date><upnp:albumArtURI dlna:profileID="JPEG_TN">http://192.168.0.18:47366/?artist=The%20Notwist&amp;albumArtist=The%20Notwist&amp;album=12&amp;track=The%20String</upnp:albumArtURI><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3" size="5636735" duration="0:04:31.000" bitrate="163840" sampleFrequency="44100" nrAudioChannels="2" sourceName="music on jc-station" sourceType="smb" sourceID="uuid:39cb689d-3804-43da-a14e-21102a1f50ec">http://192.168.0.18:37665/redirect?uri=smb%3A%2F%2Fjc-station%2Fmusic%2F%2FMP3%2FThe%2520Notwist%2F12%2F07%2520The%2520String.mp3</res></item></DIDL-Lite>" /> if (args.ChangedValues.TryGetValue("val", out string currenttrackmetadata)) { DIDLLite didl = currenttrackmetadata.Deserialize <DIDLLite>(); if ((didl?.Items?.Count() ?? 0) != 0) { CurrentTrackMetaData = PrismUnityApplication.Current.Container.Resolve <ElementItem>(new ResolverOverride[] { new ParameterOverride("didl", didl?.Items?.FirstOrDefault()) }); AlbumArtUri = CurrentTrackMetaData.AlbumArtUri; setSelection(CurrentTrackMetaData); } } }
private async void onAVTransportURIMetaDataChanged(RaumFeldEvent args) { // val = "<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:raumfeld="urn:schemas-raumfeld-com:meta-data/raumfeld" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" lang="en"><container parentID="0/My Music/Albums" id="0/My Music/Albums/The%20Notwist+12" restricted="1" childCount="9"><raumfeld:name>Album</raumfeld:name><upnp:class>object.container.album.musicAlbum</upnp:class><raumfeld:section>My Music</raumfeld:section><upnp:artist>The Notwist</upnp:artist><dc:date>1995</dc:date><upnp:album>12</upnp:album><upnp:albumArtURI dlna:profileID="JPEG_TN">http://192.168.0.18:47366/?albumArtist=The%20Notwist&amp;album=12</upnp:albumArtURI><raumfeld:totalPlaytime>0:39:07</raumfeld:totalPlaytime><dc:title>12</dc:title></container></DIDL-Lite>" /> if (args.ChangedValues.TryGetValue("val", out string avtransporturimetadata)) { DIDLLite didl = avtransporturimetadata.Deserialize <DIDLLite>(); if ((didl?.Containers?.Count() ?? 0) != 0) { if (await raumFeldService.BrowseChildren(ZoneViewModelTracks, didl.Containers?.First().Id, true)) { setSelection(CurrentTrackMetaData); } else { ZoneViewModelTracks.Clear(); } } } }
private void onCurrentTransportActionsChanged(RaumFeldEvent args) { // val = "Next,Pause,Previous,Repeat,Seek,Shuffle,Stop" /> string[] stringSeparators = new string[] { "=", "," }; string[] splitValue = new string[0]; if (args.ChangedValues.TryGetValue("val", out string currenttransportactions)) { if (!string.IsNullOrEmpty(currenttransportactions)) { // Split delimited by another string and return all non-empty elements. splitValue = currenttransportactions.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries); resetPlayState(); setPlayState(splitValue); } } }
private void onPowerStateChanged(RaumFeldEvent args) { if (args.ChangedValues.TryGetValue("val", out string powerstate)) { switch (powerstate) { case "ACTIVE": IsActive = true; break; case "AUTOMATIC_STANDBY": case "MANUAL_STANDBY": IsActive = false; break; default: break; } } }
private void onCurrentPlayModeChanged(RaumFeldEvent args) { // val = "REPEAT_ALL" /> if (args.ChangedValues.TryGetValue("val", out string currentplaymode)) { resetPlayMode(); switch (currentplaymode.ToUpper()) { case "NORMAL": IsNormal = true; break; case "SHUFFLE": IsShuffle = true; break; case "REPEAT_ONE": IsRepeatOne = true; break; case "REPEAT_ALL": IsRepeatAll = true; break; case "RANDOM": IsRandom = true; break; case "DIRECT_1": IsDirektOne = true; break; case "INTRO": IsIntro = true; break; default: break; } } }
private void onRoomVolumesChanged(RaumFeldEvent args) { //val = "uuid:29e07ad9-224f-4160-a2bc-61d17845182a=100" /> string[] stringSeparators = new string[] { "=", "," }; string[] splitValue = new string[0]; if (args.ChangedValues.TryGetValue("val", out string volume)) { // Split delimited by another string and return all non-empty elements. splitValue = volume.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries); if ((RoomViewModels?.Count() ?? 0) == 0) { return; } IRoomViewModel room = RoomViewModels.Select(r => r).Where(r => r.Udn == splitValue[0]).FirstOrDefault(); if (room != null) { room.RoomVolume = double.Parse(splitValue[1]); } } }
private async void onSystemUpdateIDChanged(RaumFeldEvent args) { IsTuneInAvailable = await raumFeldService.GetTuneInState(); }